Skip to content

Commit

Permalink
remove bloat
Browse files Browse the repository at this point in the history
  • Loading branch information
dyldonahue committed Jul 26, 2024
1 parent e4da055 commit 90bd55d
Show file tree
Hide file tree
Showing 6 changed files with 120 additions and 120 deletions.
10 changes: 5 additions & 5 deletions Core/Inc/bms.h
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,11 @@ typedef struct {

extern bms_t *bms;

void bms_init();
//void bms_init();

void vBMSCANMonitor(void *pv_params);
extern osThreadId_t bms_monitor_handle;
extern const osThreadAttr_t bms_monitor_attributes;
extern osMessageQueueId_t bms_monitor_queue;
//void vBMSCANMonitor(void *pv_params);
//extern osThreadId_t bms_monitor_handle;
//extern const osThreadAttr_t bms_monitor_attributes;
//extern osMessageQueueId_t bms_monitor_queue;

#endif /*BMS_H*/
6 changes: 3 additions & 3 deletions Core/Inc/monitor.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ extern osThreadId_t pedals_monitor_handle;
extern const osThreadAttr_t pedals_monitor_attributes;

/* Task for Monitoring the IMU */
void vIMUMonitor(void *pv_params);
extern osThreadId_t imu_monitor_handle;
extern const osThreadAttr_t imu_monitor_attributes;
// void vIMUMonitor(void *pv_params);
// extern osThreadId_t imu_monitor_handle;
// extern const osThreadAttr_t imu_monitor_attributes;

/* Task for Monitoring the TSMS sense on PDU CTRL expander*/
void vTsmsMonitor(void *pv_params);
Expand Down
56 changes: 28 additions & 28 deletions Core/Src/bms.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,35 +33,35 @@ void bms_fault_callback()
queue_fault(&fault_data);
}

void bms_init()
{
bms = malloc(sizeof(bms_t));
assert(bms);
// void bms_init()
// {
// bms = malloc(sizeof(bms_t));
// assert(bms);

/*TO-DO: specify timer attributes*/
bms->bms_monitor_timer =
osTimerNew(&bms_fault_callback, osTimerOnce, NULL, NULL);
// /*TO-DO: specify timer attributes*/
// bms->bms_monitor_timer =
// osTimerNew(&bms_fault_callback, osTimerOnce, NULL, NULL);

bms_monitor_queue =
osMessageQueueNew(CAN_QUEUE_SIZE, sizeof(can_msg_t), NULL);
assert(bms_monitor_queue);
}
// bms_monitor_queue =
// osMessageQueueNew(CAN_QUEUE_SIZE, sizeof(can_msg_t), NULL);
// assert(bms_monitor_queue);
// }

