1
0
forked from me/IronOS
Commit Graph

55 Commits

Author SHA1 Message Date
Ben V. Brown
fd285b3364 Fixup for scrollbar
FIXUP! Debug menu returns to home screen

FIXUP! Up oled animation

Fix temp exit
2023-10-24 08:27:05 +11:00
Ben V. Brown
a80db0af5a OLED Up animation 2023-10-24 08:27:05 +11:00
Ben V. Brown
86fed6bfbe Fixes for some animations not running
Dont bail on animations if keypress is still held
2023-10-24 08:27:05 +11:00
Ben V. Brown
1a936b84f2 Update OLED.cpp 2023-10-24 08:27:05 +11:00
Ben V. Brown
c85fa4affa Force write screen on side animation cancel
.
2023-10-24 08:27:05 +11:00
Ivan Zorin
65ac2e25a6 Add Core/Drivers to the scope of style check by clang-format (#1754)
* clang-format: add ./Core/Drivers (except usb-pd) to the scope of style check

* Fix missed suggestion

---------

Co-authored-by: discip <53649486+discip@users.noreply.github.com>
Co-authored-by: Ben V. Brown <5425387+Ralim@users.noreply.github.com>
2023-07-28 09:39:01 +00:00
Ivan Zorin
c7574c4d0c Implement printSymbolDeg() helper function as method for OLED class (#1743)
* implement printSymbolDeg() helper function as method for OLED class

* Remove extra line added by mistake

* OLED::printSymbolDeg - add drawSymbol calls

* OLED: make comments more clear for implemented method

* OLED::printSymbolDeg(): attempt to improve read-ability replacing if/else by switch/case

* OLED::printSymbolDeg() - add comment for drawSymbol to clarify its underhood

* get tipTemp using ?/: instead of if/else

* Implement getTipTemp() helper

* Add missing header

---------

Co-authored-by: Ben V. Brown <5425387+Ralim@users.noreply.github.com>
2023-07-18 20:38:14 +10:00
Ivan Zorin
cbde61edb4 Cosmetic code style refactoring: add enum for screen orientation & define for OLED state (#1732)
* saveSettings: add comment for #endif, update var name to reflect its purpose regardless its one-time & temporal

* Settings.h: add enum for orientation mode

* settingsGUI.cpp: add markings for #endifs, add/remove extra new lines to propose better code read-ability in my humble vision from the side, didnt touch any functionality only cosmetic syntax

* settingsGUI.cpp: remove added-by-accident new line in the end of the file

* OLED.hpp: unify ifdef section, add markings for #endifs, add readable macros for ON/OFF OLED state instead of magic numbers

* OLED.cpp: add markings for #endifs, add readable macros for ON/OFF OLED state instead of magic numbers, trying unify common style for the whole file for better read-ability

* Settings.cpp: unify code style

* settingsGUI.cpp: revert true/false for setDisplayRotation

* OLED.cpp: unify comments style
2023-07-05 12:41:16 +10:00
Ben V. Brown
c43063ee8c Fixup overlapping variables on oled draw 2023-06-29 18:58:14 +10:00
Ben V. Brown
803d75cd9d Init startup to both buffers
Just in case
2023-06-28 19:14:08 +10:00
Ben V. Brown
159555f299 Update OLED.cpp 2023-06-28 19:13:03 +10:00
Ben V. Brown
5d04df39e0 Adjust divider
Update OLED.cpp
2023-06-27 21:56:13 +10:00
Ben V. Brown
691abd5caa Fix OLED display scroll speed being painfully slow + junk on ease in/out 2023-06-19 17:12:51 +10:00
Ben V. Brown
c6918093fb Larger OLED Support (#1713)
* Update header to declare full buffer size

* Strip refactoring

* Refactor the OLED scrolldown part 1

* High res capable scroll down

* Allow button press to skip scroll

* Bunch of Misc Fixups
2023-06-18 22:50:31 +10:00
Ivan Zorin
a1b9e40f67 Show power source type on detailed screen in soldering mode (#1708) (#1709)
* Show power source type on detailed screen in soldering mode (#1708)

* Update according to code review
2023-06-18 21:38:26 +10:00
Ben V. Brown
313336b61f Swap OLED offset write to reduce glitching
@discip
2023-06-18 14:22:08 +10:00
Ben V. Brown
286afad919 S60 Support (#1692)
* Mock S60

* cleanup

* Start refactor of OLED init

* Setup timers roughly

* Set Vector table offset correctly

Update system_stm32f1xx.c

* Update OLED.cpp

* Update stm32f1xx_hal_msp.c

* Update configuration.h

* I2C init before GPIO

From Errata

Update stm32f1xx_hal_msp.c

Update Software_I2C.h

Allow no hardware I2C

* I2C BB run bus unlock at init

* cleanups

* Software I2C for now

* Mildly more graceful Interpolate

* Handle is powered by DC

Update Power.cpp

Update drawPowerSourceIcon.cpp

Update configuration.h

Update Setup.cpp

* Cleanup HomeScreen

* Segment remap oled at init

* Cleanup

* Update MOVThread.cpp

* Fix PWM Init

* Fix adc2 trigger

* Update configs

* Fixup warning

* Saner default config

* Update ThermoModel.cpp

* Util for current@voltage

* Hub238 warning

* Add hub238 handling in power mode

* Update USBPDDebug_FUSB.cpp

* HUSB238 debug

* Hook PSU Limit

* Use wrapping section of GRAM for scroll

Update OLED.hpp

* Update NTC table

* Fix HUB voltage picker

* Cleanup

* Larger tip filter

* Calibrate in a bunch closer

Update ThermoModel.cpp

* Update configuration.h

* Update HUB238.cpp

* Update configuration.h

* Movement Pin

* Update BSP.cpp

* tim2 irq

* Rough timer conversion (adc broken) but movement working

* Fix tim2 start

* Faster base PWM

* Ensure utils grabs config

* Add wattage limiter tolerance for device

* Speed up PWM and enable PWM current limiting

* tune for 12v

* Prevent start until PD done

* Update configuration.h

* Add HUB238 check for have re-negotiated

* Adjust timer to avoid noise when its possible
2023-06-03 20:05:31 +10:00
Ben V. Brown
4e37c7bea7 Merge branch 'dev' into BLE 2023-01-23 17:22:06 +11:00
Ben V. Brown
afb7628983 FIXUP! Bugfix auto fontstyle 2022-12-11 13:52:43 +11:00
Ben V. Brown
e9a28c3671 Unify more of the font generation logic between both paths and coalesce all fonts 2022-12-05 22:26:03 +11:00
Ben V. Brown
fdc31467aa Use size encoded symbols
Update make_translation.py
2022-12-05 22:26:03 +11:00
Ben V. Brown
d0ed30ecb6 Split display checksum out 2022-11-20 21:16:38 +11:00
Ben V. Brown
3e66648768 Force full redraw on rotate 2022-11-20 18:43:43 +11:00
Ben V. Brown
7eb9f3f10d Only send on display change 2022-11-06 22:10:09 +11:00
Ben V. Brown
1fbcdcdf98 Pinecil V2 (#1341)
* Add SDK

* fork

* massaging makefile

* Drop git module

* Bring in sdk as its broken

Far, Far to much crap to fix with regex now

* Remove bl706

* rf_para_flash_t is missing defs

* Remove crapton of junk

* Remove yet more

* Poking I2C

* Update peripheral_config.h

* Update pinmux_config.h

* Update preRTOS.cpp

* Update main.hpp

* Setup template

* Verbose boot

* I2C ish

* Update I2C_Wrapper.cpp

* Update main.cpp

* Turn off I2C reading for now

* Display running

* Roughing out scheduling timer0

* Starting ADC setup

* Working scheduling of ADC 🎉

* Format adc headers

* Update IRQ.cpp

* Buttons working

* Slow down I2C

* Poking IRQ

* Larger stack required

* Accel on

* Trying to chase down why __libc_init_array isnt working yet

* Working c++

* Cleanup

* Bump stacks

* I2C wake part workaround

* Cleanup

* Working PWM init

* qc draft

* Hookup PWM

* Stable enough ADC

* ADC timing faster + timer without HAL

* Silence

* Remove boot banner

* Tuning in ADC

* Wake PID after ADC

* Remove unused hal

* Draft flash settings

* Working settings save & restore

* Update to prod model

* Cleanup

* NTC thermistor

* Correct adc gain

* Rough tip resistance progress

* Scratch out resistance awareness of the tip

* better adc settings

* Tweaking ADC

* ADC tweaking

* Make adc range scalable

* Update Dockerfile

* Update configuration.h

* Can read same ADC twice in a row

* ADC Setup

* Update PIDThread.cpp

* Lesser adc backoff

* Update USBPD.h

* Add device ID

* Update BSP_Power.h

* Update BSP.cpp

* DrawHex dynamicLength

* Shorter ID padding

* Show validation code

* tip measurement

* Create access for w0w1

* Expose w0 w1

* Enable debug

* crc32

* Device validation

* wip starting epr

* Logic refactor

* Safer PWM Init

* PD cleanups

* Update bl702_pwm.c

* Update power.cpp

* Update usb-pd

* io

* EPR decode

* Better gui for showing pd specs

* Rough handler for capabilities

* EPR

* Fix > 25V input

* Perform pow step after PPS

* Update BSP.cpp

* Fix timer output

* QC3

* Add tip resistance view

* Hold PD negotiation until detection is done for tip res

* Get Thermal mass

* Tip res =0 protection

* Update PIDThread.cpp

* Update GUIThread.cpp

* Rewrite tip resistance measurement

* Update GUIThread.cpp

* Fix fallback

* Far better tip resistance measurement

* Fix QC 0.6V D-

* Convert the interpolator to int32

* Correct the NTC lookup

* Update BSP.cpp

* Update Setup.cpp

* .

Update configuration #defines

More backported functions

* Update usb-pd

* More missed updates

* Refactor BSP

Magic BSP -> PinecilV2
Pine64 BSP -> Pinecil

Update Makefile

* Add Pinecilv2 to CI

* Pinecil v2 multi-lang

Update push.yml

* Update HallSensor.md

* Update README.md

* Fix wrong prestartcheck default

* Fix logo mapping

* Update Makefile

* Remove unused font block

* Style

* Style

* Remove unused timer funcs

* More culling TS80P

* Revert "More culling TS80P"

This reverts commit 2078b89be7.

* Revert "Remove unused timer funcs"

This reverts commit 0c693a89cc.

* Make VBus check maskable

* Remove DMA half transfer

* Drop using brightness and invert icons and go back to text

Saves flash space

* Refactor settings UI drawing descriptions

* Shorten setting function names

* Store bin file assets

* Fix MHP prestart
2022-08-19 15:39:37 +10:00
Ben V. Brown
7fcd2b7c5b Animation non block (#1347)
* Buttons cancel animation

* Button cancels transition

* Update OLED.cpp
2022-08-12 10:36:10 +10:00
Ben V. Brown
dd239375b1 All Ticks as the right TickType
Update usb-pd
2022-07-25 16:45:29 +10:00
Ben V. Brown
078b8f5626 DeviceID (#1314)
* Ability to print hex

* Add device ID getter

* Refactor debug menu

* No longer need patch

* Update make_translation.py

* Fix typo

* Fix hex drawing
2022-06-16 21:39:53 +10:00
Ben V. Brown
3594604efc Fixes for I2C on Pinecil + USB-PD stack (#1099)
* Remove unused includes

* Adding in submodule

* Move fusb functions to the BSP

* Remove old code

* Creating IronOS PD integration wrapper

* Redirect to wrapper

* pd lib updates

* fix Docker build

* Finish linking across

* Cleanup

* Update Makefile

* Update push.yml

* Update push.yml

* PD -> Compensate for different tick rates

* Update codeql-analysis.yml

* Fix PD #define for @Firebie

* Check irq low at start

* Update BSP.h

* Update main.cpp

* Closer delay

* Update OLED.cpp

* Bugfix trying to start QC too early

* Missing fusb shouldnt hang qc

* Update FreeRTOSConfig.h

* Update the GD drivers

* Update Pinecil IRQ setup

* Redirect printf() to uart

* Update Power.cpp

* Adding extras to PD state

* Update USBPD.cpp

* Delay in printf

* Iterate once before delay on start

* Update usb-pd

* master usb-pd now

* Format gd libs

* Update gd32vf103_bkp.c

* Guard with PD timeout

* Remove CodeQL

* Slow for testing, fix runt pulses at start

* Fix runt pulse in read size 1

* Cleaner probing setup

* Testing delay during stop gen in read 1

* Update I2C driver

* Update gd32vf103_i2c.c

* Cleaning up i2c wrapper a little, given up on dma for rx

* Update preRTOS.cpp

* Update Setup.cpp

* Update MOVThread.cpp

* Slow down UART to work with new clock config

* Better ack setup for 2 byte read

* Cleanup POW_PD so cant be lost in #includes

* tipResistance -> TIP_RESISTANCE

* handle NOP race on len==2

* Update configuration.h

* Dont use neg timeout to mask anymore

* Not required for MHP

* Fix up source display Miniware

* Fix race on PD init

* Update POWThread.cpp

* Update formatting

* MHP format

* Update push.yml

* Faster TS80P I2C

* Bugfix for IRQ handlers

* Correctly handle I2C race on PD access

* Fix CI error (unused var) and MHP IRQ

* Test Pinecil alt ADC mode
2021-10-02 14:48:58 +10:00
Ben V. Brown
4b2f350b35 Contrast -> Brightness
As it makes a little more sense in a 1 bit display
2021-09-12 19:14:45 +10:00
Alvin Wong
4ab3b5b116 Add POC contrast and screen invert settings 2021-07-14 16:13:11 +08:00
Ben V. Brown
0be4d596e3 Update OLED.cpp 2021-05-04 19:23:34 +10:00
Ben V. Brown
a7f1c076ef Merge branch 'master' into MHP30 2021-05-04 19:20:12 +10:00
Alvin Wong
a27db526af Remove the scroll indicator when scrolling menu 2021-05-03 16:53:45 +08:00
Alvin Wong
82c985d785 Impl. menu item scroll down animation 2021-05-02 21:57:45 +08:00
Ben V. Brown
27aecd2436 Merge branch 'master' into MHP30 2021-04-30 21:19:31 +10:00
alvinhochun
1a0b542ae6 [RFC] Multi-language firmware (second try) (#941)
* Impl. sectioned font table in firmware

* make_translation.py: Extract build_symbol_conversion_table function

* Put translation indices and strings in a struct

* Move translation objcopy step to Python

* Impl. multi-language firmware demo

* Impl. strings-compressed multi-lang firmware demo

* Add font compression to multi-lang demo

* Refactor Makefile a bit

* Fix rules for make < 4.3

* Add more multi-lang groups

* Add Pinecil multi-lang CI build

* Add lzfx compression license text

* Remote multi-language demo group

* Fix build after merge

* Import code from BriefLZ

* Change brieflz for our use case

* Change compression to use brieflz

* Remove lzfx code

* Update license file for brieflz

* Exclude brieflz files from format check

* Add BriefLZ test
2021-04-30 18:51:13 +10:00
Ben V. Brown
e84717765a Basic OLED working
* OLED
* Buttons
2021-04-26 22:22:32 +10:00
Ben V. Brown
b161192691 Merge branch 'master' into messing_with_pd 2021-04-17 10:53:58 +10:00
Alvin Wong
07fb8adb7f Impl. initial translation strings compression 2021-04-12 19:57:29 +08:00
Ben V. Brown
d56332d06b Merge branch 'master' into messing_with_pd 2021-04-05 20:01:40 +10:00
Alvin Wong
53c02dca33 Refactor printing CJK menu with large font into OLED.cpp 2021-04-05 15:48:12 +08:00
Ben V. Brown
77fd9f6a2d Move configuration into inc 2021-04-04 22:48:41 +10:00
Alvin Wong
b2f9eab7fb Refactor font style to be set when printing
Removes the font setting as a global state.
2021-03-21 21:46:12 +08:00
Alvin Wong
55f3a8e0ed Make font encoding use all byte seq. possible 2021-03-20 15:36:39 +08:00
Ben V. Brown
0c00247d29 Format OLED 2021-03-18 12:14:15 +00:00
Ben V. Brown
c07b621daf Rough pass 2021-03-16 21:24:22 +11:00
Ben V. Brown
3858ac4a16 Rough pass expanding print 2021-03-16 20:42:47 +11:00
Ben V. Brown
e6eb3e34bc Expand drawChar for larger offset 2021-03-16 20:34:47 +11:00
Ben V. Brown
41f0a1f347 Formatting pass 2021-03-16 20:29:28 +11:00