SwingeyP
Member
Does anyone have a plugin for oshon that will simulate 1wire comms?
Is there any other way of doing it? - If not does the following code make sense?
Sorry lots of questions there but i hope you'll get the idea.
<code>
'- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
'lcd program written by paul swingewood
'June 2010
'--------------------------------------------------------------------------
AllDigital
Define LCD_BITS = 8
Define LCD_DREG = PORTB
Define LCD_DBIT = 0
Define LCD_RSREG = PORTA
Define LCD_RSBIT = 0
Define LCD_EREG = PORTA
Define LCD_EBIT = 2
Define LCD_RWREG = PORTA
Define LCD_RWBIT = 1
Define LCD_READ_BUSY_FLAG = 1
Define LCD_COMMANDUS = 5000 'delay after LCDCMDOUT, default value is 5000
Define LCD_DATAUS = 100 'delay after LCDOUT, default value is 100
Define LCD_INITMS = 20
Define 1WIRE_REG = PORTA
Define 1WIRE_BIT = 3
Dim menucode As Byte
Dim gait As Byte
Dim speed As Byte
Dim mode As Byte
1wireInit
WaitMs 1
1wireGetByte menucode
startup:
Lcdinit LcdCurBlink
Lcdcmdout LcdClear
1wireInit
WaitMs 1
start:
1wireGetByte menucode, gait, speed, mode
Select Case menucode
Case 1
Gosub mainmenu
Case 2
Gosub runmenu
Case 3
Gosub setupmenu
EndSelect
Goto start
End
mainmenu:
Lcdcmdout LcdLine1Pos(3)
Lcdout "INSECT-A-BOT"
Lcdcmdout LcdLine2Home
Lcdout "RUN SETUP DEMO"
Return
runmenu:
Lcdcmdout LcdLine1Pos(3)
Lcdout "INSECT-A-BOT"
Lcdcmdout LcdLine2Home
Lcdout "GT"
Lcdout #gait
Return
setupmenu:
Lcdcmdout LcdLine1Pos(3)
Lcdout "INSECT-A-BOT"
Lcdcmdout LcdLine2Home
Lcdout "GAIT SPEED MODE"
Return
</code>
Is there any other way of doing it? - If not does the following code make sense?
Sorry lots of questions there but i hope you'll get the idea.
<code>
'- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -
'lcd program written by paul swingewood
'June 2010
'--------------------------------------------------------------------------
AllDigital
Define LCD_BITS = 8
Define LCD_DREG = PORTB
Define LCD_DBIT = 0
Define LCD_RSREG = PORTA
Define LCD_RSBIT = 0
Define LCD_EREG = PORTA
Define LCD_EBIT = 2
Define LCD_RWREG = PORTA
Define LCD_RWBIT = 1
Define LCD_READ_BUSY_FLAG = 1
Define LCD_COMMANDUS = 5000 'delay after LCDCMDOUT, default value is 5000
Define LCD_DATAUS = 100 'delay after LCDOUT, default value is 100
Define LCD_INITMS = 20
Define 1WIRE_REG = PORTA
Define 1WIRE_BIT = 3
Dim menucode As Byte
Dim gait As Byte
Dim speed As Byte
Dim mode As Byte
1wireInit
WaitMs 1
1wireGetByte menucode
startup:
Lcdinit LcdCurBlink
Lcdcmdout LcdClear
1wireInit
WaitMs 1
start:
1wireGetByte menucode, gait, speed, mode
Select Case menucode
Case 1
Gosub mainmenu
Case 2
Gosub runmenu
Case 3
Gosub setupmenu
EndSelect
Goto start
End
mainmenu:
Lcdcmdout LcdLine1Pos(3)
Lcdout "INSECT-A-BOT"
Lcdcmdout LcdLine2Home
Lcdout "RUN SETUP DEMO"
Return
runmenu:
Lcdcmdout LcdLine1Pos(3)
Lcdout "INSECT-A-BOT"
Lcdcmdout LcdLine2Home
Lcdout "GT"
Lcdout #gait
Return
setupmenu:
Lcdcmdout LcdLine1Pos(3)
Lcdout "INSECT-A-BOT"
Lcdcmdout LcdLine2Home
Lcdout "GAIT SPEED MODE"
Return
</code>