eeeck
|
052d3fc5c0
|
Enable CAN bus NVIC interrupts with higher priority
- This was blocking the CPU from vectoring to
HAL_CAN_RxFifo0MsgPendingCallback
|
2026-06-18 08:44:25 +02:00 |
|
eeeck
|
4967cd9b32
|
Add USART DMA in Normal mode from CubeMX
|
2026-06-18 08:29:21 +02:00 |
|
eeeck
|
91218e782e
|
Include main header
|
2026-06-17 18:05:45 +02:00 |
|
eeeck
|
63e3e81986
|
Fix spacing
|
2026-06-17 18:05:04 +02:00 |
|
eeeck
|
24e100cae6
|
Use better name for CAN listener task function
|
2026-06-16 22:34:55 +02:00 |
|
eeeck
|
c540ff7800
|
Remove dead code
|
2026-06-16 22:13:52 +02:00 |
|
eeeck
|
59b0aca092
|
Refactor: implement data relay from vCANLoggerListen to xUARTQueue
- No RTOS event, just queue put and get: cleaner way to send data and
more clear separation of concerns
|
2026-06-16 22:09:49 +02:00 |
|
eeeck
|
5f11cf5213
|
Revert decision on moving CAN event flag outside ISR
- Would have caused destruction of the queue data itself
|
2026-06-16 21:34:43 +02:00 |
|
eeeck
|
79f317cec5
|
Wait until CAN1 or CAN2 save anything to FIFO buffer
- Moving CAN event flag to vCANLoggerListen to avoid possible race
condition and to make ISR leaner
|
2026-06-16 21:06:32 +02:00 |
|
eeeck
|
da1c13fcb0
|
Fix comment blocks and function descriptions
|
2026-06-16 21:02:15 +02:00 |
|
eeeck
|
59274272d3
|
Remove not useful comment blocks
- Not really used by CubeMX so worth removing
|
2026-06-16 20:25:21 +02:00 |
|
eeeck
|
ac5d9f6a72
|
Set CAN event flag and LED thread flag in ISR
- This is efficient specifically for
STM32F4x with Thumb-2 IT block
optimization enabled (-02 or -03)
|
2026-06-16 19:11:38 +02:00 |
|
eeeck
|
76628dec90
|
Initialize UART task and semaphore and CAN event flags
|
2026-06-16 19:10:53 +02:00 |
|
eeeck
|
f260dfe972
|
Use define instead of hardcoded value
|
2026-06-16 18:11:12 +02:00 |
|
eeeck
|
12ef44d3d8
|
Use clearer variable name
|
2026-06-16 18:06:26 +02:00 |
|
eeeck
|
34df5e51b7
|
Remove LED contexts
- Are now unnecessary with the move to task notification
|
2026-06-16 17:59:57 +02:00 |
|
eeeck
|
266efdfa7c
|
Fix spacing
|
2026-06-16 17:57:42 +02:00 |
|
eeeck
|
7d40531250
|
Return instead of critical error
- To find a way to handle overflows on the FIFO buffer
|
2026-06-16 17:57:35 +02:00 |
|
eeeck
|
6446f5209b
|
Remove semaphores in favor of task notifications
- Less overhead, simpler to manage
- Semaphores are apparently overkill for a simple blink timer
|
2026-06-16 17:56:11 +02:00 |
|
eeeck
|
2c14d095f7
|
Better way to avoid race condition, only notification lives in CAN task
- Runs only once
- Only critical notification is inside task
- CAN message during boot will not be lost, instead put inside FIFO0
|
2026-06-15 14:30:35 +02:00 |
|
eeeck
|
975acb8c3e
|
Indentation fixes
|
2026-06-15 14:27:05 +02:00 |
|
eeeck
|
b1744ce941
|
Fix double semaphore release
|
2026-06-15 14:17:12 +02:00 |
|
eeeck
|
8c8fe93d5b
|
Release CANrx semaphore in ISR
|
2026-06-15 14:09:51 +02:00 |
|
eeeck
|
ab8b68313b
|
Transition from timer based to task based LED signal
- Remove RTOS timers
- Create LED task
- Avoid polling, instead wait for semaphore
|
2026-06-15 14:06:51 +02:00 |
|
eeeck
|
ac212c4a0a
|
Merge pull request 'Change headers with better copyright comments' (#13)
from code-licensing into j1939
Reviewed-on: erickahmed/j1939_logger#13
|
2026-06-14 21:36:45 +02:00 |
|
eeeck
|
3c66a39a5d
|
Fix variable name mismatch
|
2026-06-14 21:27:10 +02:00 |
|
eeeck
|
17febf569a
|
Use a more generic name as semaphore will be used by other tasks
|
2026-06-14 18:31:54 +02:00 |
|
eeeck
|
53772ccb7d
|
Remove error handling as it would cause crash on full queue
|
2026-06-14 16:45:02 +02:00 |
|
eeeck
|
75efc4840d
|
Use new context structure instead of direct pass
|
2026-06-14 15:17:03 +02:00 |
|
eeeck
|
a75d42faeb
|
Create context structure for timer callback
Strucure is made of
- LED (port, pin)
- Semaphore
- Timer handle
|
2026-06-14 15:16:23 +02:00 |
|
eeeck
|
5b500d72ff
|
Avoid having to declare additional variable
|
2026-06-14 14:56:32 +02:00 |
|
eeeck
|
de6dc24dd3
|
Acquire semaphore and restart timer if new message incoming
|
2026-06-14 14:51:33 +02:00 |
|
eeeck
|
1b38c0f29a
|
Release semaphore on incoming message
- Discard previous solution with timer only
|
2026-06-14 14:50:49 +02:00 |
|
eeeck
|
ebbd1816fa
|
Write LOW status on LED when timer triggers
|
2026-06-14 14:19:44 +02:00 |
|
eeeck
|
2e2150ebd2
|
Write HIGH status on LED on incoming CAN message and start 25ms timer
|
2026-06-14 14:19:30 +02:00 |
|
eeeck
|
d6ea04e33e
|
Change variable name
|
2026-06-14 14:18:40 +02:00 |
|
eeeck
|
d42e5fce46
|
Read CAN messages from FIFO buffer
|
2026-06-14 13:55:05 +02:00 |
|
eeeck
|
8ef0980510
|
Handle ISR for CANrx by saving message in FIFO buffer
|
2026-06-14 13:53:40 +02:00 |
|
eeeck
|
19eaee2674
|
Enable interrupt when CAN frame received and stored in FIFO buffer
|
2026-06-14 10:42:26 +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
|
0e4b41647f
|
Change headers with better copyright comments
- Add SPDX License Identifier and copyright notice
- Add NOTICE.md
Minor: remove unused freertos.c
|
2026-06-13 20:07:32 +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
|
b38d4d5403
|
Remove static declare
|
2026-06-10 13:07:24 +02:00 |
|
eeeck
|
0f6011d05b
|
Use CMSIS-RTOS2 instead of FreeRTOS for consistency
|
2026-06-10 11:38:30 +02:00 |
|
eeeck
|
6c4a1368be
|
Use more clear names for RTOS function prototypes
|
2026-06-10 11:28:42 +02:00 |
|
eeeck
|
e2b6d13364
|
Clarify function prototype description
|
2026-06-10 11:25:31 +02:00 |
|
eeeck
|
b14cdfaccb
|
Lower priority for LED heartbeat
|
2026-06-10 11:25:01 +02:00 |
|
eeeck
|
7bb401762a
|
Add headers for better code regeneration compatibility with STM32CubeMX
|
2026-06-10 11:24:43 +02:00 |
|
eeeck
|
91385d00cf
|
Configure filter banks and start CAN
|
2026-06-09 10:42:40 +02:00 |
|