[ ] Install in Solar powered AP (Rowetel)
[ ] WP300 Testing
+ [ ] Test 1: false watchdog firing
+ + test_watchdog.tcl Exepct script
+ + sends 'w' every sec, look for false WD fire
+ + results: after approx 40 hrs, 91,000 seconds, no false firing
+
[ ] Test to determine watchdog doesn't fire by mistake
+ leave running for 1 week
+ stable power & router
---------
[ ] schematic
- [ ] pinout of 78L05
- [ ] pinout of power FET
- [ ] pinout of BC548
+ [X] pinout of 78L05
+ [X] pinout of power FET
+ [X] pinout of BC548
[ ] connect + & - together on unsued op-amp sections
- [ ] TAPR open harwdare license
+ [X] TAPR open harwdare license
[X] svn repository
+ with datasheet pdfs ?
[ ] unused LM324 inputs
+ check if its really OK to GND them
[X] blog post
+[ ] test at 5A for 24 Hrs
+ + given FET on-resistance do we need a heat sink?
[X] README in SVN
+ this file
[ ] Add 4th digit to sleep timer
--- /dev/null
+#!/usr/local/bin/expect -f
+# test_watchdog.tcl - Expect script to test wispcar watch dog timer.
+#
+# Assumes /etc//etc/minirc.mini4800.dfl config file configured for
+# 4800 baud
+
+set rs232 dragonballz
+set send_slow {1 0.2}
+set timeout -1
+
+# connect to machine with RS232 port
+
+spawn ssh $rs232
+expect "$ "
+send "killall -9 minicom\r"
+expect "$ "
+send "minicom mini4800.dfl\r"
+
+# Keep sending 'w' every second
+# This shoud mean WD _never_ times out
+
+set fire 0
+set count 0
+while {1} {
+ send "w"
+ expect -re "(...) (...) (.) (...) (...) (...) (.) (...) (.)"
+ set v $expect_out(1,string)
+ set w $expect_out(9,string)
+ if {$w == "w"} {
+ # watchdog has fired
+ set fire [expr $fire+1]
+ send "w"
+ }
+ set count [expr $count+1]
+ puts "count: $count fire: $fire"
+}
+
+close
;\r
; 4800 BAUD RS232 OUTPUT\r
; ======================\r
-;\r
-; Vsense\r
-; | Isense\r
-; | | Last char received (ASCII)\r
-; | | | Last char received (decimal)\r
-; | | | | Watchdog timeout counter\r
-; | | | | | Watchdog fire counter\r
-; | | | | | | Sleep state machine state\r
-; | | | | | | | Sleep timeout counter\r
-; | | | | | | | | \r
-; 040 031 032 012 000 0 000 w---reason for last restart\r
-; b - Wispcar (re)booted \r
-; w - watchdog timer fired \r
-; s - we went to sleep\r
-;\r
+; Name of script on host that parses this line\r
+; | Vsense\r
+; | | Isense\r
+; | | | char received (ASCII)\r
+; | | | | Last char received (decimal)\r
+; | | | | | Watchdog timeout counter\r
+; | | | | | | Watchdog fire counter\r
+; | | | | | | | Sleep state machine state\r
+; | | | | | | | | Sleep timeout counter\r
+; | | | | | | | | | \r
+; wispcar 040 031 - 032 012 000 0 000 w---reason for last restart\r
+; b - Wispcar (re)booted \r
+; w - watchdog timer fired \r
+; s - we went to sleep\r
+; - - restart flag reset\r
;\r
; COMMANDS\r
; ========\r
\r
; clear previous rx char\r
\r
- movlw ' '\r
+ movlw '-'\r
movwf SERBUFI\r
\r
; init delay loop for 1999996 cycles\r
movlw WD_TIMEOUT ; reset watchdog timer\r
movwf wd_timeout\r
\r
- movlw ' ' ; clear reboot flag\r
+ movlw '-' ; clear reboot flag\r
movwf restart_flag\r
\r
clrf sleep_state ; reset sleep state machine for good measure\r
btfsc ADCON0,1 ; skip if A/D conversion finished\r
goto wait_adc_v\r
\r
+ ; print 'wispcar' to get host to call script called wispcar.\r
+ ; This script can then parse wispcar output\r
+\r
+ movlw 'w'\r
+ call outch_n\r
+ movlw 'i'\r
+ call outch_n\r
+ movlw 's'\r
+ call outch_n\r
+ movlw 'p'\r
+ call outch_n\r
+ movlw 'c'\r
+ call outch_n\r
+ movlw 'a'\r
+ call outch_n\r
+ movlw 'r'\r
+ call outch_n\r
+ movlw ' '\r
+ call outch_n\r
+\r
; print voltage to RS232\r
\r
movf ADRES, 0\r