Added to keywords.txt, comments, reading fixed len properly

This commit is contained in:
Federico Maggi 2019-11-08 15:58:13 +01:00
parent 87bf46ed34
commit a2e64f1645
2 changed files with 12 additions and 3 deletions

View file

@ -88,6 +88,8 @@ setDataShaping KEYWORD2
setOOK KEYWORD2 setOOK KEYWORD2
setDataShapingOOK KEYWORD2 setDataShapingOOK KEYWORD2
setCRC KEYWORD2 setCRC KEYWORD2
variablePacketLengthMode KEYWORD2
fixedPacketLengthMode KEYWORD2
# RF69-specific # RF69-specific
setAESKey KEYWORD2 setAESKey KEYWORD2

View file

@ -493,7 +493,7 @@ size_t CC1101::getPacketLength(bool update) {
if (_packetLengthConfig == CC1101_LENGTH_CONFIG_VARIABLE) { if (_packetLengthConfig == CC1101_LENGTH_CONFIG_VARIABLE) {
_packetLength = _mod->SPIreadRegister(CC1101_REG_FIFO); _packetLength = _mod->SPIreadRegister(CC1101_REG_FIFO);
} else { } else {
_packetLength = _mod->SPIreadRegister(CC1101_REG_FIFO); _packetLength = _mod->SPIreadRegister(CC1101_REG_PKTLEN);
} }
_packetLengthQueried = true; _packetLengthQueried = true;
@ -513,7 +513,7 @@ int16_t CC1101::fixedPacketLengthMode(uint8_t len) {
return(state); return(state);
} }
// set max length to register // set length to register
state = SPIsetRegValue(CC1101_REG_PKTLEN, len); state = SPIsetRegValue(CC1101_REG_PKTLEN, len);
if (state != ERR_NONE) { if (state != ERR_NONE) {
return(state); return(state);
@ -530,13 +530,20 @@ int16_t CC1101::variablePacketLengthMode(uint8_t maxLen) {
return(ERR_PACKET_TOO_LONG); return(ERR_PACKET_TOO_LONG);
} }
// set to fixed packet length
int16_t state = SPIsetRegValue(CC1101_REG_PKTCTRL0, CC1101_LENGTH_CONFIG_VARIABLE, 1, 0); int16_t state = SPIsetRegValue(CC1101_REG_PKTCTRL0, CC1101_LENGTH_CONFIG_VARIABLE, 1, 0);
if (state != ERR_NONE) { if (state != ERR_NONE) {
return(state); return(state);
} }
_packetLengthConfig = CC1101_LENGTH_CONFIG_VARIABLE;
// set max length to register
state = SPIsetRegValue(CC1101_REG_PKTLEN, maxLen); state = SPIsetRegValue(CC1101_REG_PKTLEN, maxLen);
if (state != ERR_NONE) {
return(state);
}
// all went well: cache the reg value
_packetLengthConfig = CC1101_LENGTH_CONFIG_VARIABLE;
return(state); return(state);
} }