95 Commits

Author SHA1 Message Date
acd028846c Full repo version bump to v2.0.0 v2.0.0 2025-08-17 11:04:25 -07:00
ed625e75fc Merge pull request 'Fix Save/Load State' (#28) from fix-save-state into main
Reviewed-on: #28
2025-08-17 17:18:56 +00:00
b60dcc0e68 one more 2025-08-16 11:00:31 -07:00
909d589609 make version consistent 2025-08-16 10:58:42 -07:00
330f5e6ceb improve docstring comments 2025-08-16 10:47:06 -07:00
87dacd869b improve the usage of disabling interrupts to avoid a potential race condition with isr being called between private method execution. 2025-08-16 10:06:11 -07:00
64f467d6ac Add missing metadata field in _loadMetadata 2025-08-16 09:55:43 -07:00
84cafe2387 Fix bug in metadata save/load state.
The sketch_name char array was to short, causing a buffer overflow.
2025-08-16 09:51:05 -07:00
8bb89a5f4b formatting 2025-08-14 07:31:43 -07:00
499bc7a643 Added more details explaining the structure of the repo 2025-08-14 07:29:02 -07:00
3f670fa9f7 Update docs and example firmware 2025-08-13 07:42:02 -07:00
b5029bde88 add skeleton app to examples 2025-08-13 07:19:06 -07:00
4bcd618073 Add skeleton app to examples 2025-08-13 07:18:45 -07:00
6ada2aba30 Add option to rotate the display (#27)
I needed to cut the bootsplash to make room for adding this features.

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/27
v2.0.0beta4
2025-08-10 02:47:59 +00:00
c5965aa1f7 bug fix - need to recalculate pulses when mod duty and swing are changed. 2025-08-09 18:45:21 -07:00
7c02628403 Add more EXT clock source options (#23)
Fixes https://github.com/awonak/alt-gravity/issues/12

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/23
2025-08-10 00:26:20 +00:00
1161da38c1 Add menu options for using cv input as Clock Run/Reset (#25)
Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/25
2025-08-10 00:25:06 +00:00
872af30fbc Refactor CV Mod (#24)
Move cv mod calculation to processClockTick. This is less ideas because it is an ISR, but it saves a significant amount of memory. Performance doesn't seem to take much of a hit.

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/24
2025-08-09 23:59:24 +00:00
fc17afc9a1 Remove Reset State (#26)
This feature is essentially overlapping with loading default save slots. I need the few bytes it affords me.

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/26
2025-08-09 23:57:10 +00:00
b6402380c0 fixed bug in cv mod of clock multiplication upper range. 2025-07-26 18:51:18 -07:00
19473db67e bump version in code 2025-07-24 18:38:34 -07:00
dd7217d04e Fix euclidean hit mod v2.0.0beta3 2025-07-24 18:27:24 -07:00
d1c8ee16a4 EXT will reset clocks in MIDI clock mode.
Add reset behavior for EXT clock input when MIDI clock source is selected.

Fixes: https://git.pinkduck.xyz/awonak/libGravity/issues/22
2025-07-24 08:35:05 -07:00
65dde4d62e Reorganization of library structure to better match Arduino spec (#20)
Note, this will also require to you "uninstall and reinstall" the Arduino library due to the library file location changes.

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/20
2025-07-24 15:07:15 +00:00
c7a3277b5f Memory improvements in bootsplash and StateManager 2025-07-24 07:53:41 -07:00
fb44601707 Merge branch 'main' of https://git.pinkduck.xyz/awonak/libGravity 2025-07-23 18:08:10 -07:00
ec34bc3a7b Fix metadata loading issues with Initialization and refactor Factory Reset. (#19)
Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/19
2025-07-23 03:32:16 +00:00
c5bddef66d Show loading bootsplash with firmware name and version (#18)
Bootsplash is displayed before EEPROM erase, which is a slow operation.

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/18
2025-07-22 05:16:32 +00:00
b0accdc83a Fix Initial Transient State (#17)
There was an off-by-one error that was not properly loading transient state from the designated memory slot. Also fixes setting the last saved/loaded slot indicator with metadata.

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/17
2025-07-22 05:12:45 +00:00
1c0fb86bc1 Reverse the order of clock mod options. (#16)
This now matches original Gravity behavior. Also, now when applying CV mod positive voltages increase clock mod instead of reducing it.

Also fix pulse out, which wasn't previously updated when CLOCK_MOD was moved to program mem.

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/16
2025-07-22 00:00:49 +00:00
01f32407f6 bump version v2.0.0beta2 2025-07-20 17:53:03 -07:00
4f04137f67 Add global/hardware settings to metadata EEPROM (#15)
Settings like Encoder Direction and Display Orientation should persist when resetting channel state.

Fixes https://github.com/awonak/alt-gravity/issues/7

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/15
2025-07-21 00:27:32 +00:00
1bf90e1674 Mute channel when shift + play pressed (#14)
Fixes https://github.com/awonak/alt-gravity/issues/2

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/14
2025-07-21 00:01:18 +00:00
5729eef037 Factory Reset (#13)
Fixes https://github.com/awonak/alt-gravity/issues/1

Reviewed-on: https://git.pinkduck.xyz/awonak/libGravity/pulls/13
2025-07-21 00:00:47 +00:00
385ce85da3 add const for pulse clock mod choices. update git ignore and readme for build command. v2.0.0beta1 2025-07-13 12:00:37 -07:00
60a7a7a349 fix example code 2025-07-04 15:21:03 -07:00
ab71ac9c37 Add copyright license information 2025-07-04 14:05:58 -07:00
f6b4b8a2ad migrate Gravity firmware into a new dedicated firmware directory. 2025-07-04 10:57:22 -07:00
14d1c497b3 Add clock reset behavior to EXT when internally clocked. 2025-07-04 10:54:16 -07:00
b8cdd97261 Merge branch 'main' of https://git.pinkduck.xyz/adam/libGravity 2025-07-04 10:44:08 -07:00
ae726313a0 use shift button to change channel when held + rotate. 2025-07-04 10:44:03 -07:00
14aad8285d Introduce Save/Load banks for storing different preset settings. (#11)
This also includes a lot of minor fixes.

Reviewed-on: https://git.pinkduck.xyz/adam/libGravity/pulls/11
Co-authored-by: Adam Wonak <adam.wonak@gmail.com>
Co-committed-by: Adam Wonak <adam.wonak@gmail.com>
2025-07-04 17:33:57 +00:00
d2228af55f bug fix: must have curly braces when declaring new variables inside CASE statement. 2025-07-04 08:22:25 -07:00
d21c0a810f Add more clock mult/div options and improve documentation to make it easier to modify the list. 2025-07-03 09:12:15 -07:00
74d98fed13 add missing midi echo 2025-07-03 09:08:38 -07:00
17a9212fc4 pre-calculate clock pulse mods to improve ISR performance 2025-07-03 08:45:53 -07:00
db50132c28 update comments and minor fixes. 2025-07-03 07:57:18 -07:00
7ce8bb661d refactor cv mod to allow both cv mods configurable per channel. Fix euclidean sum mod. update large font. 2025-07-02 14:16:15 -07:00
a640723be8 minor memory improvements 2025-07-01 21:31:20 -07:00
dd1228be00 Vendorize uClock (#10)
Add copy of uClock to the repo including memory optimization changes.

Also add user config setting for changing Pulse Out resolution.

Reviewed-on: https://git.pinkduck.xyz/adam/libGravity/pulls/10
Co-authored-by: Adam Wonak <adam.wonak@gmail.com>
Co-committed-by: Adam Wonak <adam.wonak@gmail.com>
2025-07-02 02:45:39 +00:00