Commit Graph

523 Commits

Author SHA1 Message Date
Mario Hüttel 1797dac60b Systick: Correct comments 2021-03-18 22:53:11 +01:00
Mario Hüttel e3e4a6d926 Merge branch 'dev' into feature/28-profile-parser 2021-03-18 22:50:28 +01:00
Mario Hüttel dca696cd6a Safety: Fix different spelling mistakes for persistence 2021-03-18 22:50:13 +01:00
Mario Hüttel 93ff4959a2 Issue #28: Start Temp profile parser 2021-03-18 22:44:05 +01:00
Mario Hüttel 64a97fa048 Issue #26: Add overtemp function to shell 2021-03-14 21:57:33 +01:00
Mario Hüttel d1b8e91674 Fix typo in linker script 2021-03-14 20:08:52 +01:00
Mario Hüttel 0fc35db53d Merge branch 'dev' into issue/26-overtemp-flag 2021-02-15 20:36:13 +01:00
Mario Hüttel 8a764f599b Remove cat command from shell 2021-02-15 20:35:54 +01:00
Mario Hüttel 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
Mario Hüttel 694a78982a Add missing parameter to doxygen header of dc_pt1000_set_resistance_calibration() 2021-02-14 20:11:21 +01:00
Mario Hüttel 7c5b60ec6b #26: Add over temperature monitor settings to eeprom 2021-02-14 20:06:28 +01:00
Mario Hüttel e614eaa23b Correct version of EEPROM header for settings and write check for overtemperature 2021-02-02 20:50:30 +01:00
Mario Hüttel 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
Mario Hüttel 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
Mario Hüttel 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
Mario Hüttel 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
Mario Hüttel 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
Mario Hüttel 67b079fe33 Improve rport error function of safety controller 2021-01-26 21:46:33 +01:00
Mario Hüttel a5c9350835 Fix typo 2021-01-26 21:26:58 +01:00
Mario Hüttel cc545bfc69 Doxygen: use short names 2021-01-26 21:24:11 +01:00
Mario Hüttel 86a0b2087e Fix bug in weight handling of error flags. 2021-01-25 21:07:09 +01:00
Mario Hüttel 55f35a5009 Edit doxygen headers and improve flag weight handling in safety controller 2021-01-25 20:59:48 +01:00
Mario Hüttel 870c228e37 update shellmatta tonewest version with fixed history 2021-01-24 20:59:07 +01:00
Mario Hüttel 2fcc5d6a9f Add further doxygen headers 2021-01-24 20:31:01 +01:00
Mario Hüttel 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
Mario Hüttel 58c72fb2bc Add documentation to safety controller code 2021-01-24 20:17:53 +01:00
Mario Hüttel 99d96fb426 Add kd_tau to oven PID parameters 2021-01-24 19:56:00 +01:00
Mario Hüttel 24651fa74d Remove empty lines 2021-01-24 19:55:46 +01:00
Mario Hüttel 56b5ddc209 Fix spelling and underline in shell command for error flags 2021-01-09 23:44:25 +01:00
Mario Hüttel 94726e1466 Fix float notation 2021-01-09 23:44:15 +01:00
Mario Hüttel d6356de1b6 Fix calculation of safety ADC monitors. 2021-01-09 22:28:22 +01:00
Mario Hüttel 69ff13a991 Add fast moving average filter for faster startup 2021-01-09 22:26:31 +01:00
Mario Hüttel bbfcd429fe Add SSR safety enable to oven driver 2021-01-09 21:59:59 +01:00
Mario Hüttel 3a07347f48 Implement EEPROM and use it for saving the calibration 2021-01-08 18:39:54 +01:00
Mario Hüttel 0e233a257c Initialize EEPROM in at start of program 2021-01-02 23:04:57 +01:00
Mario Hüttel 95bd606dd8 Add functions for eeprom. Not yet implemented 2021-01-02 23:03:59 +01:00
Mario Hüttel 6e3f90d38e Fix missing magic in SPI driver 2021-01-02 23:03:22 +01:00
Mario Hüttel 82cab98f59 Update SPI driver 2021-01-02 20:28:01 +01:00
Mario Hüttel 2d29857c2f Add SPI driver 2021-01-02 18:56:29 +01:00
Mario Hüttel bea8e2df74 Store error flags in error memory if they cause a panic event. 2021-01-02 02:37:59 +01:00
Mario Hüttel 7c6205d20a Add supply voltage monitor to safety adc and safety controller 2021-01-01 19:48:53 +01:00
Mario Hüttel 0e114d1344 Add default frequency to loudspeaker set 2021-01-01 19:48:31 +01:00
Mario Hüttel 2c3c1c9861 Add external watchdog to safety controller for HW revision > 1.3 and Release Build 2021-01-01 18:04:14 +01:00
Mario Hüttel 75f9c58c54 Fix bug: Invalid calibration loaded if no calibration is present on sd card 2021-01-01 17:31:35 +01:00
Mario Hüttel c01b7a9825 Fix broken hardware version detect. v1.3 is now correctly detected. 2021-01-01 17:28:38 +01:00
Mario Hüttel fed18f1c24 Ram code: Update gitignore 2020-12-21 17:23:19 +01:00
Mario Hüttel caabde39d2 Updater RAM Code
* Add Fatfs for reading from SD card
* Add structure of Hex parser
2020-12-21 17:21:04 +01:00
Mario Hüttel 1167358c5a Add .bin.h files to ram code's gitignore 2020-12-14 20:32:41 +01:00
Mario Hüttel 444fded972 Delete derived ram code include file 2020-12-14 20:31:53 +01:00
Mario Hüttel 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
Mario Hüttel 0d861b1aed Safety Controller: Fix return type of function 2020-12-14 20:29:21 +01:00
Mario Hüttel d353183826 updater: Add script for converting bin file to C array 2020-12-07 22:35:52 +01:00
Mario Hüttel a3e652ddb8 Start RAM code for updater 2020-12-07 21:39:14 +01:00
Mario Hüttel c67298118e Improve GUI 2020-12-07 00:19:42 +01:00
Mario Hüttel 8a8004e187 Add generic function to detzermine reset cuase to rcc manager 2020-12-01 21:24:59 +01:00
Mario Hüttel b1271cee43 Doxygen 2020-12-01 21:03:05 +01:00
Mario Hüttel daaf848e0c Renamed clock-enable manager to rcc manager and improve some header files with doxygen comments 2020-12-01 21:00:23 +01:00
Mario Hüttel 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
Mario Hüttel cd35f9e694 Add low pass for Derviative part in PID controller 2020-11-30 21:40:28 +01:00
Mario Hüttel 91d9db6a4e Make Safety ADC use sequnece feature of ADC and use DMA to write data 2020-11-30 00:01:26 +01:00
Mario Hüttel 898feac168 increase shell tx buffer 2020-11-29 20:00:16 +01:00
Mario Hüttel 0b1d872ed0 Make safety controller use config overrides from backup ram 2020-11-29 19:59:58 +01:00
Mario Hüttel 687c72bde7 Use new gui module in main 2020-11-29 19:04:10 +01:00
Mario Hüttel b6d4a2e35e Implement safety memory functions for config overrides 2020-11-29 19:03:42 +01:00
Mario Hüttel a474111f36 Use error checking function of config parser in settings module 2020-11-29 19:03:17 +01:00
Mario Hüttel ed4c18f2be Add error checking function for config parser 2020-11-29 19:02:52 +01:00
Mario Hüttel f4d6f5a1ae Add PCB/Hardware version detection 2020-11-29 19:02:30 +01:00
Mario Hüttel 32da2a5fa6 Reflow Controller GUI: Move gui to gui.c file in UI subfolder 2020-11-29 19:01:24 +01:00
Mario Hüttel ec66814184 Decrease history buffer of shellmatta 2020-11-29 17:19:40 +01:00
Mario Hüttel 37bc397e9a Add reset-cal shell command and modify cal command to show existing calibration 2020-11-17 00:53:21 +01:00
Mario Hüttel d176389711 Add limit to scrolling of flag list in LCD gui 2020-11-17 00:31:24 +01:00
Mario Hüttel 8603f84142 Issue #6: Improve LCD menu and implement function to see safety flags 2020-11-16 20:01:15 +01:00
Mario Hüttel c02d988350 Issue #21: Adapt calibration routine to new calibration format 2020-11-15 23:36:52 +01:00
Mario Hüttel 11b84afca0 Issue #21: Change calibration apply function 2020-11-15 23:10:19 +01:00
Mario Hüttel f2405e23b4 Add settings load function for PID parameters 2020-11-08 21:35:41 +01:00
Mario Hüttel 2e640fa7fa Update base 64 library 2020-11-02 23:47:32 +01:00
Mario Hüttel 1a3889b72d Update base64 lib to newest version. Now supports decoding 2020-11-02 23:44:37 +01:00
Mario Hüttel a7e376deab Add safety memory dump to file functionality 2020-11-02 18:21:24 +01:00
Mario Hüttel bb39c4b6e0 Fix bug in settings parser 2020-11-02 18:20:57 +01:00
Mario Hüttel 7b1ae3bdc6 Improve code in calibration module 2020-11-02 18:20:17 +01:00
Mario Hüttel e37001e3c4 improve SDIO driver 2020-11-02 18:19:42 +01:00
Mario Hüttel 09ea84beaf Increase watchdog timeout because some SD card operations need a lot of time 2020-11-02 18:17:50 +01:00
Mario Hüttel dc9fc2f814 Fix code warnings 2020-11-01 21:24:13 +01:00
Mario Hüttel 32c8e2e937 Add define to move uart on debug header even when compiled in release mode 2020-11-01 21:22:28 +01:00
Mario Hüttel 88360fe307 close config parser after use for reading calibration 2020-11-01 21:03:00 +01:00
Mario Hüttel 57308e18e3 Delete cmsis math library. It is not needed anymore 2020-11-01 21:00:47 +01:00
Mario Hüttel 731cb4fec3 Remove cmsis dsp library from project 2020-11-01 20:59:17 +01:00
Mario Hüttel 8ff276e30d see last commit 2020-11-01 20:58:32 +01:00
Mario Hüttel 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
Mario Hüttel 7aa0b62012 Implement saftey memory dump feature and increase heap space 2020-11-01 20:43:59 +01:00
Mario Hüttel 10596cdbf0 Add base64 library to Makefile 2020-11-01 18:03:52 +01:00
Mario Hüttel fc6fb1aee0 Add base 64 library 2020-11-01 18:01:28 +01:00
Mario Hüttel 1eeaf3d892 Use new config parser for calibration 2020-11-01 00:59:46 +01:00
Mario Hüttel a3778fcb6e Change double numbers to float in order to prevent unwanted double to float conversion 2020-10-31 01:11:17 +01:00
Mario Hüttel 86f153bf69 Fix code style 2020-10-31 01:10:46 +01:00
Mario Hüttel 3ca5e41602 Implement config read function 2020-10-30 23:12:39 +01:00
Mario Hüttel dcec366b0a Implement config_parser_reset_to_start() 2020-10-30 22:24:03 +01:00
Mario Hüttel 14b7bdbf19 Start config parser 2020-10-30 22:21:31 +01:00
Mario Hüttel af9845cbba Improve style 2020-09-27 23:23:44 +02:00
Mario Hüttel 034ecaa60f Fix bug in menu 2020-09-27 23:02:38 +02:00
Mario Hüttel ae91affc30 issue #5: Implement safety weight checking in control loop 2020-09-27 22:54:06 +02:00
Mario Hüttel 5fd2db319d Configure safety weight defaults 2020-09-27 22:22:54 +02:00
Mario Hüttel eec15df271 Fix code style 2020-09-27 22:13:49 +02:00
Mario Hüttel 84c747c81c silence compiler warning about unused parameter 2020-09-22 23:47:18 +02:00
Mario Hüttel b869ed9c45 Improve comments and doxygen headers 2020-09-22 23:45:22 +02:00
Mario Hüttel 42f6d0270d Issue #6: Implement safety flag ack in shell command safety-flags 2020-09-21 21:51:00 +02:00
Mario Hüttel e8f59b6dc6 Implement automatic resotre of error mem corrupt flag 2020-09-21 21:10:26 +02:00
Mario Hüttel 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
Mario Hüttel 004be4ea5c Move safety weights and persistencies to config file 2020-09-08 21:15:23 +02:00
Mario Hüttel a838bf3af8 Add new Flag: ERR_FLAG_SAFETY_TAB_CORRUPT 2020-09-08 20:15:40 +02:00
Mario Hüttel 1c1d1c4c97 Issue #18: Store correct flag number in error memory 2020-09-08 19:23:14 +02:00
Mario Hüttel e0f61af709 Issue #18: Protect safety memory heder with CRC 2020-09-08 18:24:10 +02:00
Mario Hüttel b619fc5600 Restructure panic mode and hardfault calls 2020-09-08 18:23:47 +02:00
Mario Hüttel 2f6590416d Improve documentation of Stack Checking 2020-09-07 23:52:34 +02:00
Mario Hüttel af555aba21 Issue #20: Move stack checker to safety folder 2020-09-07 21:56:04 +02:00
Mario Hüttel dd0ee47d86 Issue #20: Add stack checking based on protection area between stack and heap 2020-09-07 21:52:53 +02:00
Mario Hüttel 452abfdd5c Merge branch 'issue/18-Backup-RAM' into issue/20-implement-better-stack-checking 2020-09-07 21:04:37 +02:00
Mario Hüttel ba41c0911d Add necessary sections for stack protection area and implement fill function 2020-09-07 21:03:37 +02:00
Mario Hüttel cbbd97e1bd Issue #20: Implement driver for RNG 2020-09-07 20:47:56 +02:00
Mario Hüttel 20e2a2b84b Doxygen: Fix bug of IN_SECTION macro and __atribute__ 2020-09-06 22:13:51 +02:00
Mario Hüttel 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
Mario Hüttel 192bcf01f6 Merge branch 'issue/18-Backup-RAM' into issue/15-safety-controller-hardening 2020-09-06 19:54:09 +02:00
Mario Hüttel 9880c701b1 Issue #15: Introduce safety weigths 2020-09-06 19:52:44 +02:00
Mario Hüttel 910037a562 Issue #18: Write doxygen headers for safety memory 2020-09-06 19:45:45 +02:00
Mario Hüttel 6232e2f330 Issue #18: Store permanent errors in safety backup RAM 2020-09-06 01:40:10 +02:00
Mario Hüttel c4fe006efa Issue #15: Implement redundancy for error flags 2020-09-05 20:29:21 +02:00
Mario Hüttel b2b1702670 Issue #15: add redundant invers error flag 2020-09-05 20:17:35 +02:00
Mario Hüttel 1f8a6347e9 Issue #15: Move safety controller working pages to CCMRAM 2020-09-05 20:14:08 +02:00
Mario Hüttel d0cf95db49 Issue #18: further iomplementation of safety memory 2020-09-05 20:06:13 +02:00
Mario Hüttel e50602611c Issue #18: Documentation of boot status flags 2020-09-05 19:00:01 +02:00
Mario Hüttel 95382d9ab8 Make interrupt default handler trigger panic mode. 2020-09-05 18:23:53 +02:00
Mario Hüttel e96a710576 Make interrupt default handler trigger panic mode. 2020-09-05 18:23:17 +02:00
Mario Hüttel 2673112a9c Reflow menu: Stop rendering the menu although nothing has changed. This reduces the current consumption. 2020-09-05 18:04:52 +02:00
Mario Hüttel b8b8e19206 Reflow menu: Stop rendering the menu although nothing has changed. This reduces the current consumption. 2020-09-05 18:03:05 +02:00
Mario Hüttel ea26f56545 Issue #18: Check error memory entries at safety ram init 2020-09-05 17:37:56 +02:00
Mario Hüttel e85a85d9c3 Issue #18: ommand to shell in order to test panic mode 2020-09-05 16:56:56 +02:00
Mario Hüttel 3df0631ffc Issue #18: Implement writing and reading boot status structure from backup RAM 2020-09-05 16:32:31 +02:00
Mario Hüttel 7434554319 Issue #18: Fix bugs in safety memory handling 2020-09-05 15:56:52 +02:00
Mario Hüttel c9a5a2c2ff Issue #18: Write init of safety memory 2020-09-05 15:15:46 +02:00
Mario Hüttel 04008a07c0 Issue #18: Implement CRC calculation module 2020-09-05 12:17:36 +02:00
Mario Hüttel 928dbfb9f3 Issue #18: Firther improve documentation 2020-09-04 23:51:51 +02:00
Mario Hüttel 0f0afcf359 Issue #18: Add safety mem corrupt error flag 2020-09-04 23:04:27 +02:00
Mario Hüttel 5d437f3a9f Fix documentation and add safety RAM module to Makefile 2020-09-04 23:02:23 +02:00
Mario Hüttel cb3b42aece Start documentation for safety RAM. Will be implemented afterwards 2020-09-04 22:55:34 +02:00
Mario Hüttel a12648ff7a Issue #18: Backup RAM: Make use of backup regulator optional 2020-09-04 21:33:54 +02:00
Mario Hüttel d3c4e1bffc Issue #18: Implement driver for backup RAM 2020-09-04 21:03:53 +02:00
Mario Hüttel 45c0625864 fixup style issues 2020-08-31 22:58:00 +02:00
Mario Hüttel 03e1ccf97e Fix style 2020-08-31 22:50:39 +02:00
Mario Hüttel 0fd738f37e Fix startup code bug in release mode 2020-08-30 19:40:33 +02:00
Mario Hüttel f32d1afde5 Issue #17: Add ui-emulate command to shell 2020-08-30 18:44:36 +02:00