ba41c0911d
Add necessary sections for stack protection area and implement fill function
2020-09-07 21:03:37 +02:00
cbbd97e1bd
Issue #20 : Implement driver for RNG
2020-09-07 20:47:56 +02:00
20e2a2b84b
Doxygen: Fix bug of IN_SECTION macro and __atribute__
2020-09-06 22:13:51 +02:00
403786e0c6
Issue #15 : Implement safety weight table
...
* CRC protected flag weight table.
* Currently only filled with dummy values. Has to be finished in issue #5
* Config overrides from safety memor ynot yet implemented
2020-09-06 21:05:00 +02:00
192bcf01f6
Merge branch 'issue/18-Backup-RAM' into issue/15-safety-controller-hardening
2020-09-06 19:54:09 +02:00
9880c701b1
Issue #15 : Introduce safety weigths
2020-09-06 19:52:44 +02:00
910037a562
Issue #18 : Write doxygen headers for safety memory
2020-09-06 19:45:45 +02:00
6232e2f330
Issue #18 : Store permanent errors in safety backup RAM
2020-09-06 01:40:10 +02:00
c4fe006efa
Issue #15 : Implement redundancy for error flags
2020-09-05 20:29:21 +02:00
b2b1702670
Issue #15 : add redundant invers error flag
2020-09-05 20:17:35 +02:00
1f8a6347e9
Issue #15 : Move safety controller working pages to CCMRAM
2020-09-05 20:14:08 +02:00
d0cf95db49
Issue #18 : further iomplementation of safety memory
2020-09-05 20:06:13 +02:00
e50602611c
Issue #18 : Documentation of boot status flags
2020-09-05 19:00:01 +02:00
95382d9ab8
Make interrupt default handler trigger panic mode.
2020-09-05 18:23:53 +02:00
e96a710576
Make interrupt default handler trigger panic mode.
2020-09-05 18:23:17 +02:00
2673112a9c
Reflow menu: Stop rendering the menu although nothing has changed. This reduces the current consumption.
2020-09-05 18:04:52 +02:00
b8b8e19206
Reflow menu: Stop rendering the menu although nothing has changed. This reduces the current consumption.
2020-09-05 18:03:05 +02:00
ea26f56545
Issue #18 : Check error memory entries at safety ram init
2020-09-05 17:37:56 +02:00
e85a85d9c3
Issue #18 : ommand to shell in order to test panic mode
2020-09-05 16:56:56 +02:00
3df0631ffc
Issue #18 : Implement writing and reading boot status structure from backup RAM
2020-09-05 16:32:31 +02:00
7434554319
Issue #18 : Fix bugs in safety memory handling
2020-09-05 15:56:52 +02:00
c9a5a2c2ff
Issue #18 : Write init of safety memory
2020-09-05 15:15:46 +02:00
04008a07c0
Issue #18 : Implement CRC calculation module
2020-09-05 12:17:36 +02:00
928dbfb9f3
Issue #18 : Firther improve documentation
2020-09-04 23:51:51 +02:00
0f0afcf359
Issue #18 : Add safety mem corrupt error flag
2020-09-04 23:04:27 +02:00
5d437f3a9f
Fix documentation and add safety RAM module to Makefile
2020-09-04 23:02:23 +02:00
cb3b42aece
Start documentation for safety RAM. Will be implemented afterwards
2020-09-04 22:55:34 +02:00
a12648ff7a
Issue #18 : Backup RAM: Make use of backup regulator optional
2020-09-04 21:33:54 +02:00
d3c4e1bffc
Issue #18 : Implement driver for backup RAM
2020-09-04 21:03:53 +02:00
45c0625864
fixup style issues
2020-08-31 22:58:00 +02:00
03e1ccf97e
Fix style
2020-08-31 22:50:39 +02:00
0fd738f37e
Fix startup code bug in release mode
2020-08-30 19:40:33 +02:00
f32d1afde5
Issue #17 : Add ui-emulate command to shell
2020-08-30 18:44:36 +02:00
0da6925119
Issue #17 : Add override function for deltas of rotary encoder
2020-08-30 18:25:10 +02:00
914abd8562
Issue #17 : Add override function for button
2020-08-30 18:20:58 +02:00
80edd09528
temperature converter: Replace division with multiplication. This makes the code faster
2020-08-29 08:53:23 +02:00
ab4499a284
Fix mrpropewr make target to clean debug and release projects
2020-08-29 08:52:44 +02:00
cc6e922d1b
Move variables to CCM RAM
2020-08-23 21:51:34 +02:00
149c5715c6
Add fault modes and start implementation of backup SRAM. However, this will probably never be used
2020-08-23 21:40:16 +02:00
dcd1fa9605
remove executable flag from CCM memory because it is not executable
2020-08-22 13:45:17 +02:00
3cc49fb764
Remove unneeded variable
2020-08-22 13:33:53 +02:00
13ac487ddb
remove unneeded variables
2020-08-22 13:30:59 +02:00
ec117e0627
Change linker script and startup code.
...
This is my own code from my template. It is much cleaner than the old code.
2020-08-21 23:47:55 +02:00
95de84fa85
Fix #13 : Add hang command to shell
2020-08-21 00:29:19 +02:00
432d30cc34
Fix #12 : Timing monitors are now correctly displayed in flags command
2020-08-21 00:20:16 +02:00
0395cd19d4
SD card settings folder: Use f_stat to determine if directory is present
2020-08-21 00:06:56 +02:00
04994bff51
Issue #9 : Fix timeout bug in write block command
2020-08-21 00:00:08 +02:00
45564a7789
Fix safety issue #11
2020-08-18 20:47:08 +02:00
fa20304df8
Makefile: Add linker script as dependency for linking step
2020-08-18 20:23:44 +02:00
86ba94a3f3
Makefile: Add linker flag to show memory usage after linking
2020-08-18 20:10:15 +02:00
60e990632b
Fix #10 : Moved static and global variablöes that are 0 initialized to CCMRAM in order to make room and increase performance.
2020-08-18 19:57:13 +02:00
64ef7b4a3c
Issue #9 : Increase SDIO clock speed to 4.2 MHz
2020-08-18 19:30:51 +02:00
277b28d7f5
Make green LED flash instead of orange one, when inserting SD card
2020-08-17 22:26:29 +02:00
bdfaa67070
Fix typo
2020-08-17 22:26:05 +02:00
4e9b28ce15
Improve SDIO handling
2020-08-17 22:10:04 +02:00
543127b187
Fix bugs in settings saving
2020-08-16 22:11:57 +02:00
6c92048de5
Remove emptry line
2020-08-16 20:35:11 +02:00
227562cf3c
Load calibration when SD card is inserted.
...
* Load calibration when SD card is inserted and controller is not yet calibrated
* Fix #7 : LED0 blinks when SD is inserted / removed.
2020-08-16 20:33:25 +02:00
58937b46f6
Improve code
2020-08-16 20:33:17 +02:00
e06c9f7ddc
Remove toml. Write calibration to dat files. Implement first draft for reading function
2020-08-16 19:37:41 +02:00
d04d8ebf9d
Change save fuinction for SD card calibration data
2020-08-16 13:15:35 +02:00
42ca1a01b5
Merge branch 'issue/1-shell-function-save-calibration-data' into dev
2020-08-16 12:53:47 +02:00
68883735ec
Remove global error state from main file
2020-08-16 12:53:05 +02:00
15d255778c
Fix #1 : Implement save function for calibration
2020-08-16 12:52:37 +02:00
d1d2d514bd
Add timing monitor for main loop and add monitors to safety flag command
2020-08-16 12:34:41 +02:00
fa3c980207
shell: Add dummy function save-calibration. Not yet correcly implemented!
2020-08-16 01:24:59 +02:00
3c6200e08c
Settings: Add preliminary functions to store Claibration data on SD Card. Not yet implemented correctly
2020-08-16 01:24:20 +02:00
e7d150e8f5
FatFs: Enable relative paths
2020-08-16 01:23:50 +02:00
c5667c6895
Toml: Add TOML interpreter for config files
2020-08-16 01:22:57 +02:00
b7ccd8542e
Increase safety ADC timing monitor to over a second. It might take a while for the ADC to be called if a demanding operation is taking place
2020-08-16 01:22:26 +02:00
1ad68a2c43
SDIO Driver: Fix bug created in commit 3705cc09d1
that makes writing to disk impossible
2020-08-16 01:19:56 +02:00
4ab91ace5f
Remove redundant define macro
2020-08-11 23:37:26 +02:00
a68b9176cb
Move ADC_TO_RES macro to header file
2020-08-11 23:21:14 +02:00
cb3c989683
Docu
2020-08-04 00:55:16 +02:00
f6f01b0510
Improve sphinx
2020-08-03 21:13:04 +02:00
e8e3d71bbe
doxygen: Remove latex output and add optional flags to buildscript
2020-08-02 22:15:33 +02:00
464c247e32
Fix a few bugs and implement flags command further
2020-07-30 20:29:48 +02:00
6c4b698fd7
Add safety flag for debugbuild
2020-07-28 23:29:35 +02:00
6498aaf8b8
Add color to flag monitor command and set oven output to 0
2020-07-28 23:26:28 +02:00
b65d94b0e8
Fix ADC measurement to run at 1000 Hz and fix wrong error handling for PT1000 Watchdog. Add function for flags to shell
2020-07-28 22:55:02 +02:00
97fc04399e
Fix recursion loop in safety controller
2020-07-28 21:00:37 +02:00
da96daa767
Reworked measurement ADC to use safety controller
2020-07-27 22:15:01 +02:00
a9e300bf5b
Make error structures volatile
2020-07-27 21:32:25 +02:00
4f3016649d
First draft of safety controller
2020-07-27 21:29:15 +02:00
a04e894518
Further work on safety controller
2020-07-26 21:40:09 +02:00
9136dc196c
Further rewrite safety handling
2020-07-09 22:31:42 +02:00
5eb51f08b6
Start safety implementation. Completely dumped old stuff
2020-07-07 20:47:22 +02:00
06a75559f0
Add structure for safety controller config.
2020-07-07 19:26:00 +02:00
248707055e
Fix watchdog init code
2020-07-06 21:37:36 +02:00
67a32cdc20
Safety Controller:
...
* Add watchdog code
* Add file structure for safety controller
* Lay groundstones to move all error flags to the safety controller
* Improve doxygen
2020-07-06 21:12:18 +02:00
8a365ab5e0
Move safety ADC to safety subfolder
2020-07-06 20:13:01 +02:00
7cd05e1582
Update shellmatta
2020-06-25 23:54:36 +02:00
0e97d57883
Improve menu function
2020-06-25 23:52:58 +02:00
cced874460
Add Pullup to uart RX pin
2020-06-21 01:29:50 +02:00
49927a25cf
Add Omega as unit for Ohm in LCD menu
2020-06-16 20:05:32 +02:00
a7c91cee0e
GUI: About menu: Add '[DEBUG]' text if code is build in debug mode
2020-06-15 22:00:47 +02:00
acbde24c2f
Makefile: Add program-debug option for flashing debug elf
2020-06-15 21:57:36 +02:00
47d8df052a
Makefile: Make a separate memory mapfile for each build configuration (release or debug)
2020-06-15 21:48:37 +02:00
3705cc09d1
SDIO driver: Fix minor issues in SDIO driver
2020-06-15 21:31:49 +02:00
ecd8d2537d
Append -release to release output elf
2020-06-15 21:24:27 +02:00
56439a3b13
Makefile: Add differnet targets for debug and release builds
2020-06-15 21:22:05 +02:00
78417e0c8c
Progress in error handling
2020-06-14 23:36:49 +02:00
62a3e06baa
Fixx style problems and design errors in main.c
2020-06-14 23:22:35 +02:00
485b887b54
fix too long lines
2020-06-14 22:56:34 +02:00
fe75b93ec7
Fix logical or operator
2020-06-14 20:26:32 +02:00
ab157bfb5a
Fix empty line
2020-06-14 19:15:02 +02:00
f0bf10d91d
use correct LED for error blinking
2020-06-14 19:13:50 +02:00
cbd28f9a12
Add safety management in PID handler and main loop
2020-06-14 19:10:09 +02:00
a33154b2d0
Move shadow buffer of LCD to CCMRAM
2020-06-14 18:02:45 +02:00
828b47f3be
Fix error in power handling of LCD FSM
2020-06-14 17:52:27 +02:00
7b426c93c9
About GUI menu: Improve rotary handling
2020-06-14 16:26:32 +02:00
20fd7b41e6
Edit about menu: Add new entry for serial number and compile info
2020-06-14 16:19:42 +02:00
f60545f664
make convenience pointer to global structs const
2020-06-14 14:50:27 +02:00
679d4534cb
Add formatted prinbt function for LCD menu and use systick vonversion in uptime shell command
2020-06-14 14:45:58 +02:00
372be53471
make uptime in LCD UI use systick function for converting uptime
2020-06-14 14:16:12 +02:00
0cdc7448e4
Systick: Add function to calculate uptime in days, hours, minutes, and seconds from global tick
2020-06-14 13:35:47 +02:00
43b4fd1e77
Changes for menu
...
* Make Systick a 100us Timer. Millisecond ticks are still untouched.
* LCD now has a 100us resolution tick
* LCD uses 500us delay for waitstate
* Make 'About' menu verbose:
* Add 3 page menu
* 1st page: Generic info
* 2nd page: Version info
* 3rd page: Uptime in seconds
2020-06-14 13:25:47 +02:00
d178910594
Fix last change to make controller WFI in LCD_FMS_NOP state
2020-06-14 01:34:42 +02:00
6f4363e021
Change return value of reflow_menu_handle
2020-06-14 01:31:44 +02:00
0fca4c6c20
LCD Timing changes
2020-06-14 01:04:21 +02:00
7595e6ced8
Fix smaller code mistake in LCD FSM
2020-06-13 23:37:04 +02:00
2547c134f2
Add PID controller to oven driver module
2020-06-13 23:23:59 +02:00
a6dc4f9b46
Add about command to menu and restructure code. Delete preliminary code from mainloop. Better code will follow
2020-06-13 22:47:45 +02:00
e627cb67a5
fix smaller bugs in Menu code and implement first test of main menu with one functional sunbmenu for the safety parameters
2020-06-12 01:35:37 +02:00
d6e489bb61
Add defines for special LCD characters
2020-06-11 23:58:51 +02:00
3b2d8c14c3
Change division to multiplication in floating point operation
2020-06-09 23:01:04 +02:00
949d16cd03
Add display buffer to ccm ram
2020-06-09 22:53:13 +02:00
917497e7e4
implement display update function for lcd menu
2020-06-09 22:50:20 +02:00
7db5f02067
implemnt scrollable menu field. Not yet tested
2020-06-09 22:43:00 +02:00
70730fd0f0
Add qtproejct target to Makefile which generates a usable qtcreator project folder
2020-06-09 21:50:37 +02:00
c63986e271
Add further testing code for rotary encoder and lcd
2020-06-09 19:03:33 +02:00
9615fdb39d
Further menu implementations
2020-06-04 21:53:00 +02:00
fc2372f754
Fix possible error in menu implementation
2020-06-04 21:47:31 +02:00
92c0c5cd8c
shrink shellmatta history buffer
2020-06-04 21:46:45 +02:00
25bb341fa4
Implement preliminary menu functions
2020-06-04 21:20:59 +02:00
0d44d25ec9
Add reminder to implement checking of safety ADC
2020-06-04 21:20:43 +02:00
6b4029f8c2
Make startup file unix like and add a hardcoded enable for the FPU
2020-06-04 21:20:17 +02:00
76f5a4e9be
Fix error in safety ADC
2020-06-01 22:59:27 +02:00
f493b823b3
Add lcd-menu module as specific implementation module for the menu on the LCD
2020-06-01 21:45:36 +02:00
d508402aa8
Add basic definitions for menu entries
2020-06-01 21:42:31 +02:00
6477950eea
Merge branch 'dev' into ui
2020-06-01 20:53:43 +02:00
5819a0736c
Add defines for safety adc conversions
2020-06-01 20:53:28 +02:00
f956968cb4
Make reading the global ms tick atomic in order to prevent glitches
2020-06-01 20:45:27 +02:00
1751db31c5
Fix typo
2020-06-01 20:44:58 +02:00
e659c6d097
make PID controller mathemtaically correct
2020-05-25 01:56:54 +02:00
355e81ba44
Add multitone support for loudspeaker
2020-05-24 23:35:17 +02:00
c18acba48b
Merge branch 'dev' into ui
2020-05-16 21:08:24 +02:00
e97092042b
Add preliminary safety ADC which measures the Controller temperature and checks the reference voltage against the STM's internal reference voltage
2020-05-16 21:00:55 +02:00
dc8beefb63
Move PT1000 Measurement from ADC1 to ADC3 in order to make ADC1 free for Safety ADC implementation
2020-05-16 20:59:51 +02:00
6c013d5aa3
Merge branch 'dev' into ui
2020-05-11 21:59:25 +02:00
2614cea431
Make claibration routine non blocking
2020-05-11 21:59:08 +02:00
b9857745b1
Fix parentheses in macros
2020-05-11 21:52:11 +02:00
13bdd6b8eb
Cleanup main function
2020-05-11 21:51:32 +02:00
0b83125ab5
Merge branch 'dev' into ui
2020-05-10 23:13:47 +02:00
8d6c81441d
Add oven PWM controller
2020-05-10 23:13:03 +02:00
5fcb5305f8
Implement dummy for calibration save function
2020-05-09 20:51:30 +02:00
d6d8973800
Fix typo in comment
2020-05-09 20:51:06 +02:00
99ae5f9bc1
Add lcd to menu
2020-05-09 20:50:15 +02:00
4f05c084d9
Make ptdump command async: Main loop will continue if comamnd is called
2020-05-09 20:40:31 +02:00
8f2418eb7c
Merge branch 'dev' into ui
2020-05-09 20:01:56 +02:00
a25d3bc8c9
make display faster
2020-05-09 19:56:47 +02:00
8a0572d698
Move main loop implementation torwards target
2020-05-05 18:55:55 +02:00
2187c1a712
Write a few doxygen headers
2020-05-05 18:19:49 +02:00
60602008d4
Update 'stm-firmware/ui/lcd.c'
2020-05-05 08:07:24 +02:00
04389b1df6
Use correct format specifier in printf for uint32_t
2020-05-05 00:01:09 +02:00
90da880386
Makefile: Cleanup whole obj/ dir when clean
2020-05-05 00:00:44 +02:00
bd82f55966
Show rotary encode value on display
2020-05-04 21:36:53 +02:00
3d48bfb6a6
Fix lenght of LCD from 20 chars to 16 chars
2020-05-04 21:36:37 +02:00
ea3d0121cc
Add selected functions to optimization for faster interrupt handling
2020-05-04 21:31:02 +02:00
e2c2be6e30
Implement state machine controlled async LCD writing
2020-05-04 21:21:49 +02:00
df82f14206
Make LCD code working. Add FSM for LCD in order to write it in mainloop
2020-05-02 19:10:20 +02:00
e237776810
Fix parenthesis in macros
2020-05-02 19:09:17 +02:00
88062dc8e4
Add systick function that checks for passed ticks with correct wrap around
2020-05-02 19:06:42 +02:00
67899c8f02
Merge branch 'dev' into ui
2020-05-01 19:53:43 +02:00
cfaffc7d50
Update shellmatta to newset version
2020-05-01 19:52:46 +02:00
fe51c80248
Merge branch 'dev' into ui
2020-04-27 21:53:27 +02:00
e7106b54c4
Add cat command
2020-04-27 21:52:52 +02:00
119aa1b0ff
Add main loop counter
2020-04-27 21:08:53 +02:00
415979e211
Merge branch 'dev' into ui
2020-04-27 20:20:03 +02:00
d91463c458
Make MOTD clear the screen
2020-04-27 20:19:49 +02:00
122a16ad4e
Use button module in main loop
2020-04-27 20:18:45 +02:00
3834bd404c
Fix button module and adjust long keypress time to a sane value
2020-04-27 20:18:12 +02:00
eb3b0eb459
Merge branch 'dev' into ui
2020-04-27 19:28:32 +02:00
9761204b08
Update shellmatta to newest version
2020-04-26 22:25:50 +02:00
4df68880f0
Add correct handling of sd card, add reset command, add ls command
2020-04-26 21:23:25 +02:00
6e07a363f4
Add settings module
2020-04-26 20:22:00 +02:00
cf3818040c
Add support for subdirectories in create-c-file script
2020-04-26 20:20:57 +02:00
2d3b61550b
Fix ADC Watchdog handling
2020-04-26 19:53:06 +02:00
85fe0f6749
Fix LEDs in ptdump command
2020-04-26 19:52:48 +02:00
5ae31a1705
Increase ADC_PT1000_WATCHDOG_SAMPLE_COUNT to 50
2020-04-26 19:20:45 +02:00
ffe195d7b2
ADC Measurment: Introduce ADC_PT1000_WATCHDOG_SAMPLE_COUNT in order to filter out false Watchdog errors produces by EMI problems"
2020-04-26 18:09:39 +02:00
b9a38549dc
Add stack_check_collision() function
2020-04-23 00:09:44 +02:00
8df0a6c774
Fix license header
2020-04-20 21:30:00 +02:00
7fca0fc31d
Merge branch 'dev' into ui
2020-04-20 21:17:46 +02:00
8125fc4ffb
Add preliminary test for PID controller
2020-04-20 21:17:31 +02:00
d0fa0cf39c
Fix typo in comment
2020-04-20 21:17:24 +02:00
c419ca7bcb
Add PID controller and oven driver module
2020-04-20 21:16:39 +02:00
5017bf7003
Merge branch 'dev' into ui
2020-04-20 01:21:08 +02:00
985c29b281
Change shellmatta help alias to a question mark
2020-04-20 01:19:37 +02:00
d85381e30e
Reroute stderr to uart and color it red
2020-04-20 01:06:25 +02:00