Commit Graph

33 Commits

Author SHA1 Message Date
eeeck 643cac8ea6 Create context structure for timer callback
Strucure is made of
-  LED (port, pin)
- Semaphore
- Timer handle
2026-06-14 15:13:24 +02:00
eeeck 5f1695dc0d Start timer once for automatic rearming with semaphore release 2026-06-14 14:51:46 +02:00
eeeck 7ece650f72 Move declaration on top 2026-06-14 14:49:54 +02:00
eeeck 7c7d774522 Create semaphores for signalling new message in FIFO buffer 2026-06-14 14:18:28 +02:00
eeeck c65341c662 Change periodic timers to one shot timers 2026-06-14 14:18:07 +02:00
eeeck dc3688d3d7 Change error check structure 2026-06-14 12:25:31 +02:00
eeeck 34553af0a7 Create message queues for saving CAN frames 2026-06-14 11:11:34 +02:00
eeeck 2cce753716 Remove duplicate declaration 2026-06-14 10:47:12 +02:00
eeeck 8e37c44eae Refactor naming conventions following FREERTOS guidelines 2026-06-14 10:04:16 +02:00
eeeck c101c77ba4 Refactor: move RTOS task definition back to main.c
- Private functions remain on canlog.c
- Better consistency for when regenerating with CubeMX
2026-06-14 00:36:41 +02:00
eeeck de7c817471 Reset LEDs in error handler 2026-06-10 14:27:39 +02:00
eeeck 59a58d1f1f Implement LED heartbeat with RTOS timers instead of threads
- Less memory overhead (no stack allocation)
- Better timing accuracy (less jitter)
- CAN bus still has higher priority than timers
2026-06-10 14:14:17 +02:00
eeeck 0c3c93040b Simplify CAN error code handler 2026-06-10 13:16:19 +02:00
eeeck 0b05331fff Fix error handling for CAN bus 2026-06-10 13:01:43 +02:00
eeeck 6c4a1368be Use more clear names for RTOS function prototypes 2026-06-10 11:28:42 +02:00
eeeck 87e8ffc6fa Adapt error handler to log CAN errors and toggle error LED 2026-06-09 10:43:32 +02:00
eeeck c891681b94 Minor comment clarifications 2026-06-09 09:51:10 +02:00
eeeck 770e97ccd9 Move include declaration to private includes 2026-06-09 09:50:00 +02:00
eeeck 5d3c8c0ec0 Refactor task function name 2026-06-09 09:12:11 +02:00
eeeck 495c9cb377 Enable auto wake up on CAN traffic for future sleep mode 2026-06-09 00:33:14 +02:00
eeeck b92b26b026 Remove trailing newlines 2026-06-09 00:24:41 +02:00
eeeck 9f3d681134 Remove explicit cast 2026-06-09 00:00:42 +02:00
eeeck 41084eb4d2 Move thread creation inside comment block
- Avoid overwrites from STM32CubeMX
2026-06-09 00:00:17 +02:00
eeeck 714ca43d45 Pass LED pin to thread arguments
- Create typedef for LED (port:pin)
- Define two LED as private variables
- Pass them to threads
2026-06-08 23:50:14 +02:00
eeeck 29284ceb87 Move thread handles and attributes to related file
- Better separation of concerns
2026-06-08 23:38:38 +02:00
eeeck a82734cef0 Use correct thread arguments for CANrx threads 2026-06-08 23:28:54 +02:00
eeeck e24f57e77f Move CAN prototypes to relative include file 2026-06-08 23:19:27 +02:00
eeeck 13de1b6c47 Initialize CAN related tasks for logging and signaling
Initialize tasks for:
- CAN log incoming frames
- CAN blink on CANrx
2026-06-08 23:18:00 +02:00
eeeck 74cc33d0a9 Move CAN bus related tasks and definition to canlog.h 2026-06-03 23:34:10 +02:00
eeeck 1ed727fa9e Create tasks for hcan1 and hcan2 2026-06-03 23:01:29 +02:00
eeeck d50aab1497 Correct CAN baud rates for SAEJ1939 and enable silent mode
- Silent mode is also enabled by hardware (TJA1050) but better safe than
  sorry
- Baud rates are 500kbps for primary bus and 250kpbs for secondary bus
2026-06-03 22:32:20 +02:00
eeeck 2a80477cab Enable SDIO and relative clock changes 2026-06-02 22:02:00 +02:00
eeeck 5f5721c712 Add boilerplate generated from STM32CubeMX 2026-05-27 22:33:28 +02:00