X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=lib%2Fccdbg-io.c;h=3606c57cf960461d9a19ecfb879e070385c097bb;hp=53ea758342c6f22f055c42549bc2fc3c403c8336;hb=7b7617e376afe0df1d505375b76198358330370c;hpb=1264c3676e95427bba5d01e05c303d036a7f9eca diff --git a/lib/ccdbg-io.c b/lib/ccdbg-io.c index 53ea7583..3606c57c 100644 --- a/lib/ccdbg-io.c +++ b/lib/ccdbg-io.c @@ -24,15 +24,35 @@ #include "cp-usb.h" #endif +static uint32_t cc_clock_us = CC_CLOCK_US; +static uint32_t cc_reset_us = CC_RESET_US; + +void +ccdbg_set_clock(uint32_t us) +{ + cc_clock_us = us; +} + void ccdbg_half_clock(struct ccdbg *dbg) { struct timespec req, rem; - req.tv_sec = (CC_CLOCK_US / 2) / 1000000; - req.tv_nsec = ((CC_CLOCK_US / 2) % 1000000) * 1000; + req.tv_sec = (cc_clock_us / 2) / 1000000; + req.tv_nsec = ((cc_clock_us / 2) % 1000000) * 1000; nanosleep(&req, &rem); } +void +ccdbg_wait_reset(struct ccdbg *dbg) +{ + struct timespec req, rem; + + ccdbg_sync_io(dbg); + req.tv_sec = (cc_reset_us) / 1000000; + req.tv_nsec = ((cc_reset_us) % 1000000) * 1000; + nanosleep(&req, &rem); +} + struct ccdbg * ccdbg_open(void) {