AXE 131 Problem

The bear

Senior Member
My AXE 131 has lost approx. half of its display. Its used to display the output from "Readtemp12.
This happened after it was switched off (08M2 & AXE 131) for 5 mins. The display is fine on an AXE133.
Can I reprogram it? I've not had much luck in searching for the AXE131 Original firmware.

Bear..
 
Last edited:

The bear

Senior Member
Thank you hippy.
Downloaded your code, the display hasn't changed for better or worse.
It's done sterling service for 12 months, on continuous.
 

The bear

Senior Member
@hippy,
This is the result of the memory mapping, is this the result you expected?
I would be the first to suspect coding, however, it works fine on the AXE133 Oled.
Also it runs true in PE6 simulator, using the built-in oled/lcd display.
Will endeavour to post the full code later.
Power supply has been substituted, no change.
 

Attachments

hippy

Technical Support
Staff member
That would appear to be as expected. If it that's a photo of your actual 8 x 2-line AXE131 display it would seem to suggest it is working fine, with the test program able to access all display characters correctly.

If something therefore isn't displaying when your own program runs that suggests it's something with the program itself.

Perhaps more detail on how it has 'lost half its display', what you see and what you expected, would help clarify what may be going on.
 

The bear

Senior Member
Thank you for putting my posts in the Active Forum.
Picture shows current state of my AXE131.
Much improved since your two code transfusions. The display should show: +14.XX °C (Top line is OK now).
Initially, after the 08M2/Axe131 had been switched off for five mins., it only displayed: Top line = OUTD Bottom line = + xx.
 

Attachments

The bear

Senior Member
Code for 08M2/AXE131 Couldn't find Code/Code, before Tex tells me off! Got it now "INSERT"
; HC-12 RX Readtemp12 v1.0 09.01.18 CURRENT 10.01.18
;RX
;Marks Readtemp12 v1.0 30.11.17 From Snippets
; 337 Bytes
;Works fine, doesn't simulate temps (C.1)
#Picaxe 08M2 ;AXE131 & DS18B20
#No_data
#Terminal 4800
#Com 3
;Receiver
Sertxd (Cr, Lf,"New HC-12 +Marks Readtemp12 09.01.18")

Symbol baud = T2400 ;baud rate to use
Symbol display = C.0 ;OLED
Symbol inpin = C.3 ;HC-12 TXD
Symbol outpin = C.4 ;HC-12 RXD
Symbol command = b0

Init: ; Initialise OLED output
;Low display
Pause 2000
Serout display,N2400,(254,1) ;Clear screen
Pause 500
Main:
High outpin ;Do this or the first serout will send rubbish
Celsius:
Pause 500
;Serout display,N2400,(254,1) ;Clear screen
Pause 1000
Serin inpin,baud,#w1 'Hash rem for simu.
Pause 500
convert:
Let b9 = 43 'Display + b9 =(43) space b8 =(32)
If w1 > 64655 Then 'info - 55 degrees = 64656
Let b9 = 45 'Display - (45)
w1 = - w1 ;info if - ie w1=1000 display - 10.00 C
Endif
w1 = w1 * 25 / 4 'info + ie w1=8500 display 85.00 C
Bintoascii w1,b8,b7,b6,b5,b4
If b8 = "0" Then : b8 = " " :ENDIF ' zero blanking b8
If b8 = " " And b7 = "0" Then : b7 = " " :ENDIF 'zero blanking b7
Sertxd (Cr, Lf, "Temp",b9,b8,b7,b6,".",b5,b4," Degrees C", Cr, Lf)
Pause 1000
Sertxd( " ", #w1 , "C" )
;Goto celsius
;---------------------------------OLED ADDED
Bintoascii w1,b8,b7,b6,b5,b4

If b8 = "0" Then : b8 = " " :ENDIF ' zero blanking b8
If b8 = " " And b7 = "0" Then : b7 = " " :ENDIF
Pause 100
;Serout display,N2400,(254,130," INDOOR TEMP ") ;AXE133 (ORIGINAL)
;Serout display,N2400,(254,130," OUTDOOR TEMP ") ;AXE133 (ORIGINAL)
Serout display,N2400,(254,130," OUTDOOR") ;AXE131
Pause 100
Serout display,N2400,(254,194, b9," ",b8,b7,b6,".",b5,b4,$D2 ,"C") ;AXE131
;Serout display,N2400,(254,192,"NOW = ", b9," ", b8,b7,b6,".",b5,b4,$D2 ,"C"); AXE133 (ORIGINAL)
; Serout display,N2400,(254,193,"TEMP ",b9 ," ", b8,b7,b6,".",b5,b4,$D2 ,"C") ;AXE133 (ORIGINAL)
Pause 20000 ;Updates Temp ~ 40 Secs.
Goto celsius
 
Last edited:

The bear

Senior Member
AXE131 & AXE133 updates.
I think we can say without doubt, it's a code problem. Will work on it later...
Pictures are AXE133 lower one at switch-on, the other after running for 3 hours, untouched.
OK they are side by side now, the later one showing "OUTDOOROOR" etc.
 

Attachments

hippy

Technical Support
Staff member
It could be that there's some timing issue, data being sent too quickly for the AXE131 to keep up, or some divergence in baud rates.

But my suspicion is it's because you have connected the 'display' to C.0 which is also Download Serial Out. You will likely be corrupting the display on every download, and also corrupting it with your SERTXD output.

You may be able to fix everything simply by moving the display to C.1, updating the "Symbol display = C.1" and making sure that "Low display" is included at the very start.

That "High outpin" should also be removed, is likely not doing what you expect, could even be the cause of some corruption as it likely puts a high out on C.0 which could well be seen as a corrupt character for the OLED.
 
Top