Support multi backend items
This commit is contained in:
@ -14,7 +14,7 @@ void WirelessRelay::sendId()
|
||||
|
||||
for(short i = 0; i<10; i++)
|
||||
{
|
||||
sendBit( _id & 1 << (15 - i) );
|
||||
sendBit( id & 1 << (15 - i) );
|
||||
}
|
||||
}
|
||||
|
||||
@ -54,64 +54,32 @@ void WirelessRelay::sync()
|
||||
_delay_us(SMALL_TIME*31);
|
||||
}
|
||||
|
||||
void WirelessRelay::on()
|
||||
void WirelessRelay::setValue(const uint8_t value)
|
||||
{
|
||||
_state = true;
|
||||
lastValue = value;
|
||||
for(short z = 0; z<10; z++)
|
||||
{
|
||||
sendId();
|
||||
sendBit(true);
|
||||
sendBit(false);
|
||||
sendBit(value);
|
||||
sendBit(!value);
|
||||
sync();
|
||||
}
|
||||
}
|
||||
|
||||
void WirelessRelay::off()
|
||||
{
|
||||
_state = false;
|
||||
for(short z = 0; z<10; z++)
|
||||
{
|
||||
sendId();
|
||||
sendBit(false);
|
||||
sendBit(true);
|
||||
sync();
|
||||
}
|
||||
}
|
||||
|
||||
uint16_t WirelessRelay::getId()
|
||||
{
|
||||
return _id;
|
||||
}
|
||||
|
||||
bool WirelessRelay::getExpectedState()
|
||||
{
|
||||
return _state;
|
||||
}
|
||||
|
||||
char* WirelessRelay::getName()
|
||||
{
|
||||
return _name;
|
||||
}
|
||||
|
||||
void WirelessRelay::setName(char name[])
|
||||
{
|
||||
memcpy(_name, name, strlen(name)+1);
|
||||
}
|
||||
|
||||
void WirelessRelay::init( const uint16_t id, char nameIn[])
|
||||
{
|
||||
setName(nameIn);
|
||||
_id=id;
|
||||
}
|
||||
|
||||
void WirelessRelay::resend()
|
||||
{
|
||||
_state ? on() : off();
|
||||
setValue(lastValue);
|
||||
}
|
||||
|
||||
WirelessRelay::WirelessRelay(const uint16_t id, char nameIn[])
|
||||
WirelessRelay::WirelessRelay(const uint16_t idIn, char nameIn[])
|
||||
{
|
||||
init(id, nameIn);
|
||||
id = idIn;
|
||||
setName(nameIn);
|
||||
type = 0;
|
||||
}
|
||||
|
||||
WirelessRelay::WirelessRelay(){}
|
||||
WirelessRelay::WirelessRelay(const Item& item)
|
||||
{
|
||||
Item::operator=(item);
|
||||
type = 0;
|
||||
}
|
||||
|
Reference in New Issue
Block a user