ich habe mir jetzt jede Menge Beispiele angeschaut aber sehe den Walf vor lauter Bäumen nicht mehr. Ich möchte mir ein Codeschloss auf HM Basis bauen. Die Steuerkanäle sollen RC Kanäle sein, getriggert werden sie aber nicht von einem Taster sondern von einem Code.
Soweit zur Grundlegenden Funktion - Das Device mit den RC Kanälen läuft auch so weit und lässt sich pairen wie peeren.
Aufbau:
Code: Alles auswählen
HM-RC-4 HB69303328:0 MAINTENANCE (List0, List1)
HM-RC-4 HB69303328:1 KEY SENDER (List1, List4)
HM-RC-4 HB69303328:2 KEY SENDER (List1, List4)
HM-RC-4 HB69303328:3 KEY SENDER (List1, List4)
HM-RC-4 HB69303328:4 KEY SENDER (List1, List4)
Code: Alles auswählen
HM-RC-4 HB69303328:5 CODELIST (List1)
Code: Alles auswählen
DEFREGISTER(CDLReg1, 0x36,0x37,0x38,0x39,0x3a, 0x3b,0x3c,0x3d,0x3e,0x3f, 0x40,0x41,0x42,0x43,0x44, 0x45,0x46,0x47,0x48,0x49, 0x4a,0x4b,0x4c,0x4d,0x4e, 0x4f,0x50,0x51,0x52,0x53,0x54, 0x55,0x56,0x57,0x58,0x59, 0x5a,0x5b,0x5c,0x5d,0x5e, 0x5f,0x60,0x61,0x62,0x63, 0x64,0x65,0x66,0x67,0x68,0x69, 0x6a,0x6b,0x6c,0x6d,0x6e,0x6f, 0x70,0x71,0x72,0x73,0x74, )
class CDLList1 : public RegList1<CDLReg1> {
public:
CDLList1(uint16_t addr) : RegList1<CDLReg1>(addr) {}
bool get_passwd_store(uint8_t slot, uint8_t *value) const {
for (int i = 0; i < 5; i++) {
this->writeRegister(0x36 + (slot * 5) + i, value[i] & 0xff);
}
return true;
}
bool set_passwd_store(uint8_t slot, uint8_t *value) const {
for (int i = 0; i < 5; i++) {
value[i] = this->readRegister(0x36 + (slot * 5) + i);
}
return true;
}
void defaults() {
clear();
}
}
Code: Alles auswählen
typedef RemoteChannel<Hal,PEERS_PER_CHANNEL,List0> ChannelType;
typedef MultiChannelDevice<Hal,ChannelType,4> RemoteType;
Viele Grüße
Horst