Commit Graph

215 Commits

Author SHA1 Message Date
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 0fc35db53d Merge branch 'dev' into issue/26-overtemp-flag 2021-02-15 20:36:13 +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 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 55f35a5009 Edit doxygen headers and improve flag weight handling in safety controller 2021-01-25 20:59:48 +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 99d96fb426 Add kd_tau to oven PID parameters 2021-01-24 19:56:00 +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 95bd606dd8 Add functions for eeprom. Not yet implemented 2021-01-02 23:03: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 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 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 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 0b1d872ed0 Make safety controller use config overrides from backup ram 2020-11-29 19:59:58 +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 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 f2405e23b4 Add settings load function for PID parameters 2020-11-08 21:35:41 +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 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 8ff276e30d see last commit 2020-11-01 20:58:32 +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 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 b869ed9c45 Improve comments and doxygen headers 2020-09-22 23:45:22 +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 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 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 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 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 ea26f56545 Issue #18: Check error memory entries at safety ram init 2020-09-05 17:37: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 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 0da6925119 Issue #17: Add override function for deltas of rotary encoder 2020-08-30 18:25:10 +02:00
Mario Hüttel 914abd8562 Issue #17: Add override function for button 2020-08-30 18:20:58 +02:00
Mario Hüttel 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
Mario Hüttel bdfaa67070 Fix typo 2020-08-17 22:26:05 +02:00
Mario Hüttel 4e9b28ce15 Improve SDIO handling 2020-08-17 22:10:04 +02:00
Mario Hüttel e06c9f7ddc Remove toml. Write calibration to dat files. Implement first draft for reading function 2020-08-16 19:37:41 +02:00
Mario Hüttel 42ca1a01b5 Merge branch 'issue/1-shell-function-save-calibration-data' into dev 2020-08-16 12:53:47 +02:00
Mario Hüttel 15d255778c Fix #1: Implement save function for calibration 2020-08-16 12:52:37 +02:00
Mario Hüttel d1d2d514bd Add timing monitor for main loop and add monitors to safety flag command 2020-08-16 12:34:41 +02:00
Mario Hüttel 3c6200e08c Settings: Add preliminary functions to store Claibration data on SD Card. Not yet implemented correctly 2020-08-16 01:24:20 +02:00
Mario Hüttel a68b9176cb Move ADC_TO_RES macro to header file 2020-08-11 23:21:14 +02:00
Mario Hüttel cb3c989683 Docu 2020-08-04 00:55:16 +02:00
Mario Hüttel f6f01b0510 Improve sphinx 2020-08-03 21:13:04 +02:00
Mario Hüttel 464c247e32 Fix a few bugs and implement flags command further 2020-07-30 20:29:48 +02:00
Mario Hüttel 6c4b698fd7 Add safety flag for debugbuild 2020-07-28 23:29:35 +02:00
Mario Hüttel 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
Mario Hüttel da96daa767 Reworked measurement ADC to use safety controller 2020-07-27 22:15:01 +02:00
Mario Hüttel 4f3016649d First draft of safety controller 2020-07-27 21:29:15 +02:00
Mario Hüttel a04e894518 Further work on safety controller 2020-07-26 21:40:09 +02:00
Mario Hüttel 9136dc196c Further rewrite safety handling 2020-07-09 22:31:42 +02:00
Mario Hüttel 5eb51f08b6 Start safety implementation. Completely dumped old stuff 2020-07-07 20:47:22 +02:00
Mario Hüttel 06a75559f0 Add structure for safety controller config. 2020-07-07 19:26:00 +02:00
Mario Hüttel 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
Mario Hüttel 8a365ab5e0 Move safety ADC to safety subfolder 2020-07-06 20:13:01 +02:00
Mario Hüttel 49927a25cf Add Omega as unit for Ohm in LCD menu 2020-06-16 20:05:32 +02:00
Mario Hüttel 78417e0c8c Progress in error handling 2020-06-14 23:36:49 +02:00
Mario Hüttel 62a3e06baa Fixx style problems and design errors in main.c 2020-06-14 23:22:35 +02:00
Mario Hüttel cbd28f9a12 Add safety management in PID handler and main loop 2020-06-14 19:10:09 +02:00
Mario Hüttel 679d4534cb Add formatted prinbt function for LCD menu and use systick vonversion in uptime shell command 2020-06-14 14:45:58 +02:00
Mario Hüttel 0cdc7448e4 Systick: Add function to calculate uptime in days, hours, minutes, and seconds from global tick 2020-06-14 13:35:47 +02:00
Mario Hüttel 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
Mario Hüttel 6f4363e021 Change return value of reflow_menu_handle 2020-06-14 01:31:44 +02:00
Mario Hüttel 2547c134f2 Add PID controller to oven driver module 2020-06-13 23:23:59 +02:00