Glenn Maynard
b25b363c96
FSR threshold tuning.
6 years ago
Glenn Maynard
cce566624a
Improve minimizing to tray, and restore the existing instance if SMXConfig is launched when it's already minimized to the tray.
6 years ago
Glenn Maynard
ded697cf4c
Add sensor icons.
6 years ago
Glenn Maynard
1b01f53796
Add an option to enable or disable lighting on panels with no sensors.
6 years ago
Glenn Maynard
f35f596cee
Update the config block with new fields.
6 years ago
Glenn Maynard
ec061d4223
Refactor uploading animations to allow uploading automatically instead of having a separate upload button, and iron out some inconsistencies.
6 years ago
Glenn Maynard
74f94c5bf5
Add panel test mode to the UI.
6 years ago
Glenn Maynard
501b297c8f
Rename iBadSensorDIP -> iBadJumper.
6 years ago
Glenn Maynard
990a6ba488
Fix refreshing the selected diags button.
6 years ago
Glenn Maynard
8307e24550
Allow FSR threshold distances down to 5.
6 years ago
Glenn Maynard
a094588055
Hide the "expected DIP" display if we have no data at all.
6 years ago
Glenn Maynard
6d370ee092
Show a warning if an incorrect sensor DIP switch is detected.
6 years ago
Glenn Maynard
6d0820f495
Add the PlatformFlags_FSR config flag.
6 years ago
Glenn Maynard
cc07e07649
Fix auto-lighting not reactivating quickly.
6 years ago
Glenn Maynard
331bdc5b56
Fix the checkmark next to the preset buttons not reflecting the current preset.
6 years ago
Glenn Maynard
13bad26fe6
Compare individualPanelFSR in SamePreset, and add placeholder FSR presets.
6 years ago
Glenn Maynard
3d41d8ea15
Fix the application window being created when launched on startup. It should only launch to the tray.
6 years ago
Glenn Maynard
def39becf9
Add labels to the DIP switch display.
6 years ago
Glenn Maynard
f806ad8a00
Scale the diagnostics bars differently for FSRs.
6 years ago
Glenn Maynard
a2eb0c7591
Reorder the diags threshold bars (only cosmetic).
6 years ago
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.
6 years ago
Glenn Maynard
84c467a485
Cleanup.
6 years ago
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.)
6 years ago
Glenn Maynard
6b58194235
Handle FSR thresholds in the threshold sliders.
6 years ago
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.
6 years ago
Glenn Maynard
776baf1aca
Set all lights in the UI when previewing light colors.
6 years ago
Glenn Maynard
39cfc8cee0
Add support for uploading animations to the panel, if it supports it.
6 years ago
Glenn Maynard
159a9a4da2
Add a progress window.
6 years ago
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.
6 years ago
Glenn Maynard
5cf5eddc81
Allow minimizing to the tray.
...
This allows running GIF animations in the background.
6 years ago
Glenn Maynard
135e3c5401
Add a UI to set panel animations.
...
This is driven by the config tool, which needs to stay running.
6 years ago
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.
6 years ago
Glenn Maynard
2628c078fa
Add SMXPanelAnimation.
6 years ago
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.
6 years ago
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.
6 years ago
Glenn Maynard
7a4bbc6eab
Pad the configuration struct to 250 bytes, so the SDK.DLL ABI doesn't change when fields are added.
6 years ago
Glenn Maynard
6e09b2ea53
Fix the auto-lights preview when dragging the color slider being dimmer than the actual auto-lights.
6 years ago
Glenn Maynard
a18df41e49
Fix calls to ActivePads() causing exceptions in design mode.
6 years ago
Glenn Maynard
5f627b1b55
Fix the debug build.
6 years ago
Glenn Maynard
e57fa5d28e
Add a version display based on the git tag.
7 years ago
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.
7 years ago
Glenn Maynard
5d1e4c85fe
Add an early check for SMX.dll not loading.
7 years ago
Glenn Maynard
f321b7228d
Remove unused SetUpdateCallback. We set the update callback on start.
7 years ago
Glenn Maynard
d7f94fa99f
Add a default exception handler. The default Windows one doesn't always show a message properly.
7 years ago
Glenn Maynard
913f740113
Allow configuring two pads together (the existing behavior), or selecting a single pad from a dropdown to configure them separately.
7 years ago
Glenn Maynard
9ed01c29ba
Implement exporting and importing platform settings to a file.
7 years ago
Glenn Maynard
2d8d7c0be1
Committing various trivial changes that MSVC decided to make after updating.
7 years ago
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.
7 years ago
Glenn Maynard
57379383c0
Import for release.
7 years ago