From 9bbf1d200534cd946c4776e29457f989147b45b2 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 19 Feb 2019 18:08:31 +0000 Subject: everything working, even with fucked phy --- app/main.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 62 insertions(+), 22 deletions(-) (limited to 'app/main.c') diff --git a/app/main.c b/app/main.c index 368839c..984e74b 100644 --- a/app/main.c +++ b/app/main.c @@ -1,23 +1,31 @@ #include "project.h" +int time_known; + static void cmd_dispatch() { -uint8_t c; -while (!ring_read_byte(&rx1_ring,&c)) { + uint8_t c; - printf("KEY> %c\r\n",c); + while (!ring_read_byte (&rx1_ring, &c)) { -switch(c) { + printf ("KEY> %c\r\n", c); + switch (c) { case 'R': - gps_reset (); + scb_reset_system(); + + break; + + case 'G': + gps_reset(); break; + case 'A': - gps_almanac (); + gps_almanac(); break; -} -} + } + } } @@ -25,22 +33,29 @@ static void board_setup (void) { rcc_clock_setup_hse_3v3 (&hse_8mhz_3v3[CLOCK_3V3_168MHZ]); + rcc_periph_clock_enable (RCC_SYSCFG); rcc_periph_clock_enable (RCC_GPIOA); rcc_periph_clock_enable (RCC_GPIOB); rcc_periph_clock_enable (RCC_GPIOC); rcc_periph_clock_enable (RCC_GPIOD); + rcc_periph_clock_enable (RCC_GPIOE); rcc_periph_clock_enable (RCC_USART1); rcc_periph_clock_enable (RCC_USART3); - rcc_periph_clock_enable (RCC_SYSCFG); + rcc_periph_clock_enable (RCC_ETHMAC); + rcc_periph_clock_enable (RCC_ETHMACTX); + rcc_periph_clock_enable (RCC_ETHMACRX); + rcc_periph_clock_enable (RCC_ETHMACPTP); + - nvic_set_priority (NVIC_EXTI2_IRQ, 0); - nvic_set_priority (NVIC_EXTI0_IRQ, 1); - nvic_set_priority (NVIC_EXTI15_10_IRQ, 2); - nvic_set_priority (NVIC_USART1_IRQ, 3); - nvic_set_priority (NVIC_ETH_IRQ, 4); - nvic_set_priority (NVIC_SYSTICK_IRQ, 5) ; + nvic_set_priority (NVIC_EXTI2_IRQ, 0x0); + nvic_set_priority (NVIC_EXTI0_IRQ, 0x10); + nvic_set_priority (NVIC_EXTI15_10_IRQ, 0x20); + nvic_set_priority (NVIC_USART1_IRQ, 0x30); + nvic_set_priority (NVIC_USART3_IRQ, 0x30); + nvic_set_priority (NVIC_ETH_IRQ, 0x40); + nvic_set_priority (NVIC_SYSTICK_IRQ, 0x50); } @@ -51,6 +66,7 @@ system_init (void) board_setup(); led_init(); ticker_init(); + usart_init(); msf_init(); @@ -61,7 +77,7 @@ system_init (void) printf ("STETH\r\n"); steth_init(); - //gps_init(); + gps_init(); } @@ -74,17 +90,41 @@ main (void) printf ("Boot\r\n"); +#if 0 + while (1) { + uint32_t now = SCS_DWT_CYCCNT; + uint64_t abs= abs_extend (now); + EPOCH e = pll_decompose (abs); + time_print_epoch ("TEST: ", e); + delay_ms(100); +} +#endif + + + + + while (1) { -// msf_dispatch(); -// dcf77_dispatch(); +#if 0 + { + uint32_t now = SCS_DWT_CYCCNT; + uint64_t abs= abs_extend (now); + EPOCH e = pll_decompose (abs); + time_print_epoch ("TEST: ", e); + delay_ms(100); + } - //gps_dispatch(); - - cmd_dispatch(); + abs_meh(); +#endif + + msf_dispatch(); + dcf77_dispatch(); + + gps_dispatch(); + cmd_dispatch(); dispatch_lwip(); - steth_dispatch(); } -- cgit v1.2.3