Working with CDC

This commit is contained in:
StefansE
2026-03-28 19:42:11 +01:00
parent 695b0340ad
commit 21874c4455
38 changed files with 13445 additions and 7520 deletions

View File

@@ -7,7 +7,8 @@
#include "myComms.h"
#include "usart.h"
#include "usbd_cdc_if.h"
// #include "usart.h"
#include "clock.h"
#include "stdio.h"
@@ -32,6 +33,7 @@ static uint8_t ok[] = "OK\n";
uint8_t myId[] = "Clock\n";
uint8_t UART_RxBuf[6] = {0};
uint8_t RxComplete_fl = 0;
void (*commands[])(uint32_t) = {
cmd_WhoAmI,
@@ -42,9 +44,17 @@ void (*commands[])(uint32_t) = {
cmd_setColour_second
};
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart){
cmd_UART_Request();
void setRxFlag(void){
RxComplete_fl = 1;
}
void RxCpltCallback(){
if(RxComplete_fl == 1){
RxComplete_fl = 0;
cmd_UART_Request();
}
}
@@ -54,9 +64,6 @@ void cmd_UART_Request(void){
cmd_RunCommand((uint8_t) msg->cmdId, (uint32_t*) &msg->bytes);
// HAL_UART_Transmit(&huart2, (uint8_t*) msg, sizeof(*msg), 1000);
// HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
}
@@ -73,7 +80,7 @@ void cmd_RunCommand(commands_e cmd, uint32_t* input){
void cmd_WhoAmI(uint32_t){
HAL_UART_Transmit(&huart2, myId, sizeof(myId), 1000);
CDC_Transmit_FS(myId, sizeof(myId));
}
@@ -89,7 +96,7 @@ void cmd_SetTime(uint32_t time){
ds1307_set_minutes(m);
ds1307_set_second(s);
HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
CDC_Transmit_FS(ok, sizeof(ok));
}
@@ -111,7 +118,7 @@ void cmd_GetTime(uint32_t time){
msg[5] = 44;
HAL_UART_Transmit(&huart2, msg, sizeof(msg), 1000);
CDC_Transmit_FS(msg, sizeof(msg));
}
void cmd_setColour_hour(uint32_t colour){
@@ -124,7 +131,7 @@ void cmd_setColour_hour(uint32_t colour){
clock_setColourHours(r, g, b);
HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
CDC_Transmit_FS(ok, sizeof(ok));
}
void cmd_setColour_minute(uint32_t colour){
@@ -137,7 +144,7 @@ void cmd_setColour_minute(uint32_t colour){
clock_setColourMinutes(r, g, b);
HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
CDC_Transmit_FS(ok, sizeof(ok));
}
void cmd_setColour_second(uint32_t colour){
@@ -150,7 +157,7 @@ void cmd_setColour_second(uint32_t colour){
clock_setColourSeconds(r, g, b);
HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
CDC_Transmit_FS(ok, sizeof(ok));
}
void cmd_setColour_background(uint32_t colour){
@@ -163,5 +170,5 @@ void cmd_setColour_background(uint32_t colour){
clock_setColourBackground(r, g, b);
HAL_UART_Transmit(&huart2, ok, sizeof(ok), 1000);
CDC_Transmit_FS(ok, sizeof(ok));
}