Commit Graph

619 Commits

Author SHA1 Message Date
Mario Hüttel a802b5c1b5 Add main cylcle counter and increase filter alpha for PT1000 to 0.01 2021-08-19 21:25:04 +02:00
Mario Hüttel e4ebf9ec3f Add CRC monitoring over ADC registers 2021-07-23 20:06:09 +02:00
Mario Hüttel fdb1c6e893 Fix memory checking. The stack is now completely copied to CCMRAM before testing the main memory. 2021-07-19 22:29:13 +02:00
Mario Hüttel e753504ae3 Check for python in RAM code and use find_package to determine the python interpreter 2021-07-17 15:25:25 +02:00
Mario Hüttel 2fa12cda60 Throw error in case the python virtualenv cannot be found 2021-07-17 15:12:45 +02:00
Mario Hüttel 17609a2491 Add automatic flash CRC patching to cmake 2021-07-16 21:57:30 +02:00
Mario Hüttel 1e870972e3 Improve code and add a Flash CRC check 2021-07-16 21:17:59 +02:00
Mario Hüttel 864c3fa0f2 Fix bug in handling of error memory NOP entries 2021-07-16 17:29:04 +02:00
Mario Hüttel 9c872f6746 Improve documentation and beatify pieces of code 2021-07-15 19:50:14 +02:00
Mario Hüttel 8a9bd0df6e Add documentation for reflow controller 2021-07-15 00:20:03 +02:00
Mario Hüttel baf6b67658 Fix #35: List with updae filename was freed before it was used. This is now fixed and working 2021-07-13 21:05:00 +02:00
Mario Hüttel 41fbb83b46 Fix #34: Broken PID derivate term calculation. Sign error fixed 2021-07-13 20:32:12 +02:00
Mario Hüttel 67932bf465 Fix aligment problems in Linkerscript 2021-05-24 12:38:37 +02:00
Mario Hüttel 90c6165278 Move push button and rotary encoder files to UI folder 2021-05-22 17:05:56 +02:00
Mario Hüttel 8c0cfa4993 Doxygen headers 2021-05-22 17:02:37 +02:00
Mario Hüttel 5f91659d04 Doxygen headers 2021-05-22 16:46:26 +02:00
Mario Hüttel fdb3ceb3e9 Restructuring and comments 2021-05-22 16:40:08 +02:00
Mario Hüttel 7e3d2d1d0b Expand documentation 2021-05-22 15:27:55 +02:00
Mario Hüttel ef2cd6acfe Change doxygen config 2021-05-22 15:26:39 +02:00
Mario Hüttel d9bd434dc6 Fix indent 2021-05-22 12:45:46 +02:00
Mario Hüttel 4ed2203b35 Improve code style and comments 2021-05-22 12:44:43 +02:00
Mario Hüttel 0b1ce8b614 Fix #32:
* Implement clear flags command for profile language.
2021-05-22 12:13:43 +02:00
Mario Hüttel bc5e4c14df Issue #5: Implement startup screen in case apanic happened and prevent the PID controller from starting when a watchdog reset has occured 2021-05-22 11:59:54 +02:00
Mario Hüttel 00c796c58f Merge branch 'memory-test' of mhu/reflow-oven-control-sw into dev 2021-05-22 11:41:22 +02:00
Mario Hüttel 708fdea058 Add static blocking write function to gui. This allows us to set a updating... status on the display when starting the updater. 2021-05-22 11:34:33 +02:00
Mario Hüttel ebb1383957 Write memory test for system RAM 2021-05-22 11:25:55 +02:00
Mario Hüttel 3345004213 Merge branch 'dev' into memory-test 2021-05-22 00:23:18 +02:00
Mario Hüttel 71315b7c92 Issue #28: Implement update successful notification. 2021-05-22 00:14:56 +02:00
Mario Hüttel 410a5d4dd1 Change -Og to -O0 because it made a lot of problems when debugging 2021-05-22 00:13:07 +02:00
Mario Hüttel 528db7a581 Fix error in CCM Ram test 2021-05-22 00:06:51 +02:00
Mario Hüttel 384e127085 Add first draft of memory checking for CCM RAM 2021-05-20 23:55:32 +02:00
Mario Hüttel fe0bde5c32 Fix wrong string constant 2021-05-20 23:54:42 +02:00
Mario Hüttel 2beaccbe32 Fix typo in comment 2021-05-20 23:54:21 +02:00
Mario Hüttel b6760ff426 Merge branch 'issue/24-update-could-fail' of mhu/reflow-oven-control-sw into dev 2021-05-16 20:41:56 +02:00
Mario Hüttel ee5dda4a33 Issue #25: Add update menu to GUI 2021-05-16 20:34:09 +02:00
Mario Hüttel afb8e93b13 Rework function for finding temperature profiles to be able to search for any pattern 2021-05-16 19:57:08 +02:00
Mario Hüttel 9bd0dd194b Issue #24: Fix bug in update code 2021-05-16 19:53:46 +02:00
Mario Hüttel 6322c3728b Use singly linked list to store profile commands. 2021-05-15 21:58:00 +02:00
Mario Hüttel 174bf4220e Remove unused function 2021-05-15 21:57:23 +02:00
Mario Hüttel 566436201e Increase heap size 2021-05-15 21:56:33 +02:00
Mario Hüttel 61e3b58992 Use singly linked list dfor temperature profile file list 2021-05-07 22:09:55 +02:00
Mario Hüttel 01b445a0fb Update linked list library and include it into build 2021-04-10 22:35:30 +02:00
Mario Hüttel 5437a323c3 Add linklist submodule 2021-04-10 22:29:18 +02:00
Mario Hüttel 28e42d3306 Shell: Update: Print error if no update file name is specified 2021-04-10 22:28:30 +02:00
Mario Hüttel 08606689b4 Update fatfs in main application 2021-04-10 20:35:33 +02:00
Mario Hüttel 5776feee85 Merge branch 'dev' of git.shimatta.de:mhu/reflow-oven-control-sw into dev 2021-04-10 20:13:29 +02:00
Mario Hüttel 6273c68821 Shell update command: Take file name as argument 2021-04-10 20:09:52 +02:00
Mario Hüttel 3381840bba Modify git version generation in cmake 2021-04-10 20:09:15 +02:00
Mario Hüttel cf35ba735f Modify git version generation in cmake 2021-04-10 19:40:49 +02:00
Mario Hüttel 3f31acfada Updater: Fix missing line break in uart output 2021-04-10 15:42:19 +02:00
Mario Hüttel 77251cc1bc increase stack and heap sizes 2021-04-10 14:44:27 +02:00
Mario Hüttel f2972903d5 Use safer string copying in gui for file list 2021-04-10 14:37:51 +02:00
Mario Hüttel 31b17dfd8d Updater: Clear shell at startup and print size of update 2021-04-10 14:37:05 +02:00
Mario Hüttel 9f1a791be2 Remove custom option checker and use the one of the shellmatta instead 2021-04-10 14:10:17 +02:00
Mario Hüttel 54416a6350 Edit Cmake file to use ENV variable to device if Uart is on debug header or not 2021-04-10 13:45:00 +02:00
Mario Hüttel 9c94428144 Bugfix: button ready state not correctly detected when menu drops back 2021-04-10 13:24:15 +02:00
Mario Hüttel 81155887de Bug: Fix missing variable in printf varargs for gui 2021-04-10 13:11:35 +02:00
Mario Hüttel 8309cef5ec Updater: Fix updating code 2021-04-08 22:03:38 +02:00
Mario Hüttel 1a76a69b6d Switch updater to -Os compilation 2021-04-08 21:50:42 +02:00
Mario Hüttel e50e3f0ace Add verify step to updater 2021-04-08 21:49:53 +02:00
Mario Hüttel 5fb1612773 make updater reboot after successful update 2021-04-08 21:37:49 +02:00
Mario Hüttel 72735915ee Clear code updated status flag upon startup 2021-04-08 21:35:19 +02:00
Mario Hüttel 08ec458e8f Add update code to updater and use uart for status updates 2021-04-08 21:23:25 +02:00
Mario Hüttel d962110823 Updater: Use -O0 and write flash writer and fix hex parser 2021-04-07 23:14:45 +02:00
Mario Hüttel bfdc3d3246 Updater: Store update file name in safety memory before executing updater. Currently name is hardcoded. 2021-04-07 13:26:39 +02:00
Mario Hüttel dca839ce2e Merge branch 'dev' into updater 2021-04-07 13:19:53 +02:00
Mario Hüttel eea0826c7b updater: Add function to safety memory for storing the update file name 2021-04-07 13:19:16 +02:00
Mario Hüttel 6e5627fde2 Updater: Add safety memory to updater 2021-04-06 20:55:41 +02:00
Mario Hüttel 0f239dc39d Fix warning in temp profile parser 2021-04-06 20:53:18 +02:00
Mario Hüttel 08eee66d30 Issue #28: Change GUI of profile executer 2021-04-06 19:46:31 +02:00
Mario Hüttel 7c9d296e34 Merge branch 'dev' into feature/28-profile-parser 2021-04-06 19:45:37 +02:00
Mario Hüttel 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
Mario Hüttel d146b10569 Issue #28: Inmprove GUI of profile executer 2021-04-06 19:23:45 +02:00
Mario Hüttel 8576bf4231 Merge branch 'dev' into feature/28-profile-parser 2021-04-04 19:35:52 +02:00
Mario Hüttel 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
Mario Hüttel 46125ba752 Issue #28: Implement first working draft of temperature profile GUI 2021-04-04 19:34:13 +02:00
Mario Hüttel 6c9f90c986 Issue #28: Fix buf in profile executer 2021-04-04 19:33:33 +02:00
Mario Hüttel 74defd5384 Add main loop cycle counter for debugging 2021-04-04 19:32:44 +02:00
Mario Hüttel 5deac33949 Implement basic gui for profile selection. Still doesn't do anything 2021-04-04 17:43:31 +02:00
Mario Hüttel 666353e3b7 Merge branch 'dev' into feature/28-profile-parser 2021-04-04 17:01:51 +02:00
Mario Hüttel df40ab1be7 Update base64 lib submodule 2021-03-23 22:19:43 +01:00
Mario Hüttel 4c3574c2e2 Make project Cmake ready 2021-03-23 22:15:11 +01:00
Mario Hüttel 289f49204d fisr draft of cmake buidl system. Update generation still missing 2021-03-21 22:38:22 +01:00
Mario Hüttel 78b63c853f Issue #28: Start GUI for Temp Profile execution 2021-03-21 21:07:54 +01:00
Mario Hüttel a25b249d77 Issue #28: Improve script handling 2021-03-21 19:21:36 +01:00
Mario Hüttel e815442617 Pid Controller: Set integral term lower boundary to 0 2021-03-21 19:18:08 +01:00
Mario Hüttel 60104df30e Issue #28: Write temperture ramp command 2021-03-20 01:02:33 +01:00
Mario Hüttel 08427cc589 Merge branch 'dev' into feature/28-profile-parser 2021-03-19 20:53:58 +01:00
Mario Hüttel 62d745bd3a Fix doxygen header 2021-03-19 20:53:46 +01:00
Mario Hüttel ba6e0880b4 Merge branch 'dev' into feature/28-profile-parser 2021-03-19 20:52:13 +01:00
Mario Hüttel ec2c23c9f7 Change unstbale detection range from 10 Ohm to 20 Ohm 2021-03-19 20:51:54 +01:00
Mario Hüttel 6a71416d2a Add void casts to unused parameters 2021-03-19 20:24:49 +01:00
Mario Hüttel 1ecd5edd93 Add temperature profile executer and add shell command 2021-03-19 20:19:37 +01:00
Mario Hüttel 1b4eba1871 Write parser for temp profile language. Not yet tested. 2021-03-19 16:58:14 +01:00
Mario Hüttel 13e7cbfd81 Documentation: Fix docu of overtemp flag 2021-03-18 23:21:17 +01:00
Mario Hüttel ae97a69d26 documentation 2021-03-18 23:15:13 +01:00
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