]> mj.ucw.cz Git - home-hw.git/blobdiff - Src/main.c
More I2C debugging
[home-hw.git] / Src / main.c
index bb225b2362046e2cdaf17476e555569404db85cf..7b5b75d0e3921e514183d9feb8bd79c6cdc78492 100644 (file)
@@ -73,8 +73,6 @@ static void MX_TIM4_Init(void);
 /* USER CODE END PFP */
 
 /* USER CODE BEGIN 0 */
-byte rx_display[8];
-volatile byte rx_display_ready;
 
 /* USER CODE END 0 */
 
@@ -125,17 +123,20 @@ int main(void)
   MX_USB_PCD_Init();
   MX_TIM4_Init();
   /* USER CODE BEGIN 2 */
-  display_init();
+  //display_init();
   usb_start(&usb);
+  bmp_init();
 
   LL_TIM_EnableCounter(TIM4);
   LL_TIM_EnableIT_UPDATE(TIM4);
   LL_TIM_GenerateEvent_UPDATE(TIM4);
 
+#if 0
   {
     byte buf[5] = { 0xff, 0xff, 10, 0xff, 0xff };
     display_buffer(buf);
   }
+#endif
 
   /* USER CODE END 2 */
 
@@ -143,21 +144,8 @@ int main(void)
   /* USER CODE BEGIN WHILE */
   while (1)
   {
-    __disable_irq();
-    if (rx_display_ready)
+    if (rx_packet_state == 1 && !tx_packet_state)
       {
-       byte rx[8];
-       rx_display_ready = 0;
-       memcpy(rx, rx_display, 8);
-       __enable_irq();
-       display_buffer(rx);
-      }
-    else
-      __enable_irq();
-
-    // debug_printf("Counter = %d\n", cnt);
-    // display_counter(cnt);
-
     static byte led_state;
     if (led_state)
       LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin);
@@ -165,6 +153,22 @@ int main(void)
       LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin);
     led_state ^= 1;
 
+       // display_buffer(rx_packet);
+       tx_packet_state = 1;
+       tx_packet[0] = adjusted_temp >> 8;
+       tx_packet[1] = adjusted_temp & 0xff;
+       tx_packet[2] = adjusted_press >> 8;
+       tx_packet[3] = adjusted_press & 0xff;
+       usb_ep_send(&usb, 0x82, tx_packet, 8);
+       rx_packet_state = 0;
+       usb_ep_receive(&usb, 0x01, rx_packet, 64);
+      }
+
+    bmp_step();
+
+    // debug_printf("Counter = %d\n", cnt);
+    // display_counter(cnt);
+
     __WFI();
 
   /* USER CODE END WHILE */