void NewRemoteTransmitter::sendGroupDim(byte dimLevel) { for (int8_t i = _repeats; i >= 0; i--) { _sendStartPulse(); _sendAddress(); // No group bit _sendBit(true); // Switch type 'dim' digitalWrite(_pin, HIGH); delayMicroseconds(_periodusec); digitalWrite(_pin, LOW); delayMicroseconds(_periodusec); digitalWrite(_pin, HIGH); delayMicroseconds(_periodusec); digitalWrite(_pin, LOW); delayMicroseconds(_periodusec); _sendUnit(0); for (int8_t j=3; j>=0; j--) { _sendBit(dimLevel & 1<<j); } _sendStopPulse(); } }
void NewRemoteTransmitter::sendDim(unsigned short unit, unsigned short dimLevel) { for (int i = _repeats; i >= 0; i--) { _sendStartPulse(); _sendAddress(); // No group bit _sendBit(false); // Switch type 'dim' digitalWrite(_pin, HIGH); delayMicroseconds(_periodusec); digitalWrite(_pin, LOW); delayMicroseconds(_periodusec); digitalWrite(_pin, HIGH); delayMicroseconds(_periodusec); digitalWrite(_pin, LOW); delayMicroseconds(_periodusec); _sendUnit(unit); for (short j=3; j>=0; j--) { _sendBit(dimLevel & 1<<j); } _sendStopPulse(); } }
void NewRemoteTransmitter::sendUnit(byte unit, boolean switchOn) { for (int8_t i = _repeats; i >= 0; i--) { _sendStartPulse(); _sendAddress(); // No group bit _sendBit(false); // Switch on | off _sendBit(switchOn); _sendUnit(unit); _sendStopPulse(); } }
void NewRemoteTransmitter::sendGroup(boolean switchOn) { for (int8_t i = _repeats; i >= 0; i--) { _sendStartPulse(); _sendAddress(); // Do send group bit _sendBit(true); // Switch on | off _sendBit(switchOn); // No unit. Is this actually ignored?.. _sendUnit(0); _sendStopPulse(); } }