Beispiel #1
0
 public byte[] getGroup(sensorList list)
 {
     byte[] returnPacket = new byte[this.packetSize];
     for (int i = 0; i < (min - max); i++)
     {
         sensor cSensor = list.getSensor(i);
         cSensor.getValue().CopyTo(returnPacket, returnPacket.Length);
     }
     return(returnPacket);
 }
Beispiel #2
0
        public clsRoomba(logDelegate logFunc, sendDelegate sendFunc)
        {
            log       += new logDelegate(logFunc);
            this.send += new sendDelegate(sendFunc);

            log("Initializing", TAG);
            this.drivingState = new stDrivingState();
            this.sensors      = new sensorList();
            this.motorState   = new stMotors();
            this.ledState     = new stLeds();
            this.stream       = new stStream();
            //Init list of sensors:
            log("Adding sensors", TAG);
            sensors.Add(new sensor("Bump and wheel drops", 7, 1));
            sensors.Add(new sensor("Wall", 8, 1));
            sensors.Add(new sensor("Cliff Left", 9, 1));
            sensors.Add(new sensor("Cliff Front Left", 10, 1));
            sensors.Add(new sensor("Cliff Front Right", 11, 1));
            sensors.Add(new sensor("Cliff Right", 12, 1));
            sensors.Add(new sensor("Virtual wall", 13, 1));
            sensors.Add(new sensor("Wheel overcurrents", 14, 1));
            sensors.Add(new sensor("Dirt Detect", 15, 1));
            sensors.Add(new sensor("Unused Byte", 16, 2));
            sensors.Add(new sensor("Infrared Character Omni", 17, 1));
            sensors.Add(new sensor("Infrared Character Left", 52, 1));
            sensors.Add(new sensor("Infrared Character Right", 53, 1));
            sensors.Add(new sensor("Buttons", 18, 1));
            sensors.Add(new distanceSensor("Distance", 19, 2));
            sensors.Add(new angleSensor("Angle", 20, 2));
            sensors.Add(new sensor("Charging State", 21, 1));
            sensors.Add(new sensor("Voltage", 22, 2));
            sensors.Add(new sensor("Current", 23, 2));
            sensors.Add(new sensor("Temperature", 24, 1));
            sensors.Add(new sensor("Battery Charge", 25, 2));
            sensors.Add(new sensor("Battery Capacity", 26, 2));
            sensors.Add(new sensor("Wall signal", 27, 2));
            sensors.Add(new sensor("Cliff Left Signal", 28, 2));
            sensors.Add(new sensor("Cliff Front Left Signal", 29, 2));
            sensors.Add(new sensor("Cliff Front Right Signal", 30, 2));
            sensors.Add(new sensor("Cliff Right Signal", 31, 2));
            sensors.Add(new sensor("Unused", 32, 3));
            sensors.Add(new sensor("Unused", 33, 3));
            sensors.Add(new sensor("Charging Sources Available", 43, 1));
            sensors.Add(new sensor("OI Mode", 35, 1));
            sensors.Add(new sensor("Song Number", 36, 1));
            sensors.Add(new sensor("Song Playing", 37, 1));
            sensors.Add(new sensor("Number of Stream Packets", 38, 1));
            sensors.Add(new sensor("Requested Velocity", 39, 2));
            sensors.Add(new sensor("Requested Radius", 40, 2));
            sensors.Add(new sensor("Requested Right Velocity", 41, 2));
            sensors.Add(new sensor("Requested Left Velocity", 42, 2));
            sensors.Add(new sensor("Right Encoder Counts", 43, 2));
            sensors.Add(new sensor("Left Encode Counts", 44, 2));
            sensors.Add(new sensor("Light Bumper", 45, 1));
            sensors.Add(new sensor("Light Bump Left Signal", 46, 2));
            sensors.Add(new sensor("Light Bump Front Left Signal", 47, 2));
            sensors.Add(new sensor("Light Bump Center Left Signal", 48, 2));
            sensors.Add(new sensor("Light Bump Center Right Signal", 49, 2));
            sensors.Add(new sensor("Light Bump Front Right Signal", 50, 2));
            sensors.Add(new sensor("Light Bump Right Signal", 51, 2));
            sensors.Add(new sensor("Left Motor Current", 54, 2));
            sensors.Add(new sensor("Right Motor Current", 55, 2));
            sensors.Add(new sensor("Main Brush Motor Current", 56, 2));
            sensors.Add(new sensor("Side Brush Motor Current", 57, 2));
            sensors.Add(new sensor("Stasis", 58, 1));

            log("Done adding sensors", TAG);
            log("Adding sensor groups", TAG);

            sensors.AddGroup(new sensorGroup(0, 26, 6, 26));
            sensors.AddGroup(new sensorGroup(1, 10, 7, 16));
            sensors.AddGroup(new sensorGroup(2, 6, 17, 20));
            sensors.AddGroup(new sensorGroup(3, 10, 21, 26));
            sensors.AddGroup(new sensorGroup(4, 14, 27, 34));
            sensors.AddGroup(new sensorGroup(5, 12, 35, 42));
            sensors.AddGroup(new sensorGroup(6, 52, 7, 41));
            sensors.AddGroup(new sensorGroup(100, 80, 7, 58));
            sensors.AddGroup(new sensorGroup(101, 28, 43, 58));
            sensors.AddGroup(new sensorGroup(106, 12, 46, 51));
            sensors.AddGroup(new sensorGroup(107, 9, 54, 58));

            log("Done adding sensor groups", TAG);

            log("Initialized", TAG);
        }
Beispiel #3
0
 public byte[] getGroup(sensorList list)
 {
     byte[] returnPacket = new byte[this.packetSize];
     for (int i = 0; i < (min - max); i++) {
         sensor cSensor = list.getSensor(i);
         cSensor.getValue().CopyTo(returnPacket, returnPacket.Length);
     }
     return returnPacket;
 }
Beispiel #4
0
        public clsRoomba(logDelegate logFunc, sendDelegate sendFunc)
        {
            log += new logDelegate(logFunc);
            this.send += new sendDelegate(sendFunc);

            log("Initializing", TAG);
            this.drivingState = new stDrivingState();
            this.sensors = new sensorList();
            this.motorState = new stMotors();
            this.ledState = new stLeds();
            this.stream = new stStream();
            //Init list of sensors:
            log("Adding sensors", TAG);
            sensors.Add(new sensor("Bump and wheel drops", 7, 1));
            sensors.Add(new sensor("Wall", 8, 1));
            sensors.Add(new sensor("Cliff Left", 9, 1));
            sensors.Add(new sensor("Cliff Front Left", 10, 1));
            sensors.Add(new sensor("Cliff Front Right", 11, 1));
            sensors.Add(new sensor("Cliff Right", 12, 1));
            sensors.Add(new sensor("Virtual wall", 13, 1));
            sensors.Add(new sensor("Wheel overcurrents", 14, 1));
            sensors.Add(new sensor("Dirt Detect", 15, 1));
            sensors.Add(new sensor("Unused Byte", 16, 2));
            sensors.Add(new sensor("Infrared Character Omni", 17, 1));
            sensors.Add(new sensor("Infrared Character Left", 52, 1));
            sensors.Add(new sensor("Infrared Character Right", 53, 1));
            sensors.Add(new sensor("Buttons", 18, 1));
            sensors.Add(new distanceSensor("Distance", 19, 2));
            sensors.Add(new angleSensor("Angle", 20, 2));
            sensors.Add(new sensor("Charging State", 21, 1));
            sensors.Add(new sensor("Voltage", 22, 2));
            sensors.Add(new sensor("Current", 23, 2));
            sensors.Add(new sensor("Temperature", 24, 1));
            sensors.Add(new sensor("Battery Charge", 25, 2));
            sensors.Add(new sensor("Battery Capacity", 26, 2));
            sensors.Add(new sensor("Wall signal", 27, 2));
            sensors.Add(new sensor("Cliff Left Signal", 28, 2));
            sensors.Add(new sensor("Cliff Front Left Signal", 29, 2));
            sensors.Add(new sensor("Cliff Front Right Signal", 30, 2));
            sensors.Add(new sensor("Cliff Right Signal", 31, 2));
            sensors.Add(new sensor("Unused", 32, 3));
            sensors.Add(new sensor("Unused", 33, 3));
            sensors.Add(new sensor("Charging Sources Available", 43, 1));
            sensors.Add(new sensor("OI Mode", 35, 1));
            sensors.Add(new sensor("Song Number", 36, 1));
            sensors.Add(new sensor("Song Playing", 37, 1));
            sensors.Add(new sensor("Number of Stream Packets", 38, 1));
            sensors.Add(new sensor("Requested Velocity", 39, 2));
            sensors.Add(new sensor("Requested Radius", 40, 2));
            sensors.Add(new sensor("Requested Right Velocity", 41, 2));
            sensors.Add(new sensor("Requested Left Velocity", 42, 2));
            sensors.Add(new sensor("Right Encoder Counts", 43, 2));
            sensors.Add(new sensor("Left Encode Counts", 44, 2));
            sensors.Add(new sensor("Light Bumper", 45, 1));
            sensors.Add(new sensor("Light Bump Left Signal", 46, 2));
            sensors.Add(new sensor("Light Bump Front Left Signal", 47, 2));
            sensors.Add(new sensor("Light Bump Center Left Signal", 48, 2));
            sensors.Add(new sensor("Light Bump Center Right Signal", 49, 2));
            sensors.Add(new sensor("Light Bump Front Right Signal", 50, 2));
            sensors.Add(new sensor("Light Bump Right Signal", 51, 2));
            sensors.Add(new sensor("Left Motor Current", 54, 2));
            sensors.Add(new sensor("Right Motor Current", 55, 2));
            sensors.Add(new sensor("Main Brush Motor Current", 56, 2));
            sensors.Add(new sensor("Side Brush Motor Current", 57, 2));
            sensors.Add(new sensor("Stasis", 58, 1));

            log("Done adding sensors", TAG);
            log("Adding sensor groups", TAG);

            sensors.AddGroup(new sensorGroup(0, 26, 6, 26));
            sensors.AddGroup(new sensorGroup(1, 10, 7, 16));
            sensors.AddGroup(new sensorGroup(2, 6, 17, 20));
            sensors.AddGroup(new sensorGroup(3, 10, 21, 26));
            sensors.AddGroup(new sensorGroup(4, 14, 27, 34));
            sensors.AddGroup(new sensorGroup(5, 12, 35, 42));
            sensors.AddGroup(new sensorGroup(6, 52, 7, 41));
            sensors.AddGroup(new sensorGroup(100, 80, 7, 58));
            sensors.AddGroup(new sensorGroup(101, 28, 43, 58));
            sensors.AddGroup(new sensorGroup(106, 12, 46, 51));
            sensors.AddGroup(new sensorGroup(107, 9, 54, 58));

            log("Done adding sensor groups", TAG);

            log("Initialized", TAG);
        }