1
0
Fork 0

Clueboard 60% support (#1746)

* initial clueboard_60 support

* LED lighting support

* fix the clueboard->clueboard_66 rename

* Add layout support to clueboard_60

* Fix the 60_iso layout so it's actually iso

* add a default keymap for AEK layout

* fix clueboard_17

* Fixup the ISO layouts

* Fix the `wait_ms()/wait_us()` definitions for chibios

* Fix up the wait_ms/wait_us hack. Reduce stack size.

* Add a missing #include "wait.h"

* commit files that should have already been comitted
This commit is contained in:
skullydazed 2017-09-29 16:17:30 -07:00 committed by GitHub
parent b736f25e85
commit 5fd68266f5
114 changed files with 4005 additions and 103 deletions

View file

@ -42,7 +42,7 @@
#include "visualizer/visualizer.h"
#endif
#include "suspend.h"
#include "wait.h"
/* -------------------------
* TMK host driver defs
@ -70,19 +70,19 @@ host_driver_t chibios_driver = {
* Amber LED blinker thread, times are in milliseconds.
*/
/* set this variable to non-zero anywhere to blink once */
// uint8_t blinkLed = 0;
// static THD_WORKING_AREA(waBlinkerThread, 128);
// static THD_FUNCTION(blinkerThread, arg) {
// static THD_WORKING_AREA(waThread1, 128);
// static THD_FUNCTION(Thread1, arg) {
// (void)arg;
// chRegSetThreadName("blinkOrange");
// while(true) {
// if(blinkLed) {
// blinkLed = 0;
// palSetPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
// chThdSleepMilliseconds(100);
// palClearPad(TEENSY_PIN13_IOPORT, TEENSY_PIN13);
// }
// chThdSleepMilliseconds(100);
// chRegSetThreadName("blinker");
// while (true) {
// systime_t time;
// time = USB_DRIVER.state == USB_ACTIVE ? 250 : 500;
// palClearLine(LINE_CAPS_LOCK);
// chSysPolledDelayX(MS2RTC(STM32_HCLK, time));
// palSetLine(LINE_CAPS_LOCK);
// chSysPolledDelayX(MS2RTC(STM32_HCLK, time));
// }
// }
@ -96,7 +96,7 @@ int main(void) {
chSysInit();
// TESTING
// chThdCreateStatic(waBlinkerThread, sizeof(waBlinkerThread), NORMALPRIO, blinkerThread, NULL);
// chThdCreateStatic(waThread1, sizeof(waThread1), NORMALPRIO, Thread1, NULL);
/* Init USB */
init_usb_driver(&USB_DRIVER);
@ -128,7 +128,7 @@ int main(void) {
}
serial_link_update();
#endif
chThdSleepMilliseconds(50);
wait_ms(50);
}
/* Do need to wait here!
@ -136,7 +136,7 @@ int main(void) {
* before the USB is completely ready, which sometimes causes
* HardFaults.
*/
chThdSleepMilliseconds(50);
wait_ms(50);
print("USB configured.\n");

View file

@ -27,6 +27,7 @@
#include "sleep_led.h"
#include "led.h"
#endif
#include "wait.h"
#ifdef NKRO_ENABLE
#include "keycode_config.h"
@ -39,6 +40,14 @@
* ---------------------------------------------------------
*/
#ifndef usb_lld_connect_bus
#define usb_lld_connect_bus(usbp)
#endif
#ifndef usb_lld_disconnect_bus
#define usb_lld_disconnect_bus(usbp)
#endif
uint8_t keyboard_idle __attribute__((aligned(2))) = 0;
uint8_t keyboard_protocol __attribute__((aligned(2))) = 1;
uint16_t keyboard_led_stats __attribute__((aligned(2))) = 0;
@ -1017,7 +1026,7 @@ void init_usb_driver(USBDriver *usbp) {
* after a reset.
*/
usbDisconnectBus(usbp);
chThdSleepMilliseconds(1500);
wait_ms(1500);
usbStart(usbp, &usbcfg);
usbConnectBus(usbp);
@ -1037,16 +1046,16 @@ void send_remote_wakeup(USBDriver *usbp) {
#if defined(K20x) || defined(KL2x)
#if KINETIS_USB_USE_USB0
USB0->CTL |= USBx_CTL_RESUME;
chThdSleepMilliseconds(15);
wait_ms(15);
USB0->CTL &= ~USBx_CTL_RESUME;
#endif /* KINETIS_USB_USE_USB0 */
#elif defined(STM32F0XX) || defined(STM32F1XX) /* K20x || KL2x */
#elif defined(STM32F0XX) || defined(STM32F1XX) || defined(STM32F3XX) /* End K20x || KL2x */
STM32_USB->CNTR |= CNTR_RESUME;
chThdSleepMilliseconds(15);
wait_ms(15);
STM32_USB->CNTR &= ~CNTR_RESUME;
#else /* STM32F0XX || STM32F1XX */
#else /* End STM32F0XX || STM32F1XX || STM32F3XX */
#warning Sending remote wakeup packet not implemented for your platform.
#endif /* K20x || KL2x */
#endif
}
/* ---------------------------------------------------------