// IRReceiver.cpp // Created By: CH,Chen(Taiwan) // Created Date: 2011/12/08 // This is a class for controlling the IRReceiver sensor, made by Hitechnic. #include "IRReceiver.h" IRReceiver::IRReceiver(uint8_t i2c_address) : NXShieldI2C(i2c_address) { } char IRReceiver::getPortPowerLevel(uint8_t channel, char port) { if (channel >= 1 && channel <= 4) { if (port == 'A') return readByte(IRRECV_CH_1A + (channel-1)*2); else if (port == 'B') return readByte(IRRECV_CH_1B + (channel-1)*2); else return 0; } else return 0; } void IRReceiver::getChannelPowerLevel(uint8_t channel, char &portA_PowerLevel, char &portB_PowerLevel) { portA_PowerLevel = 0; portB_PowerLevel = 0; if (channel >= 1 && channel <= 4) { portA_PowerLevel = readByte(IRRECV_CH_1A + (channel-1)*2); portB_PowerLevel = readByte(IRRECV_CH_1B + (channel-1)*2); } } void IRReceiver::getAllPortsPowerLevel(char *port_PowerLevel) { for (int idx=0; idx<8; idx++) { port_PowerLevel[idx] = readByte(IRRECV_CH_1A + idx); } }