Commit Graph

31 Commits

Author SHA1 Message Date
Ben V. Brown
6389c00e1d Fix simple mode crash / lockup from buffer overflow 2019-01-01 17:49:11 +11:00
Ben V. Brown
9804a989ff Update hardware.c
Fix type on fallback voltage- @dhiltonp
2018-12-29 16:33:59 +11:00
Ben V. Brown
873eb2a1e9 Move to latest HAL release trying to get I2C DMA to be more reliable, and known good point.
Cleans up some redundant calls as well to make some flash room.
2018-12-16 18:13:59 +11:00
Ben V. Brown
b744f51e2d Fix normal solder screen issues, disable I2C DMA pending some testing 2018-12-16 16:16:31 +11:00
Ben V. Brown
6a1572de81 Slow PWM drive to reduce some handle heating, Improve PWM power for ts80, add ts80 pulse for keep awake 2018-11-11 20:43:35 +11:00
Ben V. Brown
c83174862a Tweak pwm timings, improve Voltage init for more stable startup 2018-11-09 13:14:20 +11:00
David P Hilton
43d11fa8f8 Merge remote-tracking branch 'upstream/master' into watts 2018-10-29 07:34:22 -06:00
Ben V. Brown
6b96474ab5 Trim in QC3 timings 2018-10-29 21:21:39 +11:00
Ben V. Brown
02bdf450b2 Increase PWM output range to 0-255
For #358
Also fixes #394
2018-10-29 20:55:40 +11:00
David P Hilton
76b460cd77 PID rework - use watts 2018-10-28 21:47:58 -06:00
Ben V. Brown
d442a1d185 Fix: Ts80 Divisor links 2018-10-18 14:20:27 +11:00
Ben V. Brown
60a951f56f Fix temperature getting bumped off screen
This fixes the temp gettting bumped because I forgot to reset OLED::cursor_y after writing.

