696229cfe1
Introduce StateManager class for persisting state to EEPROM.
2025-06-14 21:08:04 -07:00
07ed4b3d9a
Update Font ( #5 )
...
Reduce the amount of program memory used by switching to original firmware's optimized fonts.
Reviewed-on: https://git.pinkduck.xyz/adam/libGravity/pulls/5
Co-authored-by: Adam Wonak <adam.wonak@gmail.com >
Co-committed-by: Adam Wonak <adam.wonak@gmail.com >
2025-06-14 21:52:18 +00:00
9bacf43f15
Add per-channel CV Input mod configuration ( #4 )
...
Each channel can enable CV 1 or CV 2 as an input source for modulation, which can be applied to any of the user-editable parameters. When editing the parameter, cv mod is not applied in the UI so the user can easily see the base value for editing. When not editing, the UI will display the current cv modded value in the UI for the modded parameter.
I had originally intended to provide configuration for attenuating and offsetting the cv input per channel, but that introduced a significant amount of memory needed to store several new ints per channel. I may return to add this feature later, but given it's something that can easily be done with other modules between the modulation source and Gravity cv input, I am deprioritizing this feature.
Reviewed-on: https://git.pinkduck.xyz/adam/libGravity/pulls/4
Co-authored-by: Adam Wonak <adam.wonak@gmail.com >
Co-committed-by: Adam Wonak <adam.wonak@gmail.com >
2025-06-14 21:26:33 +00:00
70b9b28032
minor formatting
2025-06-09 22:36:58 -07:00
8aa47b73fd
Add new official Gravity firmware code. Split out the output channel behavior and struct into a new class.
2025-06-09 22:33:16 -07:00
6c85b94f21
Refactor handle rotate to make the code more reusable and readable.
2025-06-09 19:54:30 -07:00
dac1bb3007
Big refactor of code for readability and reusability. Mostly focusing on the UI code.
2025-06-08 18:17:19 -07:00
1a13fbff5f
Introduce a new demo sketch to visulize the
...
attenuation and offset constraints of the input
cv.
2025-06-08 11:39:27 -07:00
d9106c6951
refactor calibrate analog demo to use tge u8g2 library.
2025-06-08 11:39:12 -07:00
c1b29924f7
Do not show MIDI tempo. Serial MIDI is too unstable. CV ext seems pretty stable when given a steady clock, but I need to try unstable sources / polyrhythms.
2025-06-03 07:33:50 -07:00
01bf09d4f5
Consistent clock behavior for ext cv and midi.
2025-06-02 21:56:17 -07:00
8cf64fefca
Initial commit for midi. Midi out is working, Midi In is still a work in progress.
2025-06-01 22:53:51 -07:00
20f65d9bdf
Full rewrite of graphics lib. Replace adafruit with u8g2. Overhaul UI.
2025-06-01 19:18:59 -07:00
edd7df1cd6
Revert pointer change. not worth the few bytes it saved.
2025-05-31 20:28:17 -07:00
18e53e90c1
Fuck it, we're doing pointers for everything!
2025-05-31 17:35:04 -07:00
98c3769008
Update clock.h to support uClock v2.2.1 and implement external PPQN 4 ( #3 )
...
Reviewed-on: https://git.pinkduck.xyz/adam/libGravity/pulls/3
Co-authored-by: Adam Wonak <adam.wonak@gmail.com >
Co-committed-by: Adam Wonak <adam.wonak@gmail.com >
2025-05-30 03:08:31 +00:00
b580d1e451
Adding various refactoring for optimization and readability.
2025-05-26 11:09:51 -07:00
4446f41957
formatting
2025-05-25 15:31:58 -07:00
b95aa752ca
Avoid floating point operations.
2025-05-25 15:31:03 -07:00
3b04196430
switch to using 96ppqn internally to allow more clock modification.
2025-05-25 15:20:48 -07:00
0f69b8501b
Update docs
2025-05-25 14:42:39 -07:00
506293fa9c
Refactor UI code for analog input calibration script. Display voltage for a more clear matching calibration.
2025-05-25 14:40:38 -07:00
db8c894927
refactor var names and improve docs
2025-05-24 00:30:59 -07:00
392f4fffc7
Add the functionality for calibrating the analog input. Add demo script for calibrating analog input.
2025-05-24 00:26:48 -07:00
7f9ad7e00d
basic implementation of analog inputs and test script
2025-05-23 21:36:18 -07:00
9451f987b5
fix long press handler
2025-05-23 17:21:40 -07:00
6762549b4a
main process method should not have any logic.
2025-05-23 17:13:15 -07:00
efd569e4df
Update encoder to better handle press rotate and use button subclass.
2025-05-23 17:12:31 -07:00
9ed9e01966
refactor button.h to support long press and handle callback functions inside Process().
2025-05-23 17:11:36 -07:00
b847515f32
Add clock_mod firmware demo.
2025-05-04 22:55:28 -07:00
a7d47bc820
Add encoder rotation acceleration.
2025-05-04 22:36:11 -07:00
90f94c3077
Add a trivial example script and some formatting.
2025-05-04 12:00:46 -07:00
32a23b7bf9
Initial commit of mostly working library.
2025-05-04 10:43:15 -07:00
fe9ef561fe
Initial commit
2025-05-04 10:20:39 -07:00