Commit Graph

569 Commits

Author SHA1 Message Date
64a97fa048 Issue #26: Add overtemp function to shell 2021-03-14 21:57:33 +01:00
d1b8e91674 Fix typo in linker script 2021-03-14 20:08:52 +01:00
0fc35db53d Merge branch 'dev' into issue/26-overtemp-flag 2021-02-15 20:36:13 +01:00
8a764f599b Remove cat command from shell 2021-02-15 20:35:54 +01:00
b9dfe35652 Issue #26: Add overtemp limit setting to settings module and load it from EEPROM at startup 2021-02-15 20:28:45 +01:00
694a78982a Add missing parameter to doxygen header of dc_pt1000_set_resistance_calibration() 2021-02-14 20:11:21 +01:00
7c5b60ec6b #26: Add over temperature monitor settings to eeprom 2021-02-14 20:06:28 +01:00
e614eaa23b Correct version of EEPROM header for settings and write check for overtemperature 2021-02-02 20:50:30 +01:00
50ad31d58a Issue #26: Add configuration for overtemperature flag to safety controller and include the config in the memory checking 2021-02-02 20:35:45 +01:00
64bb06882f Issue #26: Add reverse lookup function to temp converter that converts a temperature to a PT1000 resistance value 2021-02-02 19:32:12 +01:00
0b01be9840 Issue #26: Add ERR_FLAG_OVERTEMP Error flag
* Add error flag
* Set default persistence to false
* Set default flag weight to stop PID controller
2021-02-02 18:40:52 +01:00
4c1797aa24 Issue #24: Make UNSTABLE flag only go away, if the PT1000 value stays within the stable region for a given amount of samples 2021-01-26 21:59:41 +01:00
20a65fd7f9 Issue #24: Implement new handling for Unstable flag.
* Unstable flag will now be set, whenever the output of the moving average filter
  differs more than 10 Ohms from the measured prefilterd input.
2021-01-26 21:46:44 +01:00
67b079fe33 Improve rport error function of safety controller 2021-01-26 21:46:33 +01:00
a5c9350835 Fix typo 2021-01-26 21:26:58 +01:00
cc545bfc69 Doxygen: use short names 2021-01-26 21:24:11 +01:00
86a0b2087e Fix bug in weight handling of error flags. 2021-01-25 21:07:09 +01:00
55f35a5009 Edit doxygen headers and improve flag weight handling in safety controller 2021-01-25 20:59:48 +01:00
870c228e37 update shellmatta tonewest version with fixed history 2021-01-24 20:59:07 +01:00
2fcc5d6a9f Add further doxygen headers 2021-01-24 20:31:01 +01:00
52272938b7 update handling of analog monitors. Manually adding analog monotprs to the checking function is not necessary anymore 2021-01-24 20:27:07 +01:00
58c72fb2bc Add documentation to safety controller code 2021-01-24 20:17:53 +01:00
99d96fb426 Add kd_tau to oven PID parameters 2021-01-24 19:56:00 +01:00
24651fa74d Remove empty lines 2021-01-24 19:55:46 +01:00
56b5ddc209 Fix spelling and underline in shell command for error flags 2021-01-09 23:44:25 +01:00
94726e1466 Fix float notation 2021-01-09 23:44:15 +01:00
d6356de1b6 Fix calculation of safety ADC monitors. 2021-01-09 22:28:22 +01:00
69ff13a991 Add fast moving average filter for faster startup 2021-01-09 22:26:31 +01:00
bbfcd429fe Add SSR safety enable to oven driver 2021-01-09 21:59:59 +01:00
3a07347f48 Implement EEPROM and use it for saving the calibration 2021-01-08 18:39:54 +01:00
0e233a257c Initialize EEPROM in at start of program 2021-01-02 23:04:57 +01:00
95bd606dd8 Add functions for eeprom. Not yet implemented 2021-01-02 23:03:59 +01:00
6e3f90d38e Fix missing magic in SPI driver 2021-01-02 23:03:22 +01:00
82cab98f59 Update SPI driver 2021-01-02 20:28:01 +01:00
2d29857c2f Add SPI driver 2021-01-02 18:56:29 +01:00
bea8e2df74 Store error flags in error memory if they cause a panic event. 2021-01-02 02:37:59 +01:00
7c6205d20a Add supply voltage monitor to safety adc and safety controller 2021-01-01 19:48:53 +01:00
0e114d1344 Add default frequency to loudspeaker set 2021-01-01 19:48:31 +01:00
2c3c1c9861 Add external watchdog to safety controller for HW revision > 1.3 and Release Build 2021-01-01 18:04:14 +01:00
75f9c58c54 Fix bug: Invalid calibration loaded if no calibration is present on sd card 2021-01-01 17:31:35 +01:00
c01b7a9825 Fix broken hardware version detect. v1.3 is now correctly detected. 2021-01-01 17:28:38 +01:00
fed18f1c24 Ram code: Update gitignore 2020-12-21 17:23:19 +01:00
caabde39d2 Updater RAM Code
* Add Fatfs for reading from SD card
* Add structure of Hex parser
2020-12-21 17:21:04 +01:00
1167358c5a Add .bin.h files to ram code's gitignore 2020-12-14 20:32:41 +01:00
444fded972 Delete derived ram code include file 2020-12-14 20:31:53 +01:00
963b1e106c Updater: Write functional ram code loader
Updater RAM Code
----------------
* Ack running watchdog every 250 ms
* Blink green LED every 250 ms

