Commit Graph

73 Commits

Author SHA1 Message Date
eeeck 9f1e7ba267 Move debugger connection check to main 2026-06-18 13:24:33 +02:00
eeeck b9c371ed58 Initialize semaphore with count of 1 2026-06-18 13:05:43 +02:00
eeeck 11e50b05e4 Make debug print safer by checking if ST-Link debugger is connected 2026-06-18 09:10:00 +02:00
eeeck 691d5dc1ea Fix baudrates
- They were wrongly calculated on 168MHz but APB1 bus is at 42 MHz (168
  / 4)
2026-06-18 08:49:52 +02:00
eeeck 4967cd9b32 Add USART DMA in Normal mode from CubeMX 2026-06-18 08:29:21 +02:00
eeeck 907c0b170d Move to PFP block in main.c and use more standard logic 2026-06-17 20:33:22 +02:00
eeeck 60849ebb78 Testing: SDIO stuff deactivated until implemented
- Goes into error handling
2026-06-17 20:32:36 +02:00
eeeck aeb553994c Update LED struct 2026-06-17 20:14:56 +02:00
eeeck 5e28758a5e Use serial mode instad of JTAG 2026-06-17 20:09:45 +02:00
eeeck 9980dafb5c Initialize JTAG hardware
- To debug with ST-Link
2026-06-17 18:27:55 +02:00
eeeck 84ea393dd6 Implement ITM debug via ST-Link
- Enable Instrumentation Trace Macroblock
- Remove PB3 initialization conflict with ITM
- Add a bunch of debug prints
2026-06-17 18:04:48 +02:00
eeeck f7581d49ce Fix task priority with correct handles 2026-06-16 23:06:35 +02:00
eeeck cd0b412d74 Remove whitespace 2026-06-16 22:35:04 +02:00
eeeck 24e100cae6 Use better name for CAN listener task function 2026-06-16 22:34:55 +02:00
eeeck 7d5b3f9be2 Increase all queue sizes and double the UART queue 2026-06-16 22:29:00 +02:00
eeeck dfc116b2e9 Fix linker error by moving RTOS thread declaration to global scope 2026-06-16 22:12:40 +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 0d0e485193 Initialize cansend headers 2026-06-16 19:34:12 +02:00
eeeck 76628dec90 Initialize UART task and semaphore and CAN event flags 2026-06-16 19:10:53 +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 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 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 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 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 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 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 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 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 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