Only send start frame when can-mode is vesc, added option to c lib build

This commit is contained in:
Benjamin Vedder 2022-10-07 18:45:21 +02:00
parent e86f81c7e9
commit 23dabd249a
2 changed files with 13 additions and 6 deletions

View File

@ -23,6 +23,10 @@ endif
OBJECTS = $(SOURCES:.c=.so)
ifeq ($(USE_OPT),)
USE_OPT =
endif
CFLAGS = -fpic -Os -Wall -Wextra -Wundef -std=gnu99 -I$(VESC_C_LIB_PATH)
CFLAGS += -I$(STLIB_PATH)/CMSIS/include -I$(STLIB_PATH)/CMSIS/ST
CFLAGS += -fomit-frame-pointer -falign-functions=16 -mthumb
@ -30,6 +34,7 @@ CFLAGS += -fsingle-precision-constant -Wdouble-promotion
CFLAGS += -mfloat-abi=hard -mfpu=fpv4-sp-d16 -mcpu=cortex-m4
CFLAGS += -fdata-sections -ffunction-sections
CFLAGS += -DIS_VESC_LIB
CFLAGS += $(USE_OPT)
ifeq ($(USE_STLIB),yes)
CFLAGS += -DUSE_STLIB -I$(STLIB_PATH)/inc

14
main.c
View File

@ -293,8 +293,6 @@ int main(void) {
timeout_init();
timeout_configure(appconf->timeout_msec, appconf->timeout_brake_current, appconf->kill_sw_mode);
mempools_free_appconf(appconf);
#if HAS_BLACKMAGIC
bm_init();
#endif
@ -314,12 +312,16 @@ int main(void) {
#ifdef CAN_ENABLE
// Transmit a CAN boot-frame to notify other nodes on the bus about it.
comm_can_transmit_eid(
app_get_configuration()->controller_id | (CAN_PACKET_NOTIFY_BOOT << 8),
(uint8_t *)HW_NAME, (strlen(HW_NAME) <= CAN_FRAME_MAX_PL_SIZE) ?
strlen(HW_NAME) : CAN_FRAME_MAX_PL_SIZE);
if (appconf->can_mode == CAN_MODE_VESC) {
comm_can_transmit_eid(
app_get_configuration()->controller_id | (CAN_PACKET_NOTIFY_BOOT << 8),
(uint8_t *)HW_NAME, (strlen(HW_NAME) <= CAN_FRAME_MAX_PL_SIZE) ?
strlen(HW_NAME) : CAN_FRAME_MAX_PL_SIZE);
}
#endif
mempools_free_appconf(appconf);
for(;;) {
chThdSleepMilliseconds(10);
}