Firmware
--------
* Add RAM code loader
* Reorganize initialization
* Add update command to shell
2020-12-14 20:29:51 +01:00
0d861b1aed Safety Controller: Fix return type of function 2020-12-14 20:29:21 +01:00
d353183826 updater: Add script for converting bin file to C array 2020-12-07 22:35:52 +01:00
a3e652ddb8 Start RAM code for updater 2020-12-07 21:39:14 +01:00
c67298118e Improve GUI 2020-12-07 00:19:42 +01:00
8a8004e187 Add generic function to detzermine reset cuase to rcc manager 2020-12-01 21:24:59 +01:00
b1271cee43 Doxygen 2020-12-01 21:03:05 +01:00
daaf848e0c Renamed clock-enable manager to rcc manager and improve some header files with doxygen comments 2020-12-01 21:00:23 +01:00
ef8e6231ff Issue #4: Implement Constant temperature function in GUI. This is useful to verify the oven parameters 2020-11-30 21:43:38 +01:00
cd35f9e694 Add low pass for Derviative part in PID controller 2020-11-30 21:40:28 +01:00
91d9db6a4e Make Safety ADC use sequnece feature of ADC and use DMA to write data 2020-11-30 00:01:26 +01:00
898feac168 increase shell tx buffer 2020-11-29 20:00:16 +01:00
0b1d872ed0 Make safety controller use config overrides from backup ram 2020-11-29 19:59:58 +01:00
687c72bde7 Use new gui module in main 2020-11-29 19:04:10 +01:00
b6d4a2e35e Implement safety memory functions for config overrides 2020-11-29 19:03:42 +01:00
a474111f36 Use error checking function of config parser in settings module 2020-11-29 19:03:17 +01:00
ed4c18f2be Add error checking function for config parser 2020-11-29 19:02:52 +01:00
f4d6f5a1ae Add PCB/Hardware version detection 2020-11-29 19:02:30 +01:00
32da2a5fa6 Reflow Controller GUI: Move gui to gui.c file in UI subfolder 2020-11-29 19:01:24 +01:00
ec66814184 Decrease history buffer of shellmatta 2020-11-29 17:19:40 +01:00
37bc397e9a Add reset-cal shell command and modify cal command to show existing calibration 2020-11-17 00:53:21 +01:00
d176389711 Add limit to scrolling of flag list in LCD gui 2020-11-17 00:31:24 +01:00
8603f84142 Issue #6: Improve LCD menu and implement function to see safety flags 2020-11-16 20:01:15 +01:00
c02d988350 Issue #21: Adapt calibration routine to new calibration format 2020-11-15 23:36:52 +01:00
11b84afca0 Issue #21: Change calibration apply function 2020-11-15 23:10:19 +01:00
f2405e23b4 Add settings load function for PID parameters 2020-11-08 21:35:41 +01:00
2e640fa7fa Update base 64 library 2020-11-02 23:47:32 +01:00
1a3889b72d Update base64 lib to newest version. Now supports decoding 2020-11-02 23:44:37 +01:00
a7e376deab Add safety memory dump to file functionality 2020-11-02 18:21:24 +01:00
bb39c4b6e0 Fix bug in settings parser 2020-11-02 18:20:57 +01:00
7b1ae3bdc6 Improve code in calibration module 2020-11-02 18:20:17 +01:00
e37001e3c4 improve SDIO driver 2020-11-02 18:19:42 +01:00
09ea84beaf Increase watchdog timeout because some SD card operations need a lot of time 2020-11-02 18:17:50 +01:00
dc9fc2f814 Fix code warnings 2020-11-01 21:24:13 +01:00
32c8e2e937 Add define to move uart on debug header even when compiled in release mode 2020-11-01 21:22:28 +01:00
88360fe307 close config parser after use for reading calibration 2020-11-01 21:03:00 +01:00
57308e18e3 Delete cmsis math library. It is not needed anymore 2020-11-01 21:00:47 +01:00
731cb4fec3 Remove cmsis dsp library from project 2020-11-01 20:59:17 +01:00
8ff276e30d see last commit 2020-11-01 20:58:32 +01:00
1166477a6c Calibration routines adapted
* Implement custom mean and std functions
* Use standard deviation in calibration measurment instead of peak-peak noise.
2020-11-01 20:55:57 +01:00
7aa0b62012 Implement saftey memory dump feature and increase heap space 2020-11-01 20:43:59 +01:00
10596cdbf0 Add base64 library to Makefile 2020-11-01 18:03:52 +01:00
fc6fb1aee0 Add base 64 library 2020-11-01 18:01:28 +01:00
1eeaf3d892 Use new config parser for calibration 2020-11-01 00:59:46 +01:00
a3778fcb6e Change double numbers to float in order to prevent unwanted double to float conversion 2020-10-31 01:11:17 +01:00
86f153bf69 Fix code style 2020-10-31 01:10:46 +01:00
3ca5e41602 Implement config read function 2020-10-30 23:12:39 +01:00
dcec366b0a Implement config_parser_reset_to_start() 2020-10-30 22:24:03 +01:00
14b7bdbf19 Start config parser 2020-10-30 22:21:31 +01:00
af9845cbba Improve style 2020-09-27 23:23:44 +02:00
034ecaa60f Fix bug in menu 2020-09-27 23:02:38 +02:00
ae91affc30 issue #5: Implement safety weight checking in control loop 2020-09-27 22:54:06 +02:00
5fd2db319d Configure safety weight defaults 2020-09-27 22:22:54 +02:00
eec15df271 Fix code style 2020-09-27 22:13:49 +02:00
84c747c81c silence compiler warning about unused parameter 2020-09-22 23:47:18 +02:00
b869ed9c45 Improve comments and doxygen headers 2020-09-22 23:45:22 +02:00
42f6d0270d Issue #6: Implement safety flag ack in shell command safety-flags 2020-09-21 21:51:00 +02:00
e8f59b6dc6 Implement automatic resotre of error mem corrupt flag 2020-09-21 21:10:26 +02:00
d91a1b1da0 Fix #15: Make safety controller use CRC checked settings arrays for weights and persistencies. Weights not yet checked. 2020-09-08 21:46:57 +02:00
004be4ea5c Move safety weights and persistencies to config file 2020-09-08 21:15:23 +02:00
a838bf3af8 Add new Flag: ERR_FLAG_SAFETY_TAB_CORRUPT 2020-09-08 20:15:40 +02:00
1c1d1c4c97 Issue #18: Store correct flag number in error memory 2020-09-08 19:23:14 +02:00
e0f61af709 Issue #18: Protect safety memory heder with CRC 2020-09-08 18:24:10 +02:00
b619fc5600 Restructure panic mode and hardfault calls 2020-09-08 18:23:47 +02:00
2f6590416d Improve documentation of Stack Checking 2020-09-07 23:52:34 +02:00
af555aba21 Issue #20: Move stack checker to safety folder 2020-09-07 21:56:04 +02:00
dd0ee47d86 Issue #20: Add stack checking based on protection area between stack and heap 2020-09-07 21:52:53 +02:00
452abfdd5c Merge branch 'issue/18-Backup-RAM' into issue/20-implement-better-stack-checking 2020-09-07 21:04:37 +02:00
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