#lang scheme/base
(require
"../pk2/icsp.ss"
"../pk2/pk2.ss"
"../pk2/comm.ss"
"../pk2/cmd.ss"
"tethered.ss"
scheme/system)
(provide
(all-from-out "../pk2/comm.ss"))
(provide comm-pickit2)
(define (comm-pickit2 dev baud)
(define (connect)
(printf "Connecting to PICkit2.\n")
(pk2-boot)
(target-on) (when baud
(let ((period (truncate (/ 1000000 baud))))
(printf "period: ~a ms (~a baud)\n"
period baud)
(icsp-us period))))
(define (reconnect)
(pk2-reset-programmer)
(sleep 1)
(connect)
)
(comm-reconnect reconnect) (comm-close pk2-close) (comm-stat pk2-stat)
(comm-reset pk2-reset) (comm-on pk2-on) (comm-off pk2-off)
(comm-poll pk2-poll) (comm-in pk2-in) (comm-out pk2-out)
(connect))