45 Commits

Author SHA1 Message Date
Glenn Maynard
f35f596cee Update the config block with new fields. 2019-03-20 15:13:33 -05:00
Glenn Maynard
ec061d4223 Refactor uploading animations to allow uploading automatically instead of having a separate upload button, and iron out some inconsistencies. 2019-02-08 20:52:01 -06:00
Glenn Maynard
74f94c5bf5 Add panel test mode to the UI. 2019-02-06 20:29:22 -06:00
Glenn Maynard
501b297c8f Rename iBadSensorDIP -> iBadJumper. 2019-02-05 16:05:48 -06:00
Glenn Maynard
990a6ba488 Fix refreshing the selected diags button. 2019-02-01 23:16:46 -06:00
Glenn Maynard
8307e24550 Allow FSR threshold distances down to 5. 2019-02-01 23:03:34 -06:00
Glenn Maynard
a094588055 Hide the "expected DIP" display if we have no data at all. 2019-01-30 16:21:30 -06:00
Glenn Maynard
6d370ee092 Show a warning if an incorrect sensor DIP switch is detected. 2019-01-19 17:56:19 -06:00
Glenn Maynard
6d0820f495 Add the PlatformFlags_FSR config flag. 2019-01-19 17:38:05 -06:00
Glenn Maynard
cc07e07649 Fix auto-lighting not reactivating quickly. 2019-01-18 19:46:19 -06:00
Glenn Maynard
331bdc5b56 Fix the checkmark next to the preset buttons not reflecting the current preset. 2019-01-18 19:46:19 -06:00
Glenn Maynard
13bad26fe6 Compare individualPanelFSR in SamePreset, and add placeholder FSR presets. 2019-01-18 19:46:19 -06:00
Glenn Maynard
3d41d8ea15 Fix the application window being created when launched on startup. It should only launch to the tray. 2019-01-18 19:46:10 -06:00
Glenn Maynard
def39becf9 Add labels to the DIP switch display. 2019-01-18 19:46:10 -06:00
Glenn Maynard
f806ad8a00 Scale the diagnostics bars differently for FSRs. 2019-01-18 19:46:10 -06:00
Glenn Maynard
a2eb0c7591 Reorder the diags threshold bars (only cosmetic). 2019-01-07 17:37:41 -06:00
Glenn Maynard
9ae9a506c6 Add the initial floor lighting button in the UI.
This also refactors the panel button code to rely less on WPF bindings.
They just get in the way for anything nontrivial.  Doing it this way
lets us treat the panel buttons as an interface for setting colors, to
handle the different fields that are set for the panel colors and floor
color.
2019-01-03 18:13:51 -06:00
Glenn Maynard
84c467a485 Cleanup. 2019-01-01 18:00:27 -06:00
Glenn Maynard
478a0618fb Fix exception if ThresholdSlider refreshes when no pads are active.
GetFirstActivePadConfig returns a dummy config if nothing is connected, which
didn't have any of its arrays created.  Fill in dummy arrays for enabledSensors,
etc. so refreshes don't throw exceptions if they're updated right when the
last controller disconnects.  (This is a rare race condition and I've only
seen it while stepping in the debugger and disconnecting while stopped.)
2018-12-29 22:10:27 -06:00
Glenn Maynard
6b58194235 Handle FSR thresholds in the threshold sliders. 2018-12-25 17:52:40 -06:00
Glenn Maynard
1c980f24e0 Add config fields for FSR sensitivity and the platform strip color.
This also sets pack:1 so we don't rely on compiler struct alignment.
2018-12-09 16:33:40 -06:00
Glenn Maynard
776baf1aca Set all lights in the UI when previewing light colors. 2018-12-09 16:11:12 -06:00
Glenn Maynard
39cfc8cee0 Add support for uploading animations to the panel, if it supports it. 2018-12-09 16:11:12 -06:00
Glenn Maynard
159a9a4da2 Add a progress window. 2018-12-09 16:11:12 -06:00
Glenn Maynard
42a99e775b Allow launching on startup.
If this is used to play GIF animations on the pad, being able to have
it launch on startup is useful.

