testing new usb command to save scene

This commit is contained in:
2024-04-18 21:59:22 +02:00
parent 64631ea08f
commit 7a8b840747
5 changed files with 19 additions and 5 deletions

View File

@@ -26,6 +26,7 @@ const osThreadAttr_t LightTask_attr = {
static cls_light_GlobalBrightness msg_cls_light_GlobalBrightness; static cls_light_GlobalBrightness msg_cls_light_GlobalBrightness;
static cls_light_GlobalTheme msg_cls_light_GlobalTheme; static cls_light_GlobalTheme msg_cls_light_GlobalTheme;
static cls_light_ThemeSettings msg_cls_light_ThemeSettings; static cls_light_ThemeSettings msg_cls_light_ThemeSettings;
static cls_light_SaveThemeSettings msg_cls_light_SaveThemeSettings;
static volatile struct LightSettings_s { static volatile struct LightSettings_s {
volatile uint8_t brightness; volatile uint8_t brightness;
@@ -73,7 +74,7 @@ void DataClbk_cls_light_GlobalBrightness(void* msg, uint32_t length) {
} }
void DataClbk_cls_light_GlobalTheme(void* msg, uint32_t length) { void DataClbk_cls_light_GlobalTheme(void* msg, uint32_t length) {
DATA_CLBK_SETUP(cls_light_ThemeSettings); DATA_CLBK_SETUP(cls_light_GlobalTheme);
lightSettings.theme = msg_cls_light_GlobalTheme.theme; lightSettings.theme = msg_cls_light_GlobalTheme.theme;
settingChangeTime = osKernelGetTickCount(); settingChangeTime = osKernelGetTickCount();
} }
@@ -95,3 +96,13 @@ void DataClbk_cls_light_ThemeSettings(void* msg, uint32_t length) {
CLS_BSP_CAN_AddMessageToSend(&can_header, (uint8_t*)&data); CLS_BSP_CAN_AddMessageToSend(&can_header, (uint8_t*)&data);
} }
void DataClbk_cls_light_SaveThemeSettings(void* msg, uint32_t length) {
DATA_CLBK_SETUP(cls_light_SaveThemeSettings);
uint8_t device = msg_cls_light_SaveThemeSettings.deviceId & 0x1F;
uint16_t msg_light_setting = GENERATE_CLS_ADDRESS(CLS_CODE_CONFIG, device, 4);
CLS_BSP_TxHeaderType can_header = CREATE_BSP_CAN_HEADER(msg_light_setting, CLS_BSP_DLC_BYTES_1);
CLS_BSP_CAN_AddMessageToSend(&can_header, (uint8_t*)"X");
}

View File

@@ -58,6 +58,8 @@ union {
cls_light_GlobalBrightness msg_cls_light_GlobalBrightness; cls_light_GlobalBrightness msg_cls_light_GlobalBrightness;
cls_light_GlobalTheme msg_cls_light_GlobalTheme; cls_light_GlobalTheme msg_cls_light_GlobalTheme;
cls_light_ThemeSettings msg_cls_light_ThemeSettings; cls_light_ThemeSettings msg_cls_light_ThemeSettings;
cls_light_SaveThemeSettings msg_cls_light_SaveThemeSettings;
} mem_msg_decode; } mem_msg_decode;
@@ -112,6 +114,7 @@ message_handler_t message_handlers[] = {
MESSAGE_HANDLER(cls_usb_PackageType_LIGHT_GLOBAL_BRIGHT, cls_light_GlobalBrightness), MESSAGE_HANDLER(cls_usb_PackageType_LIGHT_GLOBAL_BRIGHT, cls_light_GlobalBrightness),
MESSAGE_HANDLER(cls_usb_PackageType_LIGHT_GLOBAL_THEME, cls_light_GlobalTheme), MESSAGE_HANDLER(cls_usb_PackageType_LIGHT_GLOBAL_THEME, cls_light_GlobalTheme),
MESSAGE_HANDLER(cls_usb_PackageType_LIGHT_SETTING_THEME, cls_light_ThemeSettings), MESSAGE_HANDLER(cls_usb_PackageType_LIGHT_SETTING_THEME, cls_light_ThemeSettings),
MESSAGE_HANDLER(cls_usb_PackageType_LIGHT_SETTING_THEME_SAVE, cls_light_SaveThemeSettings),
}; };

View File

@@ -132,7 +132,7 @@ void DataClbk_cls_device_RequestList(void* msg, uint32_t length);
void DataClbk_cls_light_GlobalBrightness(void* msg, uint32_t length); void DataClbk_cls_light_GlobalBrightness(void* msg, uint32_t length);
void DataClbk_cls_light_GlobalTheme(void* msg, uint32_t length); void DataClbk_cls_light_GlobalTheme(void* msg, uint32_t length);
void DataClbk_cls_light_ThemeSettings(void* msg, uint32_t length); void DataClbk_cls_light_ThemeSettings(void* msg, uint32_t length);
void DataClbk_cls_light_SaveThemeSettings(void* msg, uint32_t length);
#include "usb.pb.h" #include "usb.pb.h"
void USBDataResonse(void * msg, const pb_msgdesc_t *fields, cls_usb_PackageType typeid); void USBDataResonse(void * msg, const pb_msgdesc_t *fields, cls_usb_PackageType typeid);

2
proto

Submodule proto updated: 68005c6b87...3937207744

View File

@@ -11,7 +11,7 @@ if __name__ == "__main__":
ser = setup_connection() ser = setup_connection()
# Create a message # Create a message
request = GlobalBrightness() request = GlobalBrightness()
request.brightness = 0 request.brightness = 100
# Serialize the request to a bytearray # Serialize the request to a bytearray
request_data = request.SerializeToString() request_data = request.SerializeToString()