Skip to content

Conversation

SeongGino
Copy link
Member

Primarily a sister PR to TeamOpenFIRE/OpenFIRE-Firmware#60, the app's communications syntax has been changed to reflect what will be used in FW 6.0-onwards.

I2C Peripheral decoupling is a thing now, which means the display is considered its own accessory and can be individually enabled/disabled. This should hopefully allow easy integration with future I2C devices.

Analog stick reading actually reflects proper analog positioning, rather than the old hacky 8-directional label workaround before.

The settings screen layout has been additionally reorganized to be more intuitive; even though the page overall takes up more space, the options should speak more for themselves.

A window for previewing supported Boards (and their default layouts) has been added under the Help app menu.

The one-time check for supported devices has been removed - the app will be able to startup without any connected devices, and will search for new devices at a set 5s interval; removing old devices as they are disconnected and adding new ones as they are added.

Valid camera checks are more thorough now (mainly due in part to new checks signaled from FW 6.0), and the app/FW will check at startup and with every syncing of settings if the assigned camera and/or peripherals line is either available or wired correctly.

Reboot to Bootloader now uses the magic 1200baud switch correctly, allowing devices to be rebooted regardless of working status or not - the App will even report if a device has failed to sync and ask the user if they wish to reboot this board appropriately.

Most references to fixed Pin Counts are removed (TODO: save for one), prepping work for devices or platforms with more than 30 assignable GPIO maximum. (This means ESP as well, though that platform may need a different method for the aforementioned Reboot to Bootloader change.

… use pinboxes count more whenever possible (except for initial pinBoxes construction)
- Close port in GetSettings before trying to set and start a new device.
- Fix duplicating current port when adding new devices, if it was still available
- Append the device's name to the entry in the COM port selector
Boards previewer shares much of the same code as the main window's board layout generation routine, just referencing only static layouts as defined in `OpenFIREshared.h`.
…isplay-related options - also actually send profile data out this time
…e Commit method.

This SEEMS to avoid possible race-y issues/corruption with declaring independent buffer space for each submethod that seemed to cause strange output to be sent, which ultimately didn't match and sent an emergency terminator.
… originally synced data, add to+opt DiffUpdate
@alessandro-satanassi
Copy link
Contributor

I would gladly try to help, but there are too many changes all at once and I wouldn't know where to start, and I don't even know qt very well, in fact almost not at all even if they are quite intuitive... if you give me some specific tasks I'll try

@SeongGino
Copy link
Member Author

@alessandro-satanassi there is no involvement from you needed; it's just so you were aware that work was ongoing already. 🙂

@SeongGino
Copy link
Member Author

Completely unrelated note-to-self, fullscreen cali window needs a tweak to its background. But that should ought to be handled outside of an already big PR. Everything else looks good from the testing I've done.

@SeongGino SeongGino merged commit 84f9cbe into TeamOpenFIRE:OpenFIRE-dev Apr 1, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants