Page 290 - Hacking Roomba
P. 290

Chapter 13 — Giving Roomba a New Brain and Senses                    271




                               Listing 13-1 Continued

                               SENS_CLIFF_L      VAR BYTE
                               SENS_CLIFF_FL     VAR BYTE
                               SENS_CLIFF_FR     VAR BYTE
                               SENS_CLIFF_R      VAR BYTE
                               SENS_VWALL        VAR BYTE
                               SENS_MOTOROVER    VAR BYTE
                               SENS_DIRT_L       VAR BYTE
                               SENS_DIRT_R       VAR BYTE
                               i VAR BYTE       ‘ counter

                               BUMP_RIGHT  VAR SENS_BUMPWHEEL.BIT0
                               BUMP_LEFT   VAR SENS_BUMPWHEEL.BIT1
                               WHEELDROP_C VAR SENS_BUMPWHEEL.BIT4

                               ‘ wake up robot
                               LOW DD
                               PAUSE 100
                               HIGH DD
                               PAUSE 2000
                               ‘ pulse device detect 3 times to shift down to 19.2kbps
                               FOR i = 1 TO 3
                                   LOW DD
                                   LOW LED
                                   PAUSE 250
                                   HIGH DD
                                   HIGH LED
                                   PAUSE 250
                               NEXT

                               ‘ start up ROI, then downshift again to 2400 bps for basic
                               stamp
                               SEROUT RXD, BAUDFAST, [R_START]
                               PAUSE 100
                               SEROUT RXD, BAUDFAST, [R_BAUD, 3] ‘ 3 == 2400 bps
                               PAUSE 100
                               SEROUT RXD, BAUDSLOW, [R_START]
                               PAUSE 100
                               SEROUT RXD, BAUDSLOW, [R_CONTROL]
                               PAUSE 100
                               Main:
                                   DEBUG “at the top”,CR
                                   GOSUB Update_Sensors
                                   IF BUMP_RIGHT THEN
                                        GOSUB Spin_Left
                                                                                              Continued
   285   286   287   288   289   290   291   292   293   294   295