Fixes #376 (hopefully)
2018-10-17 08:22:04 +11:00
Ben V. Brown
b2e52bcb15 Fix build on linux 2018-10-11 15:18:27 +11:00
Ben V. Brown
be414d36e3 Fix QC3 for Ts80 vDiv 2018-10-11 14:59:23 +11:00
Ben V. Brown
7d0af3fc4c TS80 Support Stage 1 (#365)
* Estimated pinout into the ioc file

* Fix Atollic paths to be somewhat more portable

* Add make command

* Add rough calls to ADC2 [untested]

* Using dual ADC injected modes

* Start both ADCs

* Move some IRQ's to ram exec

* Stabilize PID a bit more

* Add in ideas for tip type selection

* Update peripheral setup to support TS80

* Add tiptype formula / settings struct

* Add function ids to the settings menu

* Rough tip selection

* Rough out new cal routine for simple tips

* Hardware test is fairly close for first pass

* Add Simple calibration case [UNTESTED]

This adds the calibration option that uses boiling water to the calibration menu.

This is untested, and may need gain adjustments before use.

* [Feat] Add some QC testing code

* Typo fix

* Add double button press handler for different rising times

* Add hook for jump to sleep mode

* QC for 9V Works!

* Rough out QC handler, trim out old menu help text thats useless

* QC 9V working... Static all the things (Low on ROM)!

* Static all I2C to save space

* Move QC negotiation into background task so it doesnt block the UI

* Input V display works, tune ADC

* QC 3 steps working

* Start tip R measurements

* Impliment tip resistance

* Fix up the accel position, link in auto QC stages

* Fix tip title

* Tip type settings, Static OLED

* Revert I2C callbacks

* Misc Cleanup

* Better Gain value, need to investiate offset

* Add model warning

* Add TS80 Boot Logo (#367)

* Add TS80 Boot Logo

* Refined

* Moved down by 1px

* Add in power selection 18/24W

* Clean up accelerometer, fix TS100 builds, Fix voltage div cal
2018-10-11 14:44:56 +11:00
Kyle Repinski
0c7be326e5 Allow more precise input voltage divider calibration. (#359)
Finer input voltage calibration

Settings divisor is stored as uint16_t, not uint8_t.

* Allow more precise input voltage divider calibration.

The existing code changed the input voltage by multiple
tenths of a volt per adjustment, which is way too coarse.

This commit simply multiplies the ADC value (and its divisor)
by 4, which allows for finer calibration adjustments.

Unfortunately, for safety reasons this requires a settings
version bump. While old stored divider values can be detected
and multiplied by 4 on startup to update them, if the user
downgrades firmware it will happily read the new higher value
and cause all sorts of problems (which could be either reading
higher *or* lower depending on how getInputVoltageX10's
parameter wraps around in old firmware due to incorrect type.
2018-09-20 16:35:33 +10:00
Ben V. Brown
056353ed6a Adding adc2 & new temperature calibration proceedures. [WiP] (#361)
* Add rough calls to ADC2 [untested]

* Using dual ADC injected modes

* Start both ADCs

* Move some IRQ's to ram exec

* Stabilize PID a bit more

* Add in ideas for tip type selection

* Add tiptype formula / settings struct

* Add function ids to the settings menu

* Rough tip selection

* Rough out new cal routine for simple tips

* Hardware test is fairly close for first pass

* Add Simple calibration case [UNTESTED]

This adds the calibration option that uses boiling water to the calibration menu.

This is untested, and may need gain adjustments before use.

* Simple Cal Roughly working

* Rough out advanced cal
2018-09-17 22:18:39 +10:00
Ben V. Brown
3d1d47acee Long overdue additions
Closes #329
Closes #324
Closes #331
Should Close #321
Should Close #301
2018-07-27 19:21:12 +10:00
Ben V. Brown
586267f586 PID retune, ADC Blocks PID properly 2018-04-13 16:19:05 +10:00
Ben V. Brown
f2f20111b6 Force settings reset for 2.04
Also updates FI to #267 but wont be built in releases until string lengths fit.
2018-04-13 10:11:50 +10:00
Ben V. Brown
c9cfe965ef Add more F support, protect I2C on accel2 orientation 2018-04-06 13:13:37 +10:00
Ben V. Brown
37d5cf1e70 ADC Timing alignment bought in 2018-03-23 12:57:06 +11:00
Ben V. Brown
653c71ba2d Remove unused I2C DMA
Slow down I2C to 50kHz
Adjust ADC timing
2018-01-26 12:42:38 +11:00
Ben V. Brown
b0e20b9e2f Slow temp, add #124
Closes #124
2017-12-12 11:26:00 +11:00
Ben V. Brown
fd92271121 Patching Filter Depth
Fixes #115
2017-10-29 10:01:16 +11:00
Ben V. Brown
3bf52cfc69 Increase filter on temp & add batt filter 2017-10-22 21:07:33 +11:00
Ben V. Brown
58a89b67d4 Add voltage calibration 2017-10-06 21:35:50 +11:00
Ben V. Brown
bb75817e83 Degrees D support, New idle logo 2017-10-01 13:30:30 +11:00
Ben V. Brown
82a5ed042d Add new font glyphs, fix sceen rotation on soldering mode. 2017-09-27 11:29:16 +10:00
Ben V. Brown
e351527dd2 Add tip compensation support 2017-09-27 09:42:39 +10:00
Ben V. Brown
347968e4ef Fillout settings functions
Settings menu works
Movement working & TMP calibrated
Tip reading sensibily
Accuracy seems ok
Trimmed down overshoot by biasing integral
Saving to flash working, detailed idle
Sleep mode
Description scrolls
Building for DFU working
Motion detection update
Use manual alg instead, using highpass filter, then sum current change vs rolling average
Re-shuffle the pwm code organisation
2017-09-12 12:59:06 +10:00