(#%require "constants.scm")
(#%require "firmataWINDOWS.rkt")
(#%require (only racket/base sleep))
(open-firmata "COM7")
(define LDR-pin 0)
(define button-pin 5)
(set-pin-mode! LDR-pin ANALOG_MODE)
(set-pin-mode! button-pin INPUT_MODE)
(define (print-analog-values)
(report-analog-pin! LDR-pin ON)
(let loop ()
(display (read-analog-pin LDR-pin)) (newline)
(sleep 1)
(loop)))
(define (print-digital-values)
(report-digital-port! ON)
(let loop ()
(display (is-pin-set? button-pin)) (newline)
(sleep 1)
(loop)))
(define (buttonTest)
(display "Please press the button") (newline)
(report-digital-port! ON)
(let loop
((buttonval (is-pin-set? button-pin)))
(if buttonval
(begin (display "Success!") (newline)
(report-digital-port! OFF))
(begin (sleep .1)
(loop (is-pin-set? button-pin))))))
(define (analogTest)
(display "Testing sensor... Will succeed when values between 0 and 3966 occur") (newline)
(report-analog-pin! LDR-pin ON)
(let loop
((tries 10)
(sensorval (read-analog-pin LDR-pin)))
(if (and (> sensorval 0)
(< sensorval 3966))
(begin (display "success! With a value of ") (display sensorval) (newline)
(report-analog-pin! LDR-pin OFF))
(if (< tries 5)
(loop (+ tries 1)
(read-analog-pin LDR-pin))
(begin (display "Sensor is returning the wrong values") (newline))))))
(print-digital-values)