I have and UNO and I programmed it with the KENBAK-1 code to see what active signals look like.
Pin 17 is the clock for the button scan. Fast 16 clocks ever 20ms.
Not so on the nano board.
Well after much probing I found that the TX line nano comes up after reset.
I wondered if maybe the Arduino bootloader was still intact, but the application was corrupt somehow.
I had previously added a header to use the uart for download and upload, and that had been working.
Since I did not have DTR to reset the AVR, I kept trying the manual reset when the sketch was trying to upload.
Eventually I got it to catch and successfully re-flashed the nanoKENBAK-1.
Do not know how it got corrupted.
Guess it is now back to scratch building the min part KENBAK-1 setup.
I have added integral control to the proportional control algorithm
Also I have ordered some SPI temperature sensors: ADT7301
These are simple to interface and have good resolution: 1/32 degree C
Below is a proto of the Temperature sensor SPI read code.
With the addition of the Integral control and the SPI temperate read,
the old axiom of "Software is like a gas, it expands to fill the volume" is holding true.
Only a few bytes left.
; ADT7301 read routine
; OUTPUT.0 SPI Chip select (inverted externally so can leave low for antHeat)
; OUTPUT.1 SPI Clock
; INPUT.0 SPI MISO
;
; This is not totally accurate for values outside of normal
; Room temperatures (extra bits in least significant 3 bits)
load X,20 ; get 20 bits to scale to 1/2 C resolution at the decimal point
jmk spiread ; read spi sensor
store A,sense
store B,senseh
...
shl16b db
sft B,L,1 ; shift left B
skp 7,0,A ; check b7 A
set 0,1,B ; b7 A was high set b0 B
sft A,L,1 ; shift left A
jmp (shl16b)
; OUTPUT b0 = CS, b1 = CLK, INPUT b0 = MISO
spiread db
spibit set 1,1,OUTPUT ; clock hi
set 0,1,OUTPUT ; select chip (inverted ext)
set 1,0,OUTPUT ; clock low
jmk shl16b
skp 0,0,INPUT ; check input bit
set 0,1,A ; bit high, save it
sub X,1
jmp X,NE,spibit
set 0,0,OUTPUT ; deselect chip
jmp (spiread)