This is disabled by default and there's no UI to enable it yet.
2018-12-09 16:11:12 -06:00
Glenn Maynard
5cf5eddc81 Allow minimizing to the tray.
This allows running GIF animations in the background.
2018-12-09 16:11:12 -06:00
Glenn Maynard
135e3c5401 Add a UI to set panel animations.
This is driven by the config tool, which needs to stay running.
2018-12-09 16:11:12 -06:00
Glenn Maynard
e5e75e0106 Put the step color widgets in a StackPanel.
Doing this in a separate commit since it changes a lot of indentation but
doesn't really change much code.
2018-12-09 16:11:12 -06:00
Glenn Maynard
2628c078fa Add SMXPanelAnimation. 2018-12-09 16:11:10 -06:00
Glenn Maynard
baa66fc551 Select an enabled panel in the panel color UI by default.
This fixes the default always being up-left (which is usually disabled),
causing the color slider to not do anything until you select a different
panel.
2018-12-09 16:10:45 -06:00
Glenn Maynard
bceca77016 Fix AutoLightsColorRefreshColor calling SetColor with an incomplete array.
This could cause access violations, because it calls the native SMX_SetColor
with a color array that's too small.
2018-12-09 16:10:45 -06:00
Glenn Maynard
7a4bbc6eab Pad the configuration struct to 250 bytes, so the SDK.DLL ABI doesn't change when fields are added. 2018-12-09 16:10:16 -06:00
Glenn Maynard
6e09b2ea53 Fix the auto-lights preview when dragging the color slider being dimmer than the actual auto-lights. 2018-11-08 19:13:35 -06:00
Glenn Maynard
a18df41e49 Fix calls to ActivePads() causing exceptions in design mode. 2018-11-08 19:13:35 -06:00
Glenn Maynard
5f627b1b55 Fix the debug build. 2018-10-19 22:40:02 -05:00
Glenn Maynard
e57fa5d28e Add a version display based on the git tag. 2018-06-11 19:56:21 -05:00
Glenn Maynard
3d6eb112e6 Add a separate sanity check for SMX.dll existing, since Windows gives the same error if a DLL is missing or one of its dependencies is missing. 2018-06-07 17:24:36 -05:00
Glenn Maynard
5d1e4c85fe Add an early check for SMX.dll not loading. 2018-06-07 16:02:24 -05:00
Glenn Maynard
f321b7228d Remove unused SetUpdateCallback. We set the update callback on start. 2018-06-07 15:57:36 -05:00
Glenn Maynard
d7f94fa99f Add a default exception handler. The default Windows one doesn't always show a message properly. 2018-06-06 23:22:51 -05:00
Glenn Maynard
913f740113 Allow configuring two pads together (the existing behavior), or selecting a single pad from a dropdown to configure them separately. 2018-04-23 19:51:15 -05:00
Glenn Maynard
9ed01c29ba Implement exporting and importing platform settings to a file. 2018-04-21 17:40:39 -05:00
Glenn Maynard
2d8d7c0be1 Committing various trivial changes that MSVC decided to make after updating. 2018-04-21 02:19:20 -05:00
Glenn Maynard
a1281218bb Increase the minimum difference between the upper and lower thresholds to 10.
Having this at 5 is causing confusion, since the hardware isn't actually designed
to have the thresholds so close together.  This was set to 5 for internal testing,
but it's not actually useful to have them so close together.  The thresholds exist
to prevent ghosting and strobing on the panels, and putting the thresholds very
close together prevents them from doing that.
2018-04-19 16:55:43 -05:00
Glenn Maynard
57379383c0 Import for release. 2017-12-15 02:55:34 -06:00