aboutsummaryrefslogtreecommitdiff
path: root/libraries/Robot_Control/Sensors.cpp
diff options
context:
space:
mode:
authorCristian Maglie <c.maglie@bug.st>2013-08-08 16:43:19 +0200
committerCristian Maglie <c.maglie@bug.st>2013-08-08 16:43:19 +0200
commita8193ed933d9c9954cefbfb541cde56770ab5b74 (patch)
tree80796833fecca5d7426f1d09f7ac9870bab5f062 /libraries/Robot_Control/Sensors.cpp
parenta4c9fee673342304a5b12f7f2f7f9ecb9cb26d30 (diff)
parent5527c44aa443b20d63cf7a276180a36695233924 (diff)
Merge branch 'ide-1.5.x-library-to-new-format' into ide-1.5.x
Diffstat (limited to 'libraries/Robot_Control/Sensors.cpp')
-rw-r--r--libraries/Robot_Control/Sensors.cpp274
1 files changed, 0 insertions, 274 deletions
diff --git a/libraries/Robot_Control/Sensors.cpp b/libraries/Robot_Control/Sensors.cpp
deleted file mode 100644
index b651c28..0000000
--- a/libraries/Robot_Control/Sensors.cpp
+++ /dev/null
@@ -1,274 +0,0 @@
-#include "ArduinoRobot.h"
-#include "Multiplexer.h"
-#include "Wire.h"
-bool RobotControl::digitalRead(uint8_t port){
- uint8_t type=_getTypeCode(port);
- switch(type){
- case TYPE_TOP_TK:
- return _digitalReadTopMux(port);
- break;
- case TYPE_TOP_TKD:
- return _digitalReadTopPin(port);
- break;
- case TYPE_BOTTOM_TK:
- return _requestDigitalRead(port);
- break;
- }
-}
-int RobotControl::analogRead(uint8_t port){
- uint8_t type=_getTypeCode(port);
- switch(type){
- case TYPE_TOP_TK:
- return _analogReadTopMux(port);
- break;
- case TYPE_TOP_TKD:
- return _analogReadTopPin(port);
- break;
- case TYPE_BOTTOM_TK:
- return _requestAnalogRead(port);
- break;
- }
-}
-void RobotControl::digitalWrite(uint8_t port, bool value){
- uint8_t type=_getTypeCode(port);
- switch(type){
- case TYPE_TOP_TK:
- //Top TKs can't use digitalWrite?
- break;
- case TYPE_TOP_TKD:
- _digitalWriteTopPin(port, value);
- break;
- case TYPE_BOTTOM_TK:
- _requestDigitalWrite(port, value);
- break;
- }
-}
-void RobotControl::analogWrite(uint8_t port, uint8_t value){
- if(port==TKD4)
- ::analogWrite(port,value);
-}
-
-uint8_t RobotControl::_getTypeCode(uint8_t port){
- switch(port){
- case TK0:
- case TK1:
- case TK2:
- case TK3:
- case TK4:
- case TK5:
- case TK6:
- case TK7:
- return TYPE_TOP_TK;
- break;
-
- case TKD0:
- case TKD1:
- case TKD2:
- case TKD3:
- case TKD4:
- case TKD5:
- case LED1:
- return TYPE_TOP_TKD;
- break;
-
- case B_TK1:
- case B_TK2:
- case B_TK3:
- case B_TK4:
- return TYPE_BOTTOM_TK;
- break;
- }
-}
-uint8_t RobotControl::_portToTopMux(uint8_t port){
- switch(port){
- case TK0:
- return 0;
- case TK1:
- return 1;
- case TK2:
- return 2;
- case TK3:
- return 3;
- case TK4:
- return 4;
- case TK5:
- return 5;
- case TK6:
- return 6;
- case TK7:
- return 7;
- }
-}
-uint8_t RobotControl::_topDPortToAPort(uint8_t port){
- switch(port){
- case TKD0:
- return A1;
- case TKD1:
- return A2;
- case TKD2:
- return A3;
- case TKD3:
- return A4;
- case TKD4:
- return A7;
- case TKD5:
- return A11;
- }
-}
-int* RobotControl::parseMBDPort(uint8_t port){
- //Serial.println(port);
- switch(port){
- case B_TK1:
- return &motorBoardData._B_TK1;
- case B_TK2:
- return &motorBoardData._B_TK2;
- case B_TK3:
- return &motorBoardData._B_TK3;
- case B_TK4:
- return &motorBoardData._B_TK4;
-
- /*
- case B_IR0:
- return &motorBoardData._B_IR0;
- case B_IR1:
- return &motorBoardData._B_IR1;
- case B_IR2:
- return &motorBoardData._B_IR2;
- case B_IR3:
- return &motorBoardData._B_IR3;
- case B_IR4:
- return &motorBoardData._B_IR4;*/
- }
-}
-int RobotControl::get_motorBoardData(uint8_t port){
- return *parseMBDPort(port);
-}
-void RobotControl::set_motorBoardData(uint8_t port, int data){
- *parseMBDPort(port)=data;
-}
-
-bool RobotControl::_digitalReadTopMux(uint8_t port){
- uint8_t num=_portToTopMux(port);
- return Multiplexer::getDigitalValueAt(num);
-}
-
-int RobotControl::_analogReadTopMux(uint8_t port){
- uint8_t num=_portToTopMux(port);
- return Multiplexer::getAnalogValueAt(num);
-}
-
-bool RobotControl::_digitalReadTopPin(uint8_t port){
- return ::digitalRead(port);
-}
-int RobotControl::_analogReadTopPin(uint8_t port){
- uint8_t aPin=_topDPortToAPort(port);
- return ::analogRead(aPin);
-}
-void RobotControl::_digitalWriteTopPin(uint8_t port, bool value){
- ::digitalWrite(port, value);
-}
-
-bool RobotControl::_requestDigitalRead(uint8_t port){
- messageOut.writeByte(COMMAND_DIGITAL_READ);
- messageOut.writeByte(port);//B_TK1 - B_TK4
- messageOut.sendData();
- delay(10);
- if(messageIn.receiveData()){
- //Serial.println("*************");
- uint8_t cmd=messageIn.readByte();
- //Serial.print("cmd: ");
- //Serial.println(cmd);
- if(!(cmd==COMMAND_DIGITAL_READ_RE))
- return false;
-
- uint8_t pt=messageIn.readByte(); //Bottom TK port codename
- //Serial.print("pt: ");
- //Serial.println(pt);
- set_motorBoardData(pt,messageIn.readByte());
- return get_motorBoardData(port);
- }
-}
-int RobotControl::_requestAnalogRead(uint8_t port){
- messageOut.writeByte(COMMAND_ANALOG_READ);
- messageOut.writeByte(port);//B_TK1 - B_TK4
- messageOut.sendData();
- delay(10);
- if(messageIn.receiveData()){
- uint8_t cmd=messageIn.readByte();
- //Serial.println("*************");
- //Serial.print("cmd: ");
- //Serial.println(cmd);
- if(!(cmd==COMMAND_ANALOG_READ_RE))
- return false;
-
- uint8_t pt=messageIn.readByte();
- //Serial.print("pt: ");
- //Serial.println(pt);
- set_motorBoardData(pt,messageIn.readInt());
- return get_motorBoardData(port);
- }
-}
-void RobotControl::_requestDigitalWrite(uint8_t selector, uint8_t value){
- messageOut.writeByte(COMMAND_DIGITAL_WRITE);
- messageOut.writeByte(selector);//B_TK1 - B_TK4
- messageOut.writeByte(value);
- messageOut.sendData();
-}
-
-
-
-
-
-void RobotControl::updateIR(){
- messageOut.writeByte(COMMAND_READ_IR);
- messageOut.sendData();
- delay(10);
- if(messageIn.receiveData()){
- if(messageIn.readByte()==COMMAND_READ_IR_RE){
- for(int i=0;i<5;i++){
- IRarray[i]=messageIn.readInt();
- }
- }
- }
-}
-
-int RobotControl::knobRead(){
- return ::analogRead(POT);
-}
-
-int RobotControl::trimRead(){
- messageOut.writeByte(COMMAND_READ_TRIM);
- messageOut.sendData();
- delay(10);
- if(messageIn.receiveData()){
- uint8_t cmd=messageIn.readByte();
- if(!(cmd==COMMAND_READ_TRIM_RE))
- return false;
-
- uint16_t pt=messageIn.readInt();
- return pt;
- }
-}
-
-uint16_t RobotControl::compassRead(){
- return Compass::getReading();
-}
-
-/*
-void RobotControl::beginUR(uint8_t pinTrigger, uint8_t pinEcho){
- pinTrigger_UR=pinTrigger;
- pinEcho_UR=pinEcho;
-
- pinMode(pinEcho_UR, INPUT);
- pinMode(pinTrigger_UR, OUTPUT);
-}
-uint16_t RobotControl::getDistance(){
- digitalWrite(pinTrigger_UR, LOW); // Set the trigger pin to low for 2uS
- delayMicroseconds(2);
- digitalWrite(pinTrigger_UR, HIGH); // Send a 10uS high to trigger ranging
- delayMicroseconds(10);
- digitalWrite(pinTrigger_UR, LOW); // Send pin low again
- uint16_t distance = pulseIn(pinEcho_UR, HIGH); // Read in times pulse
- distance= distance/58; // Calculate distance from time of pulse
- return distance;
-}*/ \ No newline at end of file