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
af4ce2f9e8
Remove unecessary MXCube comments
2026-06-16 18:01:54 +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
cc3a37ba4b
Increase UART baudrate
2026-06-16 16:16:51 +02:00
eeeck
990a85c002
Enable UART interface from MXCube
2026-06-16 16:01:49 +02:00
eeeck
b737c27b49
Merge pull request 'Remove complex timer based toggling and switch to RTOS task with semaphore based delay' ( #18 ) from dev-rtos-semaphore into main
...
Reviewed-on: erickahmed/j1939_logger#18
v0.0.2
2026-06-15 14:33:38 +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
c1d2e65e20
Move to RTOS_THREADS
...
- ops...
2026-06-15 14:12:47 +02:00
eeeck
ce85e473b3
Move before starting scheduler to avoid race condition
...
- If a CAN message arrives during boot time ISR will fire and try to put
data into xCAN1RxQueue. At that time queue is NULL: calling RTOS APIs
on NULL handles will cause a HardFault
2026-06-15 14:11:11 +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
70cead28d7
Re-add newlib lock glue to Src
2026-06-15 10:37:01 +02:00
eeeck
31bf55fed4
Merge pull request 'Implement CAN read RTOS' ( #14 ) from j1939 into main
2026-06-15 10:32:33 +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
9fc2f0b73b
Remove files that were misteriously duplicated...
2026-06-14 21:33:13 +02:00
eeeck
3c66a39a5d
Fix variable name mismatch
2026-06-14 21:27:10 +02:00
eeeck
54eae2d63e
Add Debug directory to ignores
2026-06-14 20:55:25 +02:00
eeeck
4305399d44
Untrack Debug directory
2026-06-14 20:51:08 +02:00
eeeck
19eefc288b
Fix scope error by moving declaration
2026-06-14 20:48:11 +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
5a3223af29
Merge pull request 'Use semaphores and one shot RTOS timers to better manage LEDs for incoming CAN message on FIFO buffer' ( #8 ) from led-semaphore into j1939
...
Reviewed-on: erickahmed/j1939_logger#8
2026-06-14 16:49:17 +02:00
eeeck
53772ccb7d
Remove error handling as it would cause crash on full queue
2026-06-14 16:45:02 +02:00
eeeck
9d4d807cfb
Fix race condition that could cause a hard fault
2026-06-14 16:21:55 +02:00
eeeck
5ec806ffea
Add CMSIS include
2026-06-14 16:17:01 +02:00
eeeck
8777f742ac
Move typedef to header
2026-06-14 16:15:33 +02:00
eeeck
4aafa81009
Change CODE BEGIN N value
2026-06-14 16:14:20 +02:00
eeeck
ac16f8150e
Use a more sensible number of semaphores
2026-06-14 16:10:18 +02:00
eeeck
f0d2990b8d
Move below timer setup
2026-06-14 16:10:00 +02:00
eeeck
72ffb2644e
Use more clear variable names
2026-06-14 16:09:45 +02:00
eeeck
2a3d5d17b3
Remove unnecessary declarations
2026-06-14 16:08:43 +02:00
eeeck
151bac7a13
Fix typo
2026-06-14 16:08:21 +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
5f1695dc0d
Start timer once for automatic rearming with semaphore release
2026-06-14 14:51:46 +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
7ece650f72
Move declaration on top
2026-06-14 14:49:54 +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
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
d42e5fce46
Read CAN messages from FIFO buffer
2026-06-14 13:55:05 +02:00