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ó Monda2018-01-13 03:19:24 +01:00
96c7ccd758
Remove some dead code from PIT_I2C_WATCHDOG_HANDLER
László Monda2018-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ó Monda2018-01-11 23:44:59 +01:00
aab0e8473f
Enable left half I2C watchdog in reinit mode because it seems to improve things.
László Monda2018-01-11 23:43:34 +01:00
4a4c471b9e
Implement DevicePropertyId_CurrentKbootCommand
László Monda2018-01-10 02:58:31 +01:00
fcd75b2af2
Use identifiers instead of the magic numbers of kboot_driver.[ch]
László Monda2018-01-06 21:21:36 +01:00
f318c6872e
Move the definition of previousSlave within the if (isFirstCycle) block.
László Monda2018-01-06 17:25:07 +01:00
ae1240c103
Rename isFirstIteration to isFirstCycle and kStatus_Uhk_NoTransfer to kStatus_Uhk_IdleCycle.
László Monda2018-01-06 17:05:37 +01:00
e75d366245
Update and log previous I2C status within the if (isFirstIteration) block.
László Monda2018-01-06 17:00:59 +01:00
da20cdacc4
Only check currentSlaveId overrun after incrementing it.
László Monda2018-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ó Monda2018-01-06 02:04:47 +01:00
43587c2e1f
Define I2C_WATCHDOG_VALUE_REINIT and I2C_WATCHDOG_VALUE_REBOOT and make them work when assigned to I2C_WATCHDOG.
László Monda2017-12-27 17:07:04 +01:00
7eb83173ed
changed I2C watchdog timer implementation, as LPTMR was already used by key scanner
Erich Styger2017-12-25 17:15:41 +01:00
5581dd26b5
fixed and enabled software watchdog timer
Erich Styger2017-12-24 12:06:46 +01:00
1ac637af0f
Rename the GetProperty command to GetDeviceProperty.
László Monda2017-12-23 16:11:47 +01:00
36951d1a34
Minor cleanups regarding the previous rename.
László Monda2017-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ó Monda2017-12-23 16:06:24 +01:00
85e92d21b4
Add new UsbCommand_GetModuleProperties() device protocol command.
László Monda2017-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ó Monda2017-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ó Monda2017-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ó Monda2017-12-15 01:28:13 +01:00
c1b887cea8
Rename UhkModulePhase_*ProtocolVersion to UhkModulePhase_*ModuleProtocolVersion.
László Monda2017-12-15 01:16:27 +01:00
bd53b73685
Rename usb_command_get_keyboard_state.[ch] to usb_command_get_device_state.[ch]
László Monda2017-12-14 23:10:13 +01:00
beb7c3d4ee
Forgot to update versions.h for the previous release. Updating now.
László Monda2017-12-14 23:08:34 +01:00
f2e313dd0a
Put the data model version as the last element of the version list.
László Monda2017-12-14 03:22:04 +01:00
b239d0da50
Mark bumped version numbers by making them bold.
László Monda2017-12-14 03:14:41 +01:00
23459e3791
Don't make horizontal scrolling and vertical scrolling affect each other.
László Monda2017-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ó Monda2017-12-13 01:27:04 +01:00
28f98f179a
Change the value of UsbCommandId_{GetDeviceState,SetTestLed,GetDebugBuffer,GetAdcValue,SetLedPwmBrightness}.
László Monda2017-12-12 18:38:01 +01:00
5798f9e4fb
Refactor UsbCommandId_LaunchEepromTransfer, change its arguments, and change its ID to 0x08.
László Monda2017-12-12 03:24:34 +01:00
4fe5ce45ac
Change UsbCommandId_ApplyConfig to 0x07.
László Monda2017-12-12 02:15:20 +01:00
a212c254a9
Change UsbCommandId_WriteHardwareConfig and UsbCommandId_WriteUserConfig to 0x05 and 0x06.
László Monda2017-12-12 01:59:53 +01:00
235e18d706
Fix UsbCommandId_WriteHardwareConfig that I previously screwed up.
László Monda2017-12-12 01:29:49 +01:00
7c91f8f6d1
Replace UsbCommandId_ReadHardwareConfig and UsbCommandId_ReadUserConfig with UsbCommandId_ReadConfig.
László Monda2017-12-12 01:22:26 +01:00
c8cfe53136
Change UsbCommandId_SendKbootCommandToModule from 0x13 to 0x03.
László Monda2017-12-11 22:15:46 +01:00
f1f47ece14
Change UsbCommandId_JumpToModuleBootloader from 0x12 to 0x02.
László Monda2017-12-11 21:44:35 +01:00
a0dba2fa66
Change UsbCommandId_SetTestLed from 0x02 to 0x14.
László Monda2017-12-11 21:21:41 +01:00
0f34b01189
Update LED brightness levels upon applying the configuration.
László Monda2017-12-10 20:48:26 +01:00
2f7f7b1cd2
Make scrolling immediately react to keypresses regardless of the previous internal scroll state.
László Monda2017-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ó Monda2017-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ó Monda2017-12-05 00:56:52 +01:00
0932c14a2c
Lowercamelcase UsbDeviceCallback because it's local.
László Monda2017-12-04 22:51:04 +01:00
e57c2c21ca
Don't define the NULL members of UsbDeviceCompositeConfigList.
László Monda2017-12-04 20:43:57 +01:00
a5ce90779c
Merge all the substructures of UsbDeviceCompositeConfigList across different files to a single structure.
László Monda2017-12-04 20:41:22 +01:00
e9bf3dc355
Expand UsbDeviceCompositeClassConfig and UsbDeviceCompositeConfigList using structure member names.
László Monda2017-12-04 20:05:28 +01:00
8cb8654459
Merge the substructures of UsbMouseClass into a single structure.
László Monda2017-12-04 19:57:43 +01:00
745e8e1cf0
Merge the substructures of UsbSystemKeyboardClass into a single structure.
László Monda2017-12-04 19:50:39 +01:00
5341109845
Merge the substructures of UsbMediaKeyboardClass into a single structure.
László Monda2017-12-04 19:41:51 +01:00
ff0e5b0aa3
Merge the structs of UsbBasicKeyboardClass into a single structure.
László Monda2017-12-04 19:33:53 +01:00
c4e79d8ed2
Merge the all the structures of UsbGenericHidClass into a single structure.
László Monda2017-12-04 19:16:04 +01:00
6780c8177c
Expose per-interface count values for debugging purposes via USB.
László Monda2017-12-04 17:38:31 +01:00
9b9bdbc03d
Rename baseLayerPointerFunction to modLayerPointerFunction and modLayerPointerFunction to fnLayerPointerFunction. Suppress unused variable compilation warnings.
László Monda2017-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ó Monda2017-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ó Monda2017-11-30 18:20:00 +01:00
b7e73b7b38
Clean up the debug lines of processMouseAction()
László Monda2017-11-28 22:45:51 +01:00
420078449d
Finish the fine-tuning of default mouse movement kinetic settings.
László Monda2017-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ó Monda2017-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ó Monda2017-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ó Monda2017-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ó Monda2017-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ó Monda2017-11-28 02:01:26 +01:00
0867132ba3
Adjust the distance divisor from 10 to 1000 and other kinetic values accordingly.
László Monda2017-11-27 02:09:45 +01:00
1b9273a5e5
Make processMouseKineticState() work with float x,y offsets to accumulate fractions.
László Monda2017-11-27 01:24:03 +01:00
ebbd74407d
Extract code into processMouseKineticState() and add mouse_kinetic_state_t
László Monda2017-11-26 21:35:50 +01:00
5df6220ab7
Slightly reorder mouse movement related variables.
László Monda2017-11-26 02:32:53 +01:00