add analog Read/Write and RCDecimal
This commit is contained in:
parent
f3d68c374e
commit
1afb6e6588
2 changed files with 37 additions and 9 deletions
|
@ -82,11 +82,11 @@ Followed by six byte long value
|
||||||
- [x] 81 - Q - set pin mode
|
- [x] 81 - Q - set pin mode
|
||||||
- [x] 82 - R - digital write
|
- [x] 82 - R - digital write
|
||||||
- [x] 83 - S - digital read
|
- [x] 83 - S - digital read
|
||||||
- [ ] 84 - T - analog write
|
- [x] 84 - T - analog write
|
||||||
- [ ] 85 - U - analog read
|
- [x] 85 - U - analog read
|
||||||
- [ ] 86 - V - handle RC Decimal
|
- [x] 86 - V - handle RC Decimal
|
||||||
- [x] 87 - W - handle RC TriState
|
- [x] 87 - W - handle RC TriState
|
||||||
- [ ] 88 - X - handle IR send
|
- [x] 88 - X - handle IR send
|
||||||
- [x] 89 - Y - handle IR read
|
- [x] 89 - Y - handle IR read
|
||||||
|
|
||||||
## Special Command
|
## Special Command
|
||||||
|
|
|
@ -53,11 +53,11 @@ void decodeMessage() {
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
//case 80: break;
|
//case 80: break;
|
||||||
case 81: setMode(val[0], pin); break;
|
case 81: setMode(val[0], pin); break;
|
||||||
case 82: digitalW(val[0], pin); break;
|
case 82: digitalW(val[0], pin); break;
|
||||||
case 83: digitalR(pin); break;
|
case 83: digitalR(pin); break;
|
||||||
//case 84: break;
|
case 84: analogW(pin, val) break;
|
||||||
//case 85: break;
|
case 85: analogR(pin) break;
|
||||||
//case 86: break;
|
//case 86: break;
|
||||||
case 87: sendRCTristate(val, pin); break;
|
case 87: sendRCTristate(val, pin); break;
|
||||||
//case 88: break;
|
//case 88: break;
|
||||||
|
@ -115,6 +115,34 @@ void digitalR(int pin) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void analogW(uint8_t val[], int pin) {
|
||||||
|
|
||||||
|
if(p == -1) { if(debug) Serial.println("badpin"); return; }
|
||||||
|
pinMode(p, OUTPUT);
|
||||||
|
analogWrite(p,(256*val[0])+val[1]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void analogR(int pin) {
|
||||||
|
|
||||||
|
if(p == -1) { Serial.println("badpin"); return; }
|
||||||
|
pinMode(p, INPUT);
|
||||||
|
int rval = analogRead(p);
|
||||||
|
Serial.println(String(pin + "::" + rval));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void handleRCDecimal(uint8_t val[], int pin) {
|
||||||
|
|
||||||
|
if (p == -1) { Serial.println("badpin"); return; }
|
||||||
|
unsigned int length =(val[0]*256)+val[1];
|
||||||
|
unsigned long value =(val[2]*16777216)+(val[3]*65536)+(val[4]*256)+val[5];
|
||||||
|
RCSwitch rc = RCSwitch();
|
||||||
|
rc.enableTransmit(p);
|
||||||
|
rc.send(value, length);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void sendRCTristate (uint8_t val[], int pin) {
|
void sendRCTristate (uint8_t val[], int pin) {
|
||||||
|
|
||||||
if(pin == -1) { Serial.println("badpin"); return; }
|
if(pin == -1) { Serial.println("badpin"); return; }
|
||||||
|
|
Reference in a new issue