/* USER CODE BEGIN WHILE */
while (1)
{
- if (rx_packet_state == 1 && !tx_packet_state)
+ static byte led_state;
+ if (led_state)
+ {
+ LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin);
+ LL_GPIO_SetOutputPin(SSR1_GPIO_Port, SSR1_Pin);
+ LL_GPIO_SetOutputPin(SSR2_GPIO_Port, SSR2_Pin);
+ LL_GPIO_SetOutputPin(SSR3_GPIO_Port, SSR3_Pin);
+ LL_GPIO_SetOutputPin(SSR4_GPIO_Port, SSR4_Pin);
+ }
+ else
{
- static byte led_state;
- if (led_state)
- LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin);
- else
- LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin);
- led_state ^= 1;
+ LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin);
+ static byte xxx;
+ switch (xxx)
+ {
+ case 0:
+ LL_GPIO_ResetOutputPin(SSR1_GPIO_Port, SSR1_Pin);
+ break;
+ case 1:
+ LL_GPIO_ResetOutputPin(SSR2_GPIO_Port, SSR2_Pin);
+ break;
+ case 2:
+ LL_GPIO_ResetOutputPin(SSR3_GPIO_Port, SSR3_Pin);
+ break;
+ case 3:
+ LL_GPIO_ResetOutputPin(SSR4_GPIO_Port, SSR4_Pin);
+ break;
+ }
+ xxx = (xxx+1) % 4;
+ }
+ led_state ^= 1;
+ if (rx_packet_state == 1 && !tx_packet_state)
+ {
tx_packet_state = 1;
put_u32_be(tx_packet, 42);
usb_ep_send(&usb, 0x82, tx_packet, 12);
// debug_printf("Counter = %d\n", cnt);
- __WFI();
+ //__WFI();
+ LL_mDelay(1000);
/* USER CODE END WHILE */
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB);
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
- /**/
- LL_GPIO_ResetOutputPin(LED_GPIO_Port, LED_Pin);
+ /* LED output is OC, active low, defaults to high */
+ LL_GPIO_SetOutputPin(LED_GPIO_Port, LED_Pin);
- /**/
- LL_GPIO_ResetOutputPin(GPIOB, SSR3_Pin|SSR4_Pin|SSR1_Pin|SSR2_Pin);
+ /* SSR outputs are OC, active low, default to high */
+ LL_GPIO_SetOutputPin(GPIOB, SSR3_Pin|SSR4_Pin|SSR1_Pin|SSR2_Pin);
/**/
GPIO_InitStruct.Pin = LED_Pin;