cwkoehler
01-16-06, 05:00 PM
Hello,
I have connected the IsopodX to (2) OSMC's for the purpose of driving a slid steer bot. I have successfully demonstrated that my isomax code works using wireless serial communications for real time control of the OSMC's. The problem is when I loose serial connection the last serial input before interuption remains active. Thus a hole in my living room wall when my (6) 12V drill motor bot lost serial communication, flew full speed across the room in a beeline (forward full power was last command) and bam, right into my wall, knocking off the corner bead and punching a hole in the drywall. My wife was agast. Question - can anyone help clean up my code so that when I loose serial wireless my bot doesnt make a new door to my soon to be doghouse outside. Code and connections below. Thanks in advance. PS - any other 'clean' code recommendations welcome.
( ISOPODX TO OSMC PINOUT
(
( OSMC ISOPODX
( BUS HEADER PIN FUNCTION HEADER PIN
( --------------------------------------------
( LMOTOR 1 4 DISABLE J9 PWMA4
( LMOTOR 1 5 AHI J9 V+
( LMOTOR 1 6 ALI J9 PWMA1
( LMOTOR 1 7 BHI J9 V+
( LMOTOR 1 8 BLI J9 PWMA0
( LMOTOR 1 9 GROUND J9 GROUND
( RMOTOR 2 4 DISABLE J9 PWMA5
( RMOTOR 2 5 AHI J9 V+
( RMOTOR 2 6 ALI J9 PWMA3
( RMOTOR 2 7 BHI J9 V+
( RMOTOR 2 8 BLI J9 PWMA2
( RMOTOR 2 9 GROUND J9 GROUND
SCRUB
HEX
VARIABLE BUSIN EEWORD
VARIABLE BUSOUT EEWORD
VARIABLE CMDOUT EEWORD
VARIABLE CMDIN EEWORD
MACHINE ROBOT EEWORD
ON-MACHINE ROBOT
APPEND-STATE SERIN EEWORD
APPEND-STATE MOVEMENT EEWORD
: PWM-INIT
PWMA0 INDEPENDENT
PWMA1 INDEPENDENT
PWMA2 INDEPENDENT
PWMA3 INDEPENDENT
PWMA4 INDEPENDENT
PWMA5 INDEPENDENT
4E2 PWMA0 PWM-PERIOD
7FFF PWMB0 PWM-PERIOD
; EEWORD
: TILT
CMDOUT @ PWMB0 PWM-OUT
; EEWORD
: PAN
CMDOUT @ PWMB1 PWM-OUT
; EEWORD
: DRVREV
CMDOUT @ PWMA1 PWM-OUT
CMDOUT @ PWMA3 PWM-OUT
PWMA0 OFF
PWMA2 OFF
PWMA4 OFF
PWMA5 OFF
REDLED TOGGLE
; EEWORD
: DRVFOR
CMDOUT @ PWMA0 PWM-OUT
CMDOUT @ PWMA2 PWM-OUT
PWMA1 OFF
PWMA3 OFF
PWMA4 OFF
PWMA5 OFF
; EEWORD
: DRVLFT
CMDOUT @ PWMA1 PWM-OUT
CMDOUT @ PWMA2 PWM-OUT
PWMA0 OFF
PWMA3 OFF
PWMA4 OFF
PWMA5 OFF
; EEWORD
: DRVRGT
CMDOUT @ PWMA0 PWM-OUT
CMDOUT @ PWMA3 PWM-OUT
PWMA1 OFF
PWMA2 OFF
PWMA4 OFF
PWMA5 OFF
; EEWORD
: TURNOFF
PWMA0 OFF
PWMA1 OFF
PWMA2 OFF
PWMA3 OFF
PWMA4 OFF
PWMA5 OFF
; EEWORD
IN-STATE SERIN
CONDITION
CAUSES
HEX
SCI0 RX BUSIN !
SCI0 RX DROP
0
SCI0 RX 30 - + A *
SCI0 RX 30 - + A *
SCI0 RX 30 - + A *
SCI0 RX 30 - + A *
SCI0 RX 30 - + CMDIN !
HEX
THEN-STATE MOVEMENT TO-HAPPEN IN-EE
IN-STATE MOVEMENT
CONDITION
CAUSES
CMDIN @ CMDOUT !
BUSIN @ 31 = IF
TILT
THEN
BUSIN @ 32 = IF
PAN
THEN
BUSIN @ 33 = IF
DRVFOR
THEN
BUSIN @ 34 = IF
DRVREV
THEN
BUSIN @ 35 = IF
DRVRGT
THEN
BUSIN @ 36 = IF
DRVLFT
THEN
BUSIN @ 20 = IF
TURNOFF
THEN
BUSIN @ 1B = IF
SCRUB
THEN
THEN-STATE SERIN TO-HAPPEN IN-EE
: START
PWM-INIT
SERIN SET-STATE
INSTALL ROBOT
EVERY 1388 CYCLES SCHEDULE-RUNS ROBOT
; EEWORD
I have connected the IsopodX to (2) OSMC's for the purpose of driving a slid steer bot. I have successfully demonstrated that my isomax code works using wireless serial communications for real time control of the OSMC's. The problem is when I loose serial connection the last serial input before interuption remains active. Thus a hole in my living room wall when my (6) 12V drill motor bot lost serial communication, flew full speed across the room in a beeline (forward full power was last command) and bam, right into my wall, knocking off the corner bead and punching a hole in the drywall. My wife was agast. Question - can anyone help clean up my code so that when I loose serial wireless my bot doesnt make a new door to my soon to be doghouse outside. Code and connections below. Thanks in advance. PS - any other 'clean' code recommendations welcome.
( ISOPODX TO OSMC PINOUT
(
( OSMC ISOPODX
( BUS HEADER PIN FUNCTION HEADER PIN
( --------------------------------------------
( LMOTOR 1 4 DISABLE J9 PWMA4
( LMOTOR 1 5 AHI J9 V+
( LMOTOR 1 6 ALI J9 PWMA1
( LMOTOR 1 7 BHI J9 V+
( LMOTOR 1 8 BLI J9 PWMA0
( LMOTOR 1 9 GROUND J9 GROUND
( RMOTOR 2 4 DISABLE J9 PWMA5
( RMOTOR 2 5 AHI J9 V+
( RMOTOR 2 6 ALI J9 PWMA3
( RMOTOR 2 7 BHI J9 V+
( RMOTOR 2 8 BLI J9 PWMA2
( RMOTOR 2 9 GROUND J9 GROUND
SCRUB
HEX
VARIABLE BUSIN EEWORD
VARIABLE BUSOUT EEWORD
VARIABLE CMDOUT EEWORD
VARIABLE CMDIN EEWORD
MACHINE ROBOT EEWORD
ON-MACHINE ROBOT
APPEND-STATE SERIN EEWORD
APPEND-STATE MOVEMENT EEWORD
: PWM-INIT
PWMA0 INDEPENDENT
PWMA1 INDEPENDENT
PWMA2 INDEPENDENT
PWMA3 INDEPENDENT
PWMA4 INDEPENDENT
PWMA5 INDEPENDENT
4E2 PWMA0 PWM-PERIOD
7FFF PWMB0 PWM-PERIOD
; EEWORD
: TILT
CMDOUT @ PWMB0 PWM-OUT
; EEWORD
: PAN
CMDOUT @ PWMB1 PWM-OUT
; EEWORD
: DRVREV
CMDOUT @ PWMA1 PWM-OUT
CMDOUT @ PWMA3 PWM-OUT
PWMA0 OFF
PWMA2 OFF
PWMA4 OFF
PWMA5 OFF
REDLED TOGGLE
; EEWORD
: DRVFOR
CMDOUT @ PWMA0 PWM-OUT
CMDOUT @ PWMA2 PWM-OUT
PWMA1 OFF
PWMA3 OFF
PWMA4 OFF
PWMA5 OFF
; EEWORD
: DRVLFT
CMDOUT @ PWMA1 PWM-OUT
CMDOUT @ PWMA2 PWM-OUT
PWMA0 OFF
PWMA3 OFF
PWMA4 OFF
PWMA5 OFF
; EEWORD
: DRVRGT
CMDOUT @ PWMA0 PWM-OUT
CMDOUT @ PWMA3 PWM-OUT
PWMA1 OFF
PWMA2 OFF
PWMA4 OFF
PWMA5 OFF
; EEWORD
: TURNOFF
PWMA0 OFF
PWMA1 OFF
PWMA2 OFF
PWMA3 OFF
PWMA4 OFF
PWMA5 OFF
; EEWORD
IN-STATE SERIN
CONDITION
CAUSES
HEX
SCI0 RX BUSIN !
SCI0 RX DROP
0
SCI0 RX 30 - + A *
SCI0 RX 30 - + A *
SCI0 RX 30 - + A *
SCI0 RX 30 - + A *
SCI0 RX 30 - + CMDIN !
HEX
THEN-STATE MOVEMENT TO-HAPPEN IN-EE
IN-STATE MOVEMENT
CONDITION
CAUSES
CMDIN @ CMDOUT !
BUSIN @ 31 = IF
TILT
THEN
BUSIN @ 32 = IF
PAN
THEN
BUSIN @ 33 = IF
DRVFOR
THEN
BUSIN @ 34 = IF
DRVREV
THEN
BUSIN @ 35 = IF
DRVRGT
THEN
BUSIN @ 36 = IF
DRVLFT
THEN
BUSIN @ 20 = IF
TURNOFF
THEN
BUSIN @ 1B = IF
SCRUB
THEN
THEN-STATE SERIN TO-HAPPEN IN-EE
: START
PWM-INIT
SERIN SET-STATE
INSTALL ROBOT
EVERY 1388 CYCLES SCHEDULE-RUNS ROBOT
; EEWORD