/* USER CODE END PFP */
/* USER CODE BEGIN 0 */
-byte rx_display[8];
-volatile byte rx_display_ready;
/* USER CODE END 0 */
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 */
/* 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);
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 */