void show_boot_progress(int status) { printf ("Status: %d\n", status); led_red_off(); led_blue_off(); if (status < -2 ) { led_red_on(); return; } switch(status){ case -1: /* Image Header has bad magic number */ led_red_on(); break; case 1: break; case 2: break; case 3: break; case 4: break; case 5: case 6: break; case 7: case 8: /* Image Type check ok */ led_blue_on(); break; case 9: case 10: case 11: case 12: case 13: case 14: case 15: /* All preparation done, transferring control to OS */ led_blue_on(); break; default: break; } }
// Receive message from the CAN bus (blocking) uint32_t can_rx(CanRxMsgTypeDef *rx_msg, uint32_t timeout) { uint32_t status; can_handle.pRxMsg = rx_msg; status = HAL_CAN_Receive(&can_handle, CAN_FIFO0, timeout); led_blue_on(); return status; }
void toggle_leds() { if(state == 0 ) { led_green_on(); led_blue_off(); state = 1; } else { led_green_off(); led_blue_on(); state = 0; } }
int window_fan() { rcc_config(); delay_config(); led_debug_config(); motor_config(); led_blue_off(); led_green_off(); servo_config(); servo_set_pos(0); servo_start(); u32 i; u32 from = 0; u32 to = 180; u32 delay = 2000; while(1) { motor_forward(); led_blue_on(); led_green_off(); for(i=from; i<to; i++) { servo_set_pos(i); delay_ms(delay); } led_blue_off(); led_green_on(); for(i=to; i>from; i--) { servo_set_pos(i); delay_ms(delay); } motor_stop(); delay_ms(10000); } }
int reader_test() { rcc_config(); led_debug_config(); motor_config(); reed_config(); led_blue_off(); led_green_off(); uint8_t i; while(1) { // forward motor_forward(); led_blue_on(); reed_delay_left(); // stop motor_stop(); led_blue_off(); bigDelay(); bigDelay(); bigDelay(); // backward motor_back(); led_green_on(); reed_delay_right(); // stop motor_stop(); led_green_off(); bigDelay(); bigDelay(); bigDelay(); } }
// Start the CAN peripheral void can_enable(void) { if (bus_state == OFF_BUS) { can_handle.Init.Prescaler = prescaler; can_handle.Init.Mode = CAN_MODE_NORMAL; can_handle.Init.SJW = CAN_SJW_1TQ; can_handle.Init.BS1 = CAN_BS1_4TQ; can_handle.Init.BS2 = CAN_BS2_3TQ; can_handle.Init.TTCM = DISABLE; can_handle.Init.ABOM = ENABLE; can_handle.Init.AWUM = DISABLE; can_handle.Init.NART = can_nart; can_handle.Init.RFLM = DISABLE; can_handle.Init.TXFP = DISABLE; can_handle.pTxMsg = NULL; HAL_CAN_Init(&can_handle); HAL_CAN_ConfigFilter(&can_handle, &filter); bus_state = ON_BUS; led_blue_on(); } }