|
@@ -6,7 +6,6 @@
|
|
|
* for detailed information about the SX1262.
|
|
|
*/
|
|
|
|
|
|
-/// Include class header
|
|
|
#include "sx1262.h"
|
|
|
#include "logger.h"
|
|
|
#include "board.h"
|
|
@@ -208,7 +207,6 @@ uint8_t Sx1262::getStatusCommand(uint8_t opcode) const
|
|
|
break;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
case (SX126X_GET_RX_BUFFER_STATUS): {
|
|
|
uint8_t rxBufferStatus = SPI.transfer(0x00);
|
|
|
uint8_t rxBufferPayloadLenghtRx = SPI.transfer(0x00);
|
|
@@ -241,13 +239,9 @@ uint8_t Sx1262::getStatusCommand(uint8_t opcode) const
|
|
|
digitalWrite(_cs, HIGH);
|
|
|
break;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- // hé oui, on lache le trig ;)
|
|
|
-
|
|
|
- // Le 1er byte de réponse c'est le statusCode
|
|
|
+ // Le 1er byte de réponse c'est le statusCode
|
|
|
// on va parser tout ça
|
|
|
uint8_t cmdStatus = 0;
|
|
|
uint8_t cmdChipMode = 0;
|
|
@@ -272,8 +266,6 @@ uint8_t Sx1262::getStatusCommand(uint8_t opcode) const
|
|
|
else if (cmdChipMode == 0x06) logger.log(logging::LoggerLevel::LOGGER_LEVEL_DEBUG, "SX1262", "cmdChipMode : TX");
|
|
|
else return -1;
|
|
|
|
|
|
-
|
|
|
-
|
|
|
return 0;
|
|
|
};
|
|
|
|
|
@@ -357,7 +349,6 @@ void Sx1262::SetRfFrequency(uint32_t freq) const
|
|
|
USBSerial.print(buffer[2], HEX);
|
|
|
USBSerial.print(" 0x");
|
|
|
USBSerial.print(buffer[3], HEX);
|
|
|
-
|
|
|
setOpMode(SX126X_SET_RF_FREQUENCY, buffer, 4);
|
|
|
}
|
|
|
|
|
@@ -444,7 +435,44 @@ void Sx1262::SetModulationParams(uint32_t bitrate, uint8_t pulseShape, uint8_t b
|
|
|
buffer[5] = (fdev >> 16) & 0xFF;
|
|
|
buffer[6] = (fdev >> 8) & 0xFF;
|
|
|
buffer[7] = fdev & 0xFF;
|
|
|
-
|
|
|
setOpMode(SX126X_SET_MODULATION_PARAMS, buffer, 8);
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+ * @brief SetPacketParams
|
|
|
+*/
|
|
|
+void Sx1262::SetPacketParams(uint16_t preambleLength, uint8_t PreambleDetectorLength, uint8_t SyncWordLength, uint8_t AddrComp, uint8_t PacketType, uint8_t PayloadLength, uint8_t CRCType) const
|
|
|
+{
|
|
|
+ uint8_t *buffer = new uint8_t[8];
|
|
|
+ buffer[0] = (preambleLength >> 8) & 0xFF;
|
|
|
+ buffer[1] = preambleLength & 0xFF;
|
|
|
+ buffer[2] = PreambleDetectorLength;
|
|
|
+ buffer[3] = SyncWordLength;
|
|
|
+ buffer[4] = AddrComp;
|
|
|
+ buffer[5] = PacketType;
|
|
|
+ buffer[6] = PayloadLength;
|
|
|
+ buffer[7] = CRCType;
|
|
|
+ setOpMode(SX126X_SET_PKT_PARAMS, buffer, 8);
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+ * @brief SetDIO3AsTCXOCtrl
|
|
|
+ */
|
|
|
+void Sx1262::SetDIO3AsTCXOCtrl(uint8_t tcxoVoltage, uint32_t timeout) const
|
|
|
+{
|
|
|
+ uint8_t *buffer = new uint8_t[4];
|
|
|
+ buffer[0] = tcxoVoltage;
|
|
|
+ buffer[1] = (timeout >> 16) & 0xFF;
|
|
|
+ buffer[2] = (timeout >> 8) & 0xFF;
|
|
|
+ buffer[3] = timeout & 0xFF;
|
|
|
+ setOpMode(SX126X_SET_DIO3_AS_TCXO_CTRL, buffer, 4);
|
|
|
+}
|
|
|
|
|
|
+/*
|
|
|
+ * @brief SetTx
|
|
|
+ */
|
|
|
+void Sx1262::SetTx() const
|
|
|
+{
|
|
|
+ uint8_t *buffer = new uint8_t[0];
|
|
|
+ setOpMode(SX126X_SET_TX, buffer, 0);
|
|
|
}
|