Commit Graph

257 Commits

Author SHA1 Message Date
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 cbbd97e1bd Issue #20: Implement driver for RNG 2020-09-07 20:47:56 +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 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 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 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
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 e7d150e8f5 FatFs: Enable relative paths 2020-08-16 01:23:50 +02:00
Mario Hüttel c5667c6895 Toml: Add TOML interpreter for config files 2020-08-16 01:22:57 +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
Mario Hüttel a6dc4f9b46 Add about command to menu and restructure code. Delete preliminary code from mainloop. Better code will follow 2020-06-13 22:47:45 +02:00
Mario Hüttel e627cb67a5 fix smaller bugs in Menu code and implement first test of main menu with one functional sunbmenu for the safety parameters 2020-06-12 01:35:37 +02:00
Mario Hüttel d6e489bb61 Add defines for special LCD characters 2020-06-11 23:58:51 +02:00
Mario Hüttel 7db5f02067 implemnt scrollable menu field. Not yet tested 2020-06-09 22:43:00 +02:00
Mario Hüttel c63986e271 Add further testing code for rotary encoder and lcd 2020-06-09 19:03:33 +02:00
Mario Hüttel 9615fdb39d Further menu implementations 2020-06-04 21:53:00 +02:00
Mario Hüttel fc2372f754 Fix possible error in menu implementation 2020-06-04 21:47:31 +02:00
Mario Hüttel 25bb341fa4 Implement preliminary menu functions 2020-06-04 21:20:59 +02:00
Mario Hüttel 76f5a4e9be Fix error in safety ADC 2020-06-01 22:59:27 +02:00
Mario Hüttel f493b823b3 Add lcd-menu module as specific implementation module for the menu on the LCD 2020-06-01 21:45:36 +02:00
Mario Hüttel d508402aa8 Add basic definitions for menu entries 2020-06-01 21:42:31 +02:00
Mario Hüttel 6477950eea Merge branch 'dev' into ui 2020-06-01 20:53:43 +02:00
Mario Hüttel 5819a0736c Add defines for safety adc conversions 2020-06-01 20:53:28 +02:00
Mario Hüttel f956968cb4 Make reading the global ms tick atomic in order to prevent glitches 2020-06-01 20:45:27 +02:00
Mario Hüttel e659c6d097 make PID controller mathemtaically correct 2020-05-25 01:56:54 +02:00
Mario Hüttel 355e81ba44 Add multitone support for loudspeaker 2020-05-24 23:35:17 +02:00
Mario Hüttel c18acba48b Merge branch 'dev' into ui 2020-05-16 21:08:24 +02:00
Mario Hüttel e97092042b Add preliminary safety ADC which measures the Controller temperature and checks the reference voltage against the STM's internal reference voltage 2020-05-16 21:00:55 +02:00
Mario Hüttel dc8beefb63 Move PT1000 Measurement from ADC1 to ADC3 in order to make ADC1 free for Safety ADC implementation 2020-05-16 20:59:51 +02:00
Mario Hüttel 6c013d5aa3 Merge branch 'dev' into ui 2020-05-11 21:59:25 +02:00
Mario Hüttel 2614cea431 Make claibration routine non blocking 2020-05-11 21:59:08 +02:00
Mario Hüttel b9857745b1 Fix parentheses in macros 2020-05-11 21:52:11 +02:00
Mario Hüttel 0b83125ab5 Merge branch 'dev' into ui 2020-05-10 23:13:47 +02:00
Mario Hüttel 8d6c81441d Add oven PWM controller 2020-05-10 23:13:03 +02:00
Mario Hüttel 5fcb5305f8 Implement dummy for calibration save function 2020-05-09 20:51:30 +02:00
Mario Hüttel 8a0572d698 Move main loop implementation torwards target 2020-05-05 18:55:55 +02:00
Mario Hüttel 2187c1a712 Write a few doxygen headers 2020-05-05 18:19:49 +02:00
Mario Hüttel df82f14206 Make LCD code working. Add FSM for LCD in order to write it in mainloop 2020-05-02 19:10:20 +02:00
Mario Hüttel e237776810 Fix parenthesis in macros 2020-05-02 19:09:17 +02:00
Mario Hüttel 88062dc8e4 Add systick function that checks for passed ticks with correct wrap around 2020-05-02 19:06:42 +02:00
Mario Hüttel 3834bd404c Fix button module and adjust long keypress time to a sane value 2020-04-27 20:18:12 +02:00
Mario Hüttel eb3b0eb459 Merge branch 'dev' into ui 2020-04-27 19:28:32 +02:00
Mario Hüttel 4df68880f0 Add correct handling of sd card, add reset command, add ls command 2020-04-26 21:23:25 +02:00
Mario Hüttel 6e07a363f4 Add settings module 2020-04-26 20:22:00 +02:00
Mario Hüttel 2d3b61550b Fix ADC Watchdog handling 2020-04-26 19:53:06 +02:00
Mario Hüttel 5ae31a1705 Increase ADC_PT1000_WATCHDOG_SAMPLE_COUNT to 50 2020-04-26 19:20:45 +02:00
Mario Hüttel ffe195d7b2 ADC Measurment: Introduce ADC_PT1000_WATCHDOG_SAMPLE_COUNT in order to filter out false Watchdog errors produces by EMI problems" 2020-04-26 18:09:39 +02:00
Mario Hüttel b9a38549dc Add stack_check_collision() function 2020-04-23 00:09:44 +02:00
Mario Hüttel 8df0a6c774 Fix license header 2020-04-20 21:30:00 +02:00
Mario Hüttel 7fca0fc31d Merge branch 'dev' into ui 2020-04-20 21:17:46 +02:00
Mario Hüttel d0fa0cf39c Fix typo in comment 2020-04-20 21:17:24 +02:00
Mario Hüttel c419ca7bcb Add PID controller and oven driver module 2020-04-20 21:16:39 +02:00
Mario Hüttel 9311d0b515 Write button code 2020-02-25 21:01:34 +01:00
Mario Hüttel 0bc341c0aa Merge branch 'dev' into ui 2020-02-25 20:24:12 +01:00
Mario Hüttel a338831d69 Add FatFS hello world. Will be removed but shows, that device is functional 2020-02-25 20:05:48 +01:00
Mario Hüttel 4487f854cd Merge branch 'dev' into ui 2020-02-25 19:49:14 +01:00
Mario Hüttel a39fe09de4 Remove files for onewire sensor. Will add them when necessary. 2020-02-25 19:48:14 +01:00
Mario Hüttel 0ddaef01c8 Start onewire interface. But probably won't finish it 2020-02-25 19:34:50 +01:00
Mario Hüttel c923fb3e12 Add baudrate change function to uart driver 2020-02-24 22:09:58 +01:00
Mario Hüttel 49835d9213 Merge branch 'dev' into ui 2020-02-24 20:03:57 +01:00
Mario Hüttel 1ef7713351 Start implementation of onewire temperature sensor interface 2020-02-24 20:02:45 +01:00
Mario Hüttel 26b8ad852e Add static module for onewire temperature sensors 2020-02-24 19:21:29 +01:00
Mario Hüttel f09877921a start onewire interface 2020-02-24 19:16:46 +01:00
Mario Hüttel 5012b726cd Make Uart driver universal 2020-02-24 18:50:09 +01:00
Mario Hüttel 4bc85d474f c 2020-02-24 18:48:26 +01:00
Mario Hüttel fcbd1ae05e Init Button. Interrupt still missing 2020-02-23 21:48:52 +01:00
Mario Hüttel 6700b0ea81 Add pupdr macros 2020-02-23 21:48:30 +01:00
Mario Hüttel 6965882435 Add temporary LCD code 2020-02-23 21:22:38 +01:00
Mario Hüttel c35c80ce24 Add files for user interface via rotaryencoder/button and LCD 2020-02-23 21:06:42 +01:00
Mario Hüttel 30aa1149a3 Merge branch 'ui' into dev 2020-02-21 23:08:38 +01:00
Mario Hüttel 68fc473372 Add stack checking functions 2020-02-21 23:01:04 +01:00
Mario Hüttel b5d4bf5528 Add stack checker module andf fix all license headers 2020-02-21 21:22:01 +01:00
Mario Hüttel 532262f670 Fix rotary encoder relative change function 2020-02-16 18:17:19 +01:00
Mario Hüttel f8076920fe Start doxygen documentation 2020-02-16 17:35:41 +01:00
Mario Hüttel a35f66f2cd Add code for rotary encoder 2020-02-16 16:38:31 +01:00
Mario Hüttel 6fa071e1d1 Add rotary encoder module 2020-02-16 14:25:49 +01:00
Mario Hüttel 7ade829a70 Make ring buffers volatile 2020-02-16 11:42:18 +01:00
Mario Hüttel c3be39b4e5 Add license header to all files 2020-02-15 22:09:55 +01:00
Mario Hüttel 7df97831be Add conversion function for resistance to temperature conversion and add it to thept command of the shell 2020-02-15 20:31:38 +01:00
Mario Hüttel b13b3b4377 Add script for generating PT1000 lookup dat and generate first header file 2020-02-15 17:54:45 +01:00
Mario Hüttel c568b95cf2 Add calibration routine from shell 2020-02-15 17:54:13 +01:00
Mario Hüttel 5a00950589 Add deactivated PT1000 measurement as error flag, startcode for calibration routine 2020-02-15 01:04:40 +01:00
Mario Hüttel 723afd9f56 Fix arm math header 2020-02-15 01:03:19 +01:00
Mario Hüttel 0da3ebed6f Add unique ID as serial number to version output 2020-02-12 22:24:26 +01:00
Mario Hüttel 26f8e7ae99 Document DMA ring buffer 2020-02-12 21:49:28 +01:00
Mario Hüttel bb898adfac Move include files out of uart folder 2020-02-12 21:06:52 +01:00
Mario Hüttel f04a5c7930 Restructure include hierarchy 2020-02-12 21:00:35 +01:00
Mario Hüttel 673e651910 Add ring buffer for uart TX 2020-02-11 22:49:47 +01:00
Mario Hüttel 69c00ff3d3 * Improve uart dma ring buffer. Sending dma still missing
* Add digio module for controlling LEDs, Loudspeaker, and the Digital IOs
* General code improvements
2020-02-10 22:40:37 +01:00
Mario Hüttel 8bbc2e60f8 Update Firmware with features:
* Shellmatta implemented using UART
* Version string implemented
* Increased heap size
* Add shellmatta printf support
2020-02-09 19:13:37 +01:00