cdc work with test code
This commit is contained in:
parent
a80e029ae1
commit
f18643ae10
@ -1 +1 @@
|
||||
Subproject commit 7a77aed8fa67cf6740943cf25a00485d4f288cfb
|
||||
Subproject commit b6accc622b3a307e8fd5559a215401f1d704a5f4
|
16
src/boards.h
16
src/boards.h
@ -34,22 +34,6 @@
|
||||
|
||||
#define bit(b) (1UL << (b))
|
||||
|
||||
static inline uint32_t bit_set(uint32_t value, uint8_t n)
|
||||
{
|
||||
return value | bit(n);
|
||||
}
|
||||
|
||||
static inline uint32_t bit_clear(uint32_t value, uint8_t n)
|
||||
{
|
||||
return value & (~bit(n));
|
||||
}
|
||||
|
||||
static inline bool bit_test(uint32_t value, uint8_t n)
|
||||
{
|
||||
return (value & bit(n)) ? true : false;
|
||||
}
|
||||
|
||||
|
||||
void led_control(uint32_t pin, bool state);
|
||||
|
||||
static inline void led_on(uint32_t pin)
|
||||
|
36
src/main.c
36
src/main.c
@ -57,6 +57,8 @@
|
||||
#include "nrf_delay.h"
|
||||
#include "pstorage.h"
|
||||
|
||||
#include "tusb.h"
|
||||
|
||||
|
||||
#define BOOTLOADER_VERSION_REGISTER NRF_TIMER2->CC[0]
|
||||
|
||||
@ -334,7 +336,6 @@ int main(void)
|
||||
|
||||
/* Initialize a blinky timer to show that we're in bootloader */
|
||||
(void) app_timer_create(&blinky_timer_id, APP_TIMER_MODE_REPEATED, blinky_handler);
|
||||
app_timer_start(blinky_timer_id, APP_TIMER_TICKS(LED_BLINK_INTERVAL), NULL);
|
||||
|
||||
// Init bootloader and SD
|
||||
(void) bootloader_init();
|
||||
@ -345,6 +346,7 @@ int main(void)
|
||||
APP_ERROR_CHECK(err_code);
|
||||
|
||||
ble_stack_init(!sd_inited);
|
||||
app_timer_start(blinky_timer_id, APP_TIMER_TICKS(LED_BLINK_INTERVAL), NULL);
|
||||
|
||||
err_code = bootloader_dfu_sd_update_finalize();
|
||||
APP_ERROR_CHECK(err_code);
|
||||
@ -352,6 +354,30 @@ int main(void)
|
||||
else
|
||||
{
|
||||
ble_stack_init(!sd_inited);
|
||||
app_timer_start(blinky_timer_id, APP_TIMER_TICKS(LED_BLINK_INTERVAL), NULL);
|
||||
}
|
||||
|
||||
// Init usb stack
|
||||
tusb_init();
|
||||
|
||||
// TODO temporarily code to test usb cdc
|
||||
while( true )
|
||||
{
|
||||
sd_app_evt_wait();
|
||||
app_sched_execute();
|
||||
|
||||
tusb_task();
|
||||
|
||||
// connected and there are data available -> echo back
|
||||
if ( tud_mounted() && tud_cdc_available() )
|
||||
{
|
||||
uint8_t buf[64];
|
||||
|
||||
// read and echo back
|
||||
uint32_t count = tud_cdc_read(buf, sizeof(buf));
|
||||
|
||||
tud_cdc_write(buf, count);
|
||||
}
|
||||
}
|
||||
|
||||
/*------------- Determine DFU mode (Serial, OTA, FRESET or normal) -------------*/
|
||||
@ -480,7 +506,7 @@ void adafruit_factory_reset(void)
|
||||
}
|
||||
|
||||
|
||||
static inline void verify_breakpoint(void)
|
||||
static inline void halt_breakpoint(void)
|
||||
{
|
||||
// Cortex M CoreDebug->DHCSR
|
||||
volatile uint32_t* ARM_CM_DHCSR = ((volatile uint32_t*) 0xE000EDF0UL);
|
||||
@ -491,7 +517,7 @@ static inline void verify_breakpoint(void)
|
||||
|
||||
void app_error_fault_handler(uint32_t id, uint32_t pc, uint32_t info)
|
||||
{
|
||||
verify_breakpoint();
|
||||
halt_breakpoint();
|
||||
NVIC_SystemReset();
|
||||
}
|
||||
|
||||
@ -586,8 +612,10 @@ void ada_soc_task(void* evt_data, uint16_t evt_size)
|
||||
|
||||
if (NRF_SUCCESS == err)
|
||||
{
|
||||
// Flash is the only soc event
|
||||
extern void power_usb_event_handler(uint32_t evt);
|
||||
|
||||
pstorage_sys_event_handler(soc_evt);
|
||||
power_usb_event_handler(soc_evt);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -273,6 +273,9 @@
|
||||
<file file_name="../metro52.h" />
|
||||
<file file_name="../pstorage_platform.h" />
|
||||
<file file_name="../sdk_config.h" />
|
||||
<file file_name="../tusb_config.h" />
|
||||
<file file_name="../tusb_descriptors.c" />
|
||||
<file file_name="../tusb_descriptors.h" />
|
||||
</folder>
|
||||
<configuration
|
||||
Name="Debug"
|
||||
|
Loading…
Reference in New Issue
Block a user