- board.h (board_app_init), board_app.c (board_app_init): new function
for application-specific board initialization
- atusb.c (main): call board_app_init
- board_app.c (INT0_vect): on RF interrupt, read REG_IRQ_STATUS and
send the status byte on EP1
- board_app.c (board_app_init): set up interrupt on rising edge of
INT0 (INT_RF)
- descr.c (config_descriptor): added EP1 as bulk IN
The measured values are:
board idle, looping 9 mA
LED on + 5 mA
TX CW (+3 dBm) +14 mA
------
28 mA
======
Adding a margin of 12 mA, we get 40 mA. DFU used 30 mA so far, the
application 50 mA.
- board.h (BOARD_MAX_mA): define maximum USB bus current
- descr.c (config_descriptor), usb/dfu.c (config_descriptor):
use BOARD_MAX_mA for bMaxPower instead of hard-coding values
- usb/usb.h (USB_LANGID_ENGLISH_US): added USB LANGID for US-English
- board.h (board_sernum), board.c (board_sernum, hex, get_sernum,
board_init): provide the board's serial number in "board_sernum"
(UTF-encoded)
- sernum.h (sernum_get_descr), sernum.c (sernum_get_descr): return
string descriptors for the serial number
- descr.c (device_descriptor), usb/dfu.c (device_descriptor):
set iSerialNumber if serial number is available
- atusb.c (main), usb/dfu.c (my_descr): call sernum_get_descr for
unknown descriptors
- Makefile (OBJS, BOOT_OBJS): added sernum.o