void vBMSCANMonitor(void *pv_params)
{
can_msg_t msg_from_queue;
// void vBMSCANMonitor(void *pv_params)
// {
// can_msg_t msg_from_queue;

osTimerStart(bms->bms_monitor_timer, BMS_CAN_MONITOR_DELAY);
for (;;) {
if (osOK == osMessageQueueGet(bms_monitor_queue,
&msg_from_queue, NULL,
osWaitForever)) {
/*TO-DO: fix duration (ticks)*/
osTimerStart(bms->bms_monitor_timer,
BMS_CAN_MONITOR_DELAY);
bms->dcl = (uint16_t)((msg_from_queue.data[1] << 8) &
msg_from_queue.data[0]);
//serial_print("BMS DCL %d", bms->dcl);
}
}
}
// osTimerStart(bms->bms_monitor_timer, BMS_CAN_MONITOR_DELAY);
// for (;;) {
// if (osOK == osMessageQueueGet(bms_monitor_queue,
// &msg_from_queue, NULL,
// osWaitForever)) {
// /*TO-DO: fix duration (ticks)*/
// osTimerStart(bms->bms_monitor_timer,
// BMS_CAN_MONITOR_DELAY);
// bms->dcl = (uint16_t)((msg_from_queue.data[1] << 8) &
// msg_from_queue.data[0]);
// //serial_print("BMS DCL %d", bms->dcl);
// }
// }
// }
2 changes: 1 addition & 1 deletion Core/Src/can_handler.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ void can1_callback(CAN_HandleTypeDef *hcan)
break;
case BMS_DCL_MSG:
//printf("Recieved dcl");
osMessageQueuePut(bms_monitor_queue, &new_msg, 0U, 0U);
//osMessageQueuePut(bms_monitor_queue, &new_msg, 0U, 0U);
break;
default:
break;
Expand Down
10 changes: 5 additions & 5 deletions Core/Src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ const osThreadAttr_t defaultTask_attributes = {
/* USER CODE BEGIN PV */
osMessageQueueId_t brakelight_signal;
osMessageQueueId_t pedal_data_queue;
osMessageQueueId_t imu_queue;
//osMessageQueueId_t imu_queue;
osMessageQueueId_t dti_router_queue;


Expand Down Expand Up @@ -186,7 +186,7 @@ int main(void)
dti_t *mc = dti_init();
steeringio_t *wheel = steeringio_init();
init_can1(&hcan1);
bms_init();
//bms_init();

printf("\r\n\n\nInit Success...\r\n\n\n");

Expand All @@ -202,7 +202,7 @@ int main(void)

/* USER CODE BEGIN RTOS_QUEUES */
brakelight_signal = osMessageQueueNew(15, sizeof(bool), NULL);
imu_queue = osMessageQueueNew(IMU_QUEUE_SIZE, sizeof(imu_data_t), NULL);
//imu_queue = osMessageQueueNew(IMU_QUEUE_SIZE, sizeof(imu_data_t), NULL);
pedal_data_queue = osMessageQueueNew(PEDAL_DATA_QUEUE_SIZE, sizeof(pedals_t), NULL);
dti_router_queue = osMessageQueueNew(DTI_QUEUE_SIZE, sizeof(can_msg_t), NULL);
assert(dti_router_queue);
Expand Down Expand Up @@ -235,8 +235,8 @@ int main(void)
assert(dti_router_handle);
can_dispatch_handle = osThreadNew(vCanDispatch, NULL, &can_dispatch_attributes);
assert(can_dispatch_handle);
bms_monitor_handle = osThreadNew(vBMSCANMonitor, NULL, &bms_monitor_attributes);
assert(bms_monitor_handle);
//bms_monitor_handle = osThreadNew(vBMSCANMonitor, NULL, &bms_monitor_attributes);
// assert(bms_monitor_handle);
serial_monitor_handle = osThreadNew(vSerialMonitor, NULL, &serial_monitor_attributes);
assert(serial_monitor_handle);
nero_monitor_handle = osThreadNew(vNeroMonitor, NULL, &nero_monitor_attributes);
Expand Down
156 changes: 78 additions & 78 deletions Core/Src/monitor.c
Original file line number Diff line number Diff line change
Expand Up @@ -331,84 +331,84 @@ void vPedalsMonitor(void *pv_params)
}
}

osThreadId_t imu_monitor_handle;
const osThreadAttr_t imu_monitor_attributes = {
.name = "IMUMonitor",
.stack_size = 32 * 8,
.priority = (osPriority_t)osPriorityHigh,
};

void vIMUMonitor(void *pv_params)
{
const uint8_t num_samples = 10;
static imu_data_t sensor_data;
fault_data_t fault_data = { .id = IMU_FAULT, .severity = DEFCON5 };
can_msg_t imu_accel_msg = { .id = CANID_IMU_ACCEL,
.len = 6,
.data = { 0 } };
can_msg_t imu_gyro_msg = { .id = CANID_IMU_GYRO,
.len = 6,
.data = { 0 } };

mpu_t *mpu = (mpu_t *)pv_params;

for (;;) {
// serial_print("IMU Task\r\n");
/* Take measurement */
uint16_t accel_data[3] = { 0 };
uint16_t gyro_data[3] = { 0 };
if (read_accel(mpu, accel_data)) {
fault_data.diag = "Failed to get IMU acceleration";
queue_fault(&fault_data);
}

if (read_gyro(mpu, gyro_data)) {
fault_data.diag = "Failed to get IMU gyroscope";
queue_fault(&fault_data);
}

/* Run values through LPF of sample size */
sensor_data.accel_x =
(sensor_data.accel_x + accel_data[0]) / num_samples;
sensor_data.accel_y =
(sensor_data.accel_y + accel_data[1]) / num_samples;
sensor_data.accel_z =
(sensor_data.accel_z + accel_data[2]) / num_samples;
sensor_data.gyro_x =
(sensor_data.gyro_x + gyro_data[0]) / num_samples;
sensor_data.gyro_y =
(sensor_data.gyro_y + gyro_data[1]) / num_samples;
sensor_data.gyro_z =
(sensor_data.gyro_z + gyro_data[2]) / num_samples;

/* Publish to IMU Queue */
osMessageQueuePut(imu_queue, &sensor_data, 0U, 0U);

/* convert to big endian */
endian_swap(&sensor_data.accel_x, sizeof(sensor_data.accel_x));
endian_swap(&sensor_data.accel_y, sizeof(sensor_data.accel_y));
endian_swap(&sensor_data.accel_z, sizeof(sensor_data.accel_z));
endian_swap(&sensor_data.gyro_x, sizeof(sensor_data.gyro_x));
endian_swap(&sensor_data.gyro_y, sizeof(sensor_data.gyro_y));
endian_swap(&sensor_data.gyro_z, sizeof(sensor_data.gyro_z));

/* Send CAN message */
memcpy(imu_accel_msg.data, &sensor_data, imu_accel_msg.len);
// if (queue_can_msg(imu_accel_msg)) {
// fault_data.diag = "Failed to send CAN message";
// queue_fault(&fault_data);
// }

memcpy(imu_gyro_msg.data, &sensor_data, imu_gyro_msg.len);
if (queue_can_msg(imu_gyro_msg)) {
fault_data.diag = "Failed to send CAN message";
queue_fault(&fault_data);
}

/* Yield to other tasks */
osDelay(IMU_SAMPLE_DELAY);
}
}
//osThreadId_t imu_monitor_handle;
//const osThreadAttr_t imu_monitor_attributes = {
// .name = "IMUMonitor",
// .stack_size = 32 * 8,
// .priority = (osPriority_t)osPriorityHigh,
//};

