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
Ben V. Brown
337c932b23
Cleanup ( #877 )
...
* Clean translation
* Create enum for off/slow/med/fast
* Update configuration.h
* Default loop on
* Create Medium speed symbol slot
* True/False are no longer defined, move to off string + slightly smoother lerp animations
2021-03-15 21:43:01 +11:00
Ben V. Brown
7fbfde7b33
Correct a few missed time values from the tick rate change ( #874 )
...
* Pass over all refs to xTaskGetTickCount()
* That wasn't a second 😓
* Update FreeRTOSConfig.h
* Fix warning in usb code; style; fix slow description
2021-03-15 21:01:09 +11:00
Alvin Wong
47692024c5
Impl. CJK support with zh-TW and yue-HK translations
...
Also add support for generating font table using the WenQuanYi Bitmap
Song font.
2021-02-07 00:10:38 +08:00
Ben V. Brown
f786901da0
Formatting the C/C++ files
2021-01-17 10:48:52 +11:00