Commit Graph

561 Commits

Author SHA1 Message Date
1a76a69b6d Switch updater to -Os compilation 2021-04-08 21:50:42 +02:00
e50e3f0ace Add verify step to updater 2021-04-08 21:49:53 +02:00
5fb1612773 make updater reboot after successful update 2021-04-08 21:37:49 +02:00
72735915ee Clear code updated status flag upon startup 2021-04-08 21:35:19 +02:00
08ec458e8f Add update code to updater and use uart for status updates 2021-04-08 21:23:25 +02:00
d962110823 Updater: Use -O0 and write flash writer and fix hex parser 2021-04-07 23:14:45 +02:00
bfdc3d3246 Updater: Store update file name in safety memory before executing updater. Currently name is hardcoded. 2021-04-07 13:26:39 +02:00
dca839ce2e Merge branch 'dev' into updater 2021-04-07 13:19:53 +02:00
eea0826c7b updater: Add function to safety memory for storing the update file name 2021-04-07 13:19:16 +02:00
6e5627fde2 Updater: Add safety memory to updater 2021-04-06 20:55:41 +02:00
0f239dc39d Fix warning in temp profile parser 2021-04-06 20:53:18 +02:00
08eee66d30 Issue #28: Change GUI of profile executer 2021-04-06 19:46:31 +02:00
7c9d296e34 Merge branch 'dev' into feature/28-profile-parser 2021-04-06 19:45:37 +02:00
533656ca28 Add Cmake variable for Uart on debug header in release and use -Og for debugbuild instead of -O0 2021-04-06 19:25:25 +02:00
d146b10569 Issue #28: Inmprove GUI of profile executer 2021-04-06 19:23:45 +02:00
8576bf4231 Merge branch 'dev' into feature/28-profile-parser 2021-04-04 19:35:52 +02:00
6ebd74cb31 Safety Bug: Add meas ADC timing flag to output of the pt1000 read function so it becomes invalid in this case. 2021-04-04 19:35:32 +02:00
46125ba752 Issue #28: Implement first working draft of temperature profile GUI 2021-04-04 19:34:13 +02:00
6c9f90c986 Issue #28: Fix buf in profile executer 2021-04-04 19:33:33 +02:00
74defd5384 Add main loop cycle counter for debugging 2021-04-04 19:32:44 +02:00
5deac33949 Implement basic gui for profile selection. Still doesn't do anything 2021-04-04 17:43:31 +02:00
666353e3b7 Merge branch 'dev' into feature/28-profile-parser 2021-04-04 17:01:51 +02:00
df40ab1be7 Update base64 lib submodule 2021-03-23 22:19:43 +01:00
4c3574c2e2 Make project Cmake ready 2021-03-23 22:15:11 +01:00
289f49204d fisr draft of cmake buidl system. Update generation still missing 2021-03-21 22:38:22 +01:00
78b63c853f Issue #28: Start GUI for Temp Profile execution 2021-03-21 21:07:54 +01:00
a25b249d77 Issue #28: Improve script handling 2021-03-21 19:21:36 +01:00
e815442617 Pid Controller: Set integral term lower boundary to 0 2021-03-21 19:18:08 +01:00
60104df30e Issue #28: Write temperture ramp command 2021-03-20 01:02:33 +01:00
08427cc589 Merge branch 'dev' into feature/28-profile-parser 2021-03-19 20:53:58 +01:00
62d745bd3a Fix doxygen header 2021-03-19 20:53:46 +01:00
ba6e0880b4 Merge branch 'dev' into feature/28-profile-parser 2021-03-19 20:52:13 +01:00
ec2c23c9f7 Change unstbale detection range from 10 Ohm to 20 Ohm 2021-03-19 20:51:54 +01:00
6a71416d2a Add void casts to unused parameters 2021-03-19 20:24:49 +01:00
1ecd5edd93 Add temperature profile executer and add shell command 2021-03-19 20:19:37 +01:00
1b4eba1871 Write parser for temp profile language. Not yet tested. 2021-03-19 16:58:14 +01:00
13e7cbfd81 Documentation: Fix docu of overtemp flag 2021-03-18 23:21:17 +01:00
ae97a69d26 documentation 2021-03-18 23:15:13 +01:00
1797dac60b Systick: Correct comments 2021-03-18 22:53:11 +01:00
e3e4a6d926 Merge branch 'dev' into feature/28-profile-parser 2021-03-18 22:50:28 +01:00
dca696cd6a Safety: Fix different spelling mistakes for persistence 2021-03-18 22:50:13 +01:00
93ff4959a2 Issue #28: Start Temp profile parser 2021-03-18 22:44:05 +01:00
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