// void vIMUMonitor(void *pv_params)
// {
// const uint8_t num_samples = 10;
// static imu_data_t sensor_data;
// fault_data_t fault_data = { .id = IMU_FAULT, .severity = DEFCON5 };
// can_msg_t imu_accel_msg = { .id = CANID_IMU_ACCEL,
// .len = 6,
// .data = { 0 } };
// can_msg_t imu_gyro_msg = { .id = CANID_IMU_GYRO,
// .len = 6,
// .data = { 0 } };

// mpu_t *mpu = (mpu_t *)pv_params;

// for (;;) {
// // serial_print("IMU Task\r\n");
// /* Take measurement */
// uint16_t accel_data[3] = { 0 };
// uint16_t gyro_data[3] = { 0 };
// if (read_accel(mpu, accel_data)) {
// fault_data.diag = "Failed to get IMU acceleration";
// queue_fault(&fault_data);
// }

// if (read_gyro(mpu, gyro_data)) {
// fault_data.diag = "Failed to get IMU gyroscope";
// queue_fault(&fault_data);
// }

// /* Run values through LPF of sample size */
// sensor_data.accel_x =
// (sensor_data.accel_x + accel_data[0]) / num_samples;
// sensor_data.accel_y =
// (sensor_data.accel_y + accel_data[1]) / num_samples;
// sensor_data.accel_z =
// (sensor_data.accel_z + accel_data[2]) / num_samples;
// sensor_data.gyro_x =
// (sensor_data.gyro_x + gyro_data[0]) / num_samples;
// sensor_data.gyro_y =
// (sensor_data.gyro_y + gyro_data[1]) / num_samples;
// sensor_data.gyro_z =
// (sensor_data.gyro_z + gyro_data[2]) / num_samples;

// /* Publish to IMU Queue */
// osMessageQueuePut(imu_queue, &sensor_data, 0U, 0U);

// /* convert to big endian */
// endian_swap(&sensor_data.accel_x, sizeof(sensor_data.accel_x));
// endian_swap(&sensor_data.accel_y, sizeof(sensor_data.accel_y));
// endian_swap(&sensor_data.accel_z, sizeof(sensor_data.accel_z));
// endian_swap(&sensor_data.gyro_x, sizeof(sensor_data.gyro_x));
// endian_swap(&sensor_data.gyro_y, sizeof(sensor_data.gyro_y));
// endian_swap(&sensor_data.gyro_z, sizeof(sensor_data.gyro_z));

// /* Send CAN message */
// memcpy(imu_accel_msg.data, &sensor_data, imu_accel_msg.len);
// // if (queue_can_msg(imu_accel_msg)) {
// // fault_data.diag = "Failed to send CAN message";
// // queue_fault(&fault_data);
// // }

// memcpy(imu_gyro_msg.data, &sensor_data, imu_gyro_msg.len);
// if (queue_can_msg(imu_gyro_msg)) {
// fault_data.diag = "Failed to send CAN message";
// queue_fault(&fault_data);
// }

// /* Yield to other tasks */
// osDelay(IMU_SAMPLE_DELAY);
// }
// }

osThreadId_t tsms_monitor_handle;
const osThreadAttr_t tsms_monitor_attributes = {
Expand Down

0 comments on commit 90bd55d

Please sign in to comment.