1
0
Fork 0

usb_hid: Fix timer size uint16_t to uint32_t;

This commit is contained in:
tmk 2012-09-02 23:47:18 +09:00
parent b17f52ebe1
commit c77c5043a1
8 changed files with 66 additions and 17 deletions

View file

@ -42,12 +42,6 @@
#define CPU_PRESCALE(n) (CLKPR = 0x80, CLKPR = (n))
bool debug_enable = false;
bool debug_matrix = false;
bool debug_keyboard = false;
bool debug_mouse = false;
int main(void)
{
DEBUG_LED_CONFIG;

View file

@ -26,3 +26,11 @@ You can see HID keyboard reports on debug output.
Restriction and Bug
-------------------
Not statble yet.
Can't bus-reset a keyboard which already attached on bus properly.
Slow start up of Leonardo's bootloader causes this?
Need to unplug/plug a keyboard after firmware starts up.
MAX3421E doesn't work SAMPLEBUS well to know whether device connected or not.
Keyboard with other endpoints than boot keyboard may go wrong.
On my keyboard with mouse key the converter locks up when using mouse key function.

View file

@ -8,11 +8,11 @@
unsigned long millis()
{
return timer_read();
return timer_read32();
}
unsigned long micros()
{
return timer_read() * 1000UL;
return timer_read32() * 1000UL;
}
void delay(unsigned long ms)
{

View file

@ -3,7 +3,6 @@
#include "parser.h"
#include "usb_hid.h"
#include "leonardo_led.h"
#include "debug.h"
@ -16,9 +15,9 @@ void KBDReportParser::Parse(HID *hid, bool is_rpt_id, uint8_t len, uint8_t *buf)
::memcpy(&usb_hid_keyboard_report, buf, sizeof(report_keyboard_t));
usb_hid_time_stamp = millis();
LED_TX_TOGGLE;
debug("KBDReport: ");
debug_hex(usb_hid_keyboard_report.mods);
debug(" --");
for (uint8_t i = 0; i < 6; i++) {
debug(" ");
debug_hex(usb_hid_keyboard_report.keys[i]);

View file

@ -0,0 +1,10 @@
#ifndef USB_HID_H
#define USB_HID_H
#include "report.h"
extern report_keyboard_t usb_hid_keyboard_report;
extern uint16_t usb_hid_time_stamp;
#endif