a0803875c4
Make UsbCommand_GetModuleProperty() branch based on modulePropertyId
László Monda
2018-01-15 00:04:22 +01:00
f5716bdadc
Rename some private functions in init_peripherals.c from upper to lower camel case.
László Monda
2018-01-14 20:30:46 +01:00
b76b3c0e4f
Slow down main bus I2C baud rate to 30kHz when BusPal is on to make firmware transfer more robust.
László Monda
2018-01-14 20:27:17 +01:00
2661c3d909
Implement DevicePropertyId_Uptime
László Monda
2018-01-14 18:32:18 +01:00
c854e98d84
Implement DevicePropertyId_I2cMainBusBaudRate
László Monda
2018-01-14 18:10:04 +01:00
72d8e49717
Make UsbProtocolHandler() invoke UsbCommand_SetI2cBaudRate() when requested.
László Monda
2018-01-13 19:54:48 +01:00
0fd95b71b2
Add usb_command_set_i2c_baud_rate.[ch]
László Monda
2018-01-13 03:54:06 +01:00
4d83bc2e75
Add I2cMainBusBaudRateBps
László Monda
2018-01-13 03:29:01 +01:00
cf7b05ab72
Make InitI2cMainBus() private.
László Monda
2018-01-13 03:21:12 +01:00
055f1945d0
Include slave_scheduler.h from init_peripherals.c instead of i2c_watchdog.c which I forgot to do in the previous commit.
László Monda
2018-01-13 03:19:24 +01:00
fa4a3abf84
Extract ReinitI2cMainBus()
László Monda
2018-01-13 03:14:42 +01:00
96c7ccd758
Remove some dead code from PIT_I2C_WATCHDOG_HANDLER
László Monda
2018-01-13 03:03:42 +01:00
76d319ec19
Remove comment that says that 100 kHz works with a 20 meter long bridge cable. It was true for UART, not so much for I2C.
László Monda
2018-01-11 23:44:59 +01:00
aab0e8473f
Enable left half I2C watchdog in reinit mode because it seems to improve things.
László Monda
2018-01-11 23:43:34 +01:00
4a4c471b9e
Implement DevicePropertyId_CurrentKbootCommand
László Monda
2018-01-10 02:58:31 +01:00
fcd75b2af2
Use identifiers instead of the magic numbers of kboot_driver.[ch]
László Monda
2018-01-06 21:21:36 +01:00
f318c6872e
Move the definition of previousSlave within the if (isFirstCycle) block.
László Monda
2018-01-06 17:25:07 +01:00
ae1240c103
Rename isFirstIteration to isFirstCycle and kStatus_Uhk_NoTransfer to kStatus_Uhk_IdleCycle.
László Monda
2018-01-06 17:05:37 +01:00
e75d366245
Update and log previous I2C status within the if (isFirstIteration) block.
László Monda
2018-01-06 17:00:59 +01:00
da20cdacc4
Only check currentSlaveId overrun after incrementing it.
László Monda
2018-01-06 16:36:57 +01:00
5a986d367e
Only call LogI2cError() if the passed status is an actual I2C error, otherwise it slows the mouse pointer down.
László Monda
2018-01-06 02:04:47 +01:00
f6b66283a7
Only count I2C errors.
László Monda
2018-01-06 01:37:58 +01:00
6ad425cbf9
Log I2C error counts on a per slave and per error type basis and expose them via USB.
László Monda
2018-01-05 03:23:48 +01:00
33e501cd83
Add SLAVE_COUNT
László Monda
2018-01-04 23:16:48 +01:00
fa558abef3
Add LED_DRIVERS_ENABLED
László Monda
2017-12-28 00:08:29 +01:00
25a2b3af93
Convert tabs to spaces.
László Monda
2017-12-27 17:21:28 +01:00
43587c2e1f
Define I2C_WATCHDOG_VALUE_REINIT and I2C_WATCHDOG_VALUE_REBOOT and make them work when assigned to I2C_WATCHDOG.
László Monda
2017-12-27 17:07:04 +01:00
7eb83173ed
changed I2C watchdog timer implementation, as LPTMR was already used by key scanner
Erich Styger
2017-12-25 17:15:41 +01:00
5581dd26b5
fixed and enabled software watchdog timer
Erich Styger
2017-12-24 12:06:46 +01:00
1ac637af0f
Rename the GetProperty command to GetDeviceProperty.
László Monda
2017-12-23 16:11:47 +01:00
36951d1a34
Minor cleanups regarding the previous rename.
László Monda
2017-12-23 16:08:45 +01:00
5190265a2c
Rename get_module_properties.[ch] to get_module_property.[ch]. It seems that the header wasn't included in usb_protocol_handler.c possibly causing issues when using these commands.
László Monda
2017-12-23 16:06:24 +01:00
40bf252852
Bump version to 8.0.0. Update version numbers. Update changelog.
v8.0.0
8.0.0
László Monda
2017-12-15 04:03:51 +01:00
85e92d21b4
Add new UsbCommand_GetModuleProperties() device protocol command.
László Monda
2017-12-15 02:46:30 +01:00
fd43e81e46
Query module key count and pointer count in separate messages instead of a combined message for better clarity.
László Monda
2017-12-15 02:13:58 +01:00
c994a97d03
Make the modules transfer their firmware version to the device. Fix the message length of the module protocol version.
László Monda
2017-12-15 01:42:58 +01:00
d59ba83d99
Make the modules transfer a module protocol version composed of a major, a minor and a patch number.
László Monda
2017-12-15 01:28:13 +01:00
c1b887cea8
Rename UhkModulePhase_*ProtocolVersion to UhkModulePhase_*ModuleProtocolVersion.
László Monda
2017-12-15 01:16:27 +01:00
bd53b73685
Rename usb_command_get_keyboard_state.[ch] to usb_command_get_device_state.[ch]
László Monda
2017-12-14 23:10:13 +01:00
beb7c3d4ee
Forgot to update versions.h for the previous release. Updating now.
László Monda
2017-12-14 23:08:34 +01:00
17571a5feb
Bump version to 7.0.0. Update changelog and package.json
v7.0.0
7.0.0
László Monda
2017-12-14 21:51:07 +01:00
83e782d74a
Remove DevicePropertyId_HardwareConfigSize and DevicePropertyId_UserConfigSize
László Monda
2017-12-14 21:49:15 +01:00
312f56048b
Add DevicePropertyId_ConfigSizes.
László Monda
2017-12-14 16:40:44 +01:00
494621a841
Expose version numbers via the get property interface.
László Monda
2017-12-14 16:16:11 +01:00
94af52892c
Add generate-versions-h.js and versions.h. Execute generate-versions-h.js from make-release.js
László Monda
2017-12-14 15:41:20 +01:00
5862a34f18
Use const instead of let wherever possible in make-release.js
László Monda
2017-12-14 04:01:13 +01:00
9b9e5ed1b5
Rename the version property to firmwareVersion in package.json
László Monda
2017-12-14 03:52:56 +01:00
4393377365
Rename version properties in package.json
László Monda
2017-12-14 03:48:59 +01:00
1570364741
Add hardware config versions to releases.
László Monda
2017-12-14 03:38:24 +01:00
738a240860
Rename slave protocol to module protocol.
László Monda
2017-12-14 03:36:29 +01:00
43b48aa643
Rename USB protocol to device protocol.
László Monda
2017-12-14 03:25:47 +01:00
61a0540007
Rename data model to user config.
László Monda
2017-12-14 03:24:29 +01:00
f2e313dd0a
Put the data model version as the last element of the version list.
László Monda
2017-12-14 03:22:04 +01:00
b239d0da50
Mark bumped version numbers by making them bold.
László Monda
2017-12-14 03:14:41 +01:00
23459e3791
Don't make horizontal scrolling and vertical scrolling affect each other.
László Monda
2017-12-14 01:30:06 +01:00
6a54944cb1
Make UsbCommand_JumpToModuleBootloader() more robust by not making it dependent on the state of the module driver.
László Monda
2017-12-13 01:27:04 +01:00
a52df9da7e
Bump version to 6.0.0, update changelog and package.json
v6.0.0
6.0.0
László Monda
2017-12-12 18:44:12 +01:00
28f98f179a
Change the value of UsbCommandId_{GetDeviceState,SetTestLed,GetDebugBuffer,GetAdcValue,SetLedPwmBrightness}.
László Monda
2017-12-12 18:38:01 +01:00
5798f9e4fb
Refactor UsbCommandId_LaunchEepromTransfer, change its arguments, and change its ID to 0x08.
László Monda
2017-12-12 03:24:34 +01:00
4fe5ce45ac
Change UsbCommandId_ApplyConfig to 0x07.
László Monda
2017-12-12 02:15:20 +01:00
a212c254a9
Change UsbCommandId_WriteHardwareConfig and UsbCommandId_WriteUserConfig to 0x05 and 0x06.
László Monda
2017-12-12 01:59:53 +01:00
235e18d706
Fix UsbCommandId_WriteHardwareConfig that I previously screwed up.
László Monda
2017-12-12 01:29:49 +01:00
7c91f8f6d1
Replace UsbCommandId_ReadHardwareConfig and UsbCommandId_ReadUserConfig with UsbCommandId_ReadConfig.
László Monda
2017-12-12 01:22:26 +01:00
c8cfe53136
Change UsbCommandId_SendKbootCommandToModule from 0x13 to 0x03.
László Monda
2017-12-11 22:15:46 +01:00
f1f47ece14
Change UsbCommandId_JumpToModuleBootloader from 0x12 to 0x02.
László Monda
2017-12-11 21:44:35 +01:00
a0dba2fa66
Change UsbCommandId_SetTestLed from 0x02 to 0x14.
László Monda
2017-12-11 21:21:41 +01:00
0f34b01189
Update LED brightness levels upon applying the configuration.
László Monda
2017-12-10 20:48:26 +01:00
5a449ad5c5
Disable LED display icons by default.
László Monda
2017-12-10 15:35:03 +01:00
0d6a5ae902
Bump firmware version number to 5.0.1 and update changelog.
v5.0.1
5.0.1
László Monda
2017-12-09 16:44:11 +01:00
2f7f7b1cd2
Make scrolling immediately react to keypresses regardless of the previous internal scroll state.
László Monda
2017-12-07 04:44:45 +01:00
2eb25ce05c
Make UpdateUsbReports() not exit prematurely even if a previously active USB interface is not polled anymore by the host. Tweak the Timer API to not set the current time automatically.
László Monda
2017-12-07 03:24:53 +01:00
6e47707037
Rename the misleadingly named error variable of usbDeviceCallback() to status. Clean up InitUsb() a bit.
László Monda
2017-12-05 00:56:52 +01:00
0932c14a2c
Lowercamelcase UsbDeviceCallback because it's local.
László Monda
2017-12-04 22:51:04 +01:00
e57c2c21ca
Don't define the NULL members of UsbDeviceCompositeConfigList.
László Monda
2017-12-04 20:43:57 +01:00
a5ce90779c
Merge all the substructures of UsbDeviceCompositeConfigList across different files to a single structure.
László Monda
2017-12-04 20:41:22 +01:00
e9bf3dc355
Expand UsbDeviceCompositeClassConfig and UsbDeviceCompositeConfigList using structure member names.
László Monda
2017-12-04 20:05:28 +01:00
8cb8654459
Merge the substructures of UsbMouseClass into a single structure.
László Monda
2017-12-04 19:57:43 +01:00
745e8e1cf0
Merge the substructures of UsbSystemKeyboardClass into a single structure.
László Monda
2017-12-04 19:50:39 +01:00
5341109845
Merge the substructures of UsbMediaKeyboardClass into a single structure.
László Monda
2017-12-04 19:41:51 +01:00
ff0e5b0aa3
Merge the structs of UsbBasicKeyboardClass into a single structure.
László Monda
2017-12-04 19:33:53 +01:00
c4e79d8ed2
Merge the all the structures of UsbGenericHidClass into a single structure.
László Monda
2017-12-04 19:16:04 +01:00
6780c8177c
Expose per-interface count values for debugging purposes via USB.
László Monda
2017-12-04 17:38:31 +01:00
71d6db0f35
Update CHANGELOG.md and package.json for version 5.0.0
v5.0.0
5.0.0
László Monda
2017-12-04 00:40:07 +01:00
9b9bdbc03d
Rename baseLayerPointerFunction to modLayerPointerFunction and modLayerPointerFunction to fnLayerPointerFunction. Suppress unused variable compilation warnings.
László Monda
2017-12-03 23:53:32 +01:00
bb5c118e97
Move pointerRole from keymaps to module configurations as pointerMode. Add angularShift, baseLayerPointerFunction, modLayerPointerFunction, and mouseLayerPointerFunction to module configurations.
László Monda
2017-12-03 23:25:55 +01:00
f76780ec48
Make the parser parse mouse properties, LED brightness values, and double tap switch layer timeout. Rename pointer config properties.
László Monda
2017-11-30 18:20:00 +01:00
b7e73b7b38
Clean up the debug lines of processMouseAction()
László Monda
2017-11-28 22:45:51 +01:00
7318175ce7
Tweak scroll kinetic properties.
László Monda
2017-11-28 22:39:37 +01:00
420078449d
Finish the fine-tuning of default mouse movement kinetic settings.
László Monda
2017-11-28 20:12:01 +01:00
dda3799877
Don't make the pointer jump when accelerating from zero while the decelerate key is pressed.
László Monda
2017-11-28 19:10:13 +01:00
712b87182a
Double timer interval that wasn't right for an unknown reason. Adjust mouse kinetic values accordingly. Reprioritize interrupts to make mouse pointer movement as smooth as possible.
László Monda
2017-11-28 18:52:39 +01:00
46126e1e78
Tweak kinetic mouse values further. Temporarily maximize / minimize the acceleratedSpeed / deceleratedSpeed values for testing purposes.
László Monda
2017-11-28 17:25:46 +01:00
2ac9ca5d67
Make the initialSpeed, acceleration, deceleratedSpeed, baseSpeed, and acceleratedSpeed kinetic properties uint8_t and multiply them by intMultiplier to provide a fixed set of steps to choose from.
László Monda
2017-11-28 03:23:09 +01:00
729e0be0ad
Make scrolling utilize mouse_kinetic_state_t, just like mouse movements. Fix scrolling issue by making distance float. Add new debug functions for ints and float.
László Monda
2017-11-28 02:01:26 +01:00
0867132ba3
Adjust the distance divisor from 10 to 1000 and other kinetic values accordingly.
László Monda
2017-11-27 02:09:45 +01:00
1b9273a5e5
Make processMouseKineticState() work with float x,y offsets to accumulate fractions.
László Monda
2017-11-27 01:24:03 +01:00
ebbd74407d
Extract code into processMouseKineticState() and add mouse_kinetic_state_t
László Monda
2017-11-26 21:35:50 +01:00
5df6220ab7
Slightly reorder mouse movement related variables.
László Monda
2017-11-26 02:32:53 +01:00