summaryrefslogtreecommitdiff
path: root/usb-i2c-sl018
diff options
context:
space:
mode:
Diffstat (limited to 'usb-i2c-sl018')
-rw-r--r--usb-i2c-sl018/Makefile4
-rw-r--r--usb-i2c-sl018/keystore.c7
-rw-r--r--usb-i2c-sl018/tuer-rfid.c8
-rw-r--r--usb-i2c-sl018/usb_serial.c107
-rw-r--r--usb-i2c-sl018/usb_serial.h30
5 files changed, 10 insertions, 146 deletions
diff --git a/usb-i2c-sl018/Makefile b/usb-i2c-sl018/Makefile
index a547d69..7b43a85 100644
--- a/usb-i2c-sl018/Makefile
+++ b/usb-i2c-sl018/Makefile
@@ -23,8 +23,8 @@
NAME := tuer-rfid
BOARD_TYPE := teensy2
-OBJ := $(NAME).o heartbeat.o stepper.o ledmatrix.o sl018.o keystore.o usb_serial.o statemachine.o
-LIBS := util led lufa-descriptor-usbserial
+OBJ := $(NAME).o heartbeat.o stepper.o ledmatrix.o sl018.o keystore.o statemachine.o
+LIBS := util led lufa-descriptor-usbserial anyio
EXTERNAL_LIBS := lufa
LUFA_PATH := ../contrib/LUFA-120219
diff --git a/usb-i2c-sl018/keystore.c b/usb-i2c-sl018/keystore.c
index c04f90d..5718e3f 100644
--- a/usb-i2c-sl018/keystore.c
+++ b/usb-i2c-sl018/keystore.c
@@ -25,8 +25,9 @@
#include <avr/eeprom.h>
#include <stdio.h>
#include <string.h>
-#include "usb_serial.h"
+
#include "led.h"
+#include "anyio.h"
#define EEPROM_SIZE 1024
typedef uint8_t keyslot_t[8];
@@ -40,9 +41,9 @@ void flash_keystore_from_stdio(void)
printf("Flashing keys:\n\r");
fflush(stdout);
for(uint8_t ks_pos=0;ks_pos<EEPROM_SIZE/sizeof(ks);) {
- usb_serial_task();
+ anyio_task();
- int16_t bytes_received = usb_serial_bytes_received();
+ int16_t bytes_received = anyio_bytes_received();
while(bytes_received > 0) {
ks[byte_pos++]=fgetc(stdin);
bytes_received--;
diff --git a/usb-i2c-sl018/tuer-rfid.c b/usb-i2c-sl018/tuer-rfid.c
index d87bde5..69523f9 100644
--- a/usb-i2c-sl018/tuer-rfid.c
+++ b/usb-i2c-sl018/tuer-rfid.c
@@ -33,13 +33,13 @@
#include "util.h"
#include "led.h"
+#include "anyio.h"
#include "heartbeat.h"
#include "stepper.h"
#include "ledmatrix.h"
#include "sl018.h"
#include "keystore.h"
-#include "usb_serial.h"
#include "statemachine.h"
void handle_stdio(uint8_t cmd)
@@ -114,7 +114,7 @@ int main(void)
cpu_init();
led_init();
- usb_serial_init();
+ anyio_init(115200, false);
TWI_Init(TWI_BIT_PRESCALE_1, TWI_BITLENGTH_FROM_FREQ(1, 200000));
init_heartbeat();
init_stepper();
@@ -124,10 +124,10 @@ int main(void)
sl018_reset();
for(;;) {
+ anyio_task();
statemachine_task();
- usb_serial_task();
- int16_t bytes_received = usb_serial_bytes_received();
+ int16_t bytes_received = anyio_bytes_received();
if(bytes_received > 0)
handle_stdio(fgetc(stdin));
diff --git a/usb-i2c-sl018/usb_serial.c b/usb-i2c-sl018/usb_serial.c
deleted file mode 100644
index f08d9b3..0000000
--- a/usb-i2c-sl018/usb_serial.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * spreadspace avr utils
- *
- *
- * Copyright (C) 2013 Christian Pointner <equinox@spreadspace.org>
- * Othmar Gsenger <otti@wirdorange.org>
- *
- * This file is part of spreadspace avr utils.
- *
- * spreadspace avr utils is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * any later version.
- *
- * spreadspace avr utils is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with spreadspace avr utils. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdio.h>
-
-#include "usb_serial.h"
-#include <LUFA/Drivers/USB/USB.h>
-#include "lufa-descriptor-usbserial.h"
-#include "LUFA/Drivers/Peripheral/Serial.h"
-
-/*
- LUFA Library
- Copyright (C) Dean Camera, 2012.
-
- dean [at] fourwalledcubicle [dot] com
- www.lufa-lib.org
-*/
-
-USB_ClassInfo_CDC_Device_t VirtualSerial_CDC_Interface =
- {
- .Config =
- {
- .ControlInterfaceNumber = 0,
-
- .DataINEndpointNumber = CDC_TX_EPNUM,
- .DataINEndpointSize = CDC_TXRX_EPSIZE,
- .DataINEndpointDoubleBank = false,
-
- .DataOUTEndpointNumber = CDC_RX_EPNUM,
- .DataOUTEndpointSize = CDC_TXRX_EPSIZE,
- .DataOUTEndpointDoubleBank = false,
-
- .NotificationEndpointNumber = CDC_NOTIFICATION_EPNUM,
- .NotificationEndpointSize = CDC_NOTIFICATION_EPSIZE,
- .NotificationEndpointDoubleBank = false,
- },
- };
-
-void EVENT_USB_Device_ConfigurationChanged(void)
-{
- CDC_Device_ConfigureEndpoints(&VirtualSerial_CDC_Interface);
-}
-
-void EVENT_USB_Device_ControlRequest(void)
-{
- CDC_Device_ProcessControlRequest(&VirtualSerial_CDC_Interface);
-}
-/* end LUFA CDC-ACM specific definitions*/
-
-FILE usb_stream;
-FILE serial_stream;
-
-void usb_serial_init()
-{
- Serial_Init(115200,false);
- Serial_CreateStream(&serial_stream);
-
- USB_Init();
- CDC_Device_CreateStream(&VirtualSerial_CDC_Interface,&usb_stream);
-}
-
-void usb_serial_task(void)
-{
- CDC_Device_USBTask(&VirtualSerial_CDC_Interface);
- USB_USBTask();
-}
-
-int16_t usb_serial_bytes_received(void)
-{
- if(stdin == &usb_stream)
- return CDC_Device_BytesReceived(&VirtualSerial_CDC_Interface);
- else
- return (int16_t)Serial_IsCharReceived();
-}
-
-void EVENT_CDC_Device_ControLineStateChanged(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo)
-{
- if(CDCInterfaceInfo->State.ControlLineStates.HostToDevice & CDC_CONTROL_LINE_OUT_DTR)
- stdin = stdout = &usb_stream;
- else
- stdin = stdout = &serial_stream;
-}
-
-void EVENT_USB_Device_Disconnect(void)
-{
- stdin = stdout = &serial_stream;
-}
diff --git a/usb-i2c-sl018/usb_serial.h b/usb-i2c-sl018/usb_serial.h
deleted file mode 100644
index 31ac95e..0000000
--- a/usb-i2c-sl018/usb_serial.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * spreadspace avr utils
- *
- *
- * Copyright (C) 2013 Christian Pointner <equinox@spreadspace.org>
- * Othmar Gsenger <otti@wirdorange.org>
- *
- * This file is part of spreadspace avr utils.
- *
- * spreadspace avr utils is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * any later version.
- *
- * spreadspace avr utils is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with spreadspace avr utils. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef R3TUER_usb_serial_h_INCLUDED
-#define R3TUER_usb_serial_h_INCLUDED
-
-void usb_serial_init(void);
-void usb_serial_task(void);
-int16_t usb_serial_bytes_received(void);
-#endif