kopia lustrzana https://github.com/piotr022/rf96
new modifications
rodzic
5bd2310df5
commit
4da1addbbe
|
@ -27,6 +27,9 @@ void clockInit();
|
||||||
**
|
**
|
||||||
**===========================================================================
|
**===========================================================================
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
uint8_t rssi_u8 = 0;
|
||||||
|
rf96_config conf;
|
||||||
int main(void)
|
int main(void)
|
||||||
{
|
{
|
||||||
clockInit();
|
clockInit();
|
||||||
|
@ -40,13 +43,12 @@ SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PB; //przypisanie szyny B do EXTI0
|
||||||
EXTI->IMR |= EXTI_IMR_MR0;
|
EXTI->IMR |= EXTI_IMR_MR0;
|
||||||
EXTI->FTSR |= EXTI_FTSR_TR0;
|
EXTI->FTSR |= EXTI_FTSR_TR0;
|
||||||
/////////////////////////////////////for intterupt enf
|
/////////////////////////////////////for intterupt enf
|
||||||
|
conf.freqency_u32 = 433000000UL;
|
||||||
|
rf_set_params(&conf);
|
||||||
|
//spiWrite(0x06,0x64);
|
||||||
|
//spiWrite(0x07,0xC0);
|
||||||
|
//spiWrite(0x08,0x11);
|
||||||
uint32_t freq_u32 =0;
|
uint32_t freq_u32 =0;
|
||||||
uint8_t rssi_u8 = 0;
|
|
||||||
spiWrite(0x06,0x64);
|
|
||||||
spiWrite(0x07,0xC0);
|
|
||||||
spiWrite(0x08,0x11);
|
|
||||||
|
|
||||||
freq_u32 = (spiRead(0x08) |
|
freq_u32 = (spiRead(0x08) |
|
||||||
(spiRead(0x07) << 8) |
|
(spiRead(0x07) << 8) |
|
||||||
(spiRead(0x06) << 16) ) * (float)61.035;
|
(spiRead(0x06) << 16) ) * (float)61.035;
|
||||||
|
@ -62,15 +64,22 @@ spiWrite(RegPreambleLsb, 40);
|
||||||
spiWrite(RegPaRamp, (0x9 | (0b01 << 5)));
|
spiWrite(RegPaRamp, (0x9 | (0b01 << 5)));
|
||||||
spiWrite(RegDioMapping1, (0b01 << 6)); //enabling preamble detect pn DIO0
|
spiWrite(RegDioMapping1, (0b01 << 6)); //enabling preamble detect pn DIO0
|
||||||
spiWrite(RegDioMapping2, 0b1); //setting to preamble detect
|
spiWrite(RegDioMapping2, 0b1); //setting to preamble detect
|
||||||
//spiWrite(RegFifoThresh, 0x80);
|
|
||||||
//spiWrite(RegSyncConfig, (spiRead(RegSyncConfig) & 0b00111111));
|
spiWrite(RegRxConfig, 0b00011110); //setting rxtrigger to preable detect
|
||||||
//while(!(spiRead(RegOpMode) & FSK_SBY_MODE)){};
|
//and enabling agc
|
||||||
|
spiWrite(RegPacketConfig1,0b10000000);
|
||||||
|
spiWrite(RegSyncConfig,0b00001000);
|
||||||
spiWrite(RegOpMode, FSK_SBY_MODE);
|
spiWrite(RegOpMode, FSK_SBY_MODE);
|
||||||
|
|
||||||
//spiWrite(LR_RegFifoAddrPtr, spiRead(LR_RegFifoTxBaseAddr) ); //0x80
|
|
||||||
|
spiWrite(RegSeqConfig1,0b10000110);
|
||||||
|
spiWrite(RegSeqConfig2,0b01010010);
|
||||||
|
|
||||||
|
|
||||||
spiWrite(RegOpMode,FSK_RX_MODE);
|
int iii;//spiWrite(LR_RegFifoAddrPtr, spiRead(LR_RegFifoTxBaseAddr) ); //0x80
|
||||||
|
|
||||||
|
|
||||||
|
//spiWrite(RegOpMode,FSK_RX_MODE);
|
||||||
//SysTick_Config(8000000);
|
//SysTick_Config(8000000);
|
||||||
NVIC_EnableIRQ(EXTI0_IRQn);
|
NVIC_EnableIRQ(EXTI0_IRQn);
|
||||||
while (1)
|
while (1)
|
||||||
|
@ -183,6 +192,9 @@ __attribute__ ((interrupt)) void EXTI0_IRQHandler(void)
|
||||||
{
|
{
|
||||||
if(EXTI->PR & EXTI_PR_PR0){
|
if(EXTI->PR & EXTI_PR_PR0){
|
||||||
EXTI->PR = EXTI_PR_PR0;
|
EXTI->PR = EXTI_PR_PR0;
|
||||||
|
uint8_t test[16];
|
||||||
|
for(int j=0; j <16; j++)
|
||||||
|
test[j]=spiRead(RegFIFO);
|
||||||
printMsg("RSSI: %i, IRQ1 %x, IRQ2 %x\n",(-1*spiRead(0x11)/2),spiRead(RegIrqFlags1),spiRead(RegIrqFlags2));
|
printMsg("RSSI: %i, IRQ1 %x, IRQ2 %x\n",(-1*spiRead(0x11)/2),spiRead(RegIrqFlags1),spiRead(RegIrqFlags2));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,13 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void rf_set_params(rf96_config * _conf)
|
||||||
|
{
|
||||||
|
uint32_t val = (_conf->freqency_u32) / F_STEP;
|
||||||
|
spiWrite(RegFreqLsb, val & 0xFF);
|
||||||
|
spiWrite(RegFreqMid, (val >> 8) & 0xFF);
|
||||||
|
spiWrite(RegFreqMsb, (val >> 16) & 0xFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
#define SX1278_MAX_PACKET 256
|
#define SX1278_MAX_PACKET 256
|
||||||
#define SX1278_DEFAULT_TIMEOUT 3000
|
#define SX1278_DEFAULT_TIMEOUT 3000
|
||||||
|
|
||||||
|
#define F_STEP 61.035F
|
||||||
/********************LoRa mode***************************/
|
/********************LoRa mode***************************/
|
||||||
#define LR_RegFifo 0x00
|
#define LR_RegFifo 0x00
|
||||||
// Common settings
|
// Common settings
|
||||||
|
@ -70,10 +70,6 @@
|
||||||
/********************FSK/ook mode***************************/
|
/********************FSK/ook mode***************************/
|
||||||
|
|
||||||
|
|
||||||
#define FSK_SBY_MODE 0b00001001
|
|
||||||
#define FSK_TX_MODE 0b00001011
|
|
||||||
#define FSK_RX_MODE 0b00001101
|
|
||||||
#define FSK_SLEEP_MODE 0b00001000
|
|
||||||
|
|
||||||
|
|
||||||
//registers
|
//registers
|
||||||
|
@ -145,75 +141,18 @@
|
||||||
#define RegPaDac 0x4d
|
#define RegPaDac 0x4d
|
||||||
#define RegBitRateFrac 0x5d
|
#define RegBitRateFrac 0x5d
|
||||||
|
|
||||||
|
//values for OpMode register
|
||||||
|
#define FSK_SBY_MODE 0b00001001
|
||||||
|
#define FSK_TX_MODE 0b00001011
|
||||||
|
#define FSK_RX_MODE 0b00001101
|
||||||
|
#define FSK_SLEEP_MODE 0b00001000
|
||||||
|
|
||||||
|
typedef struct{
|
||||||
|
uint32_t freqency_u32;
|
||||||
|
|
||||||
//
|
}rf96_config;
|
||||||
//#define FSK_SLEEP_MODE 0x00
|
|
||||||
//#define FSK_STANDBY_MODE 0x01
|
|
||||||
//#define FSK_TX_MODE 0x03
|
|
||||||
//#define FSK_RX_MODE 0x05
|
|
||||||
//
|
|
||||||
//
|
|
||||||
|
|
||||||
|
void rf_set_params(rf96_config * _conf);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************
|
|
||||||
**Parameter table define
|
|
||||||
**********************************************************/
|
|
||||||
#define SX1278_433MHZ 0
|
|
||||||
|
|
||||||
static const uint8_t SX1278_Frequency[1][3] = { { 0x6C, 0x80, 0x00 }, //434MHz
|
|
||||||
};
|
|
||||||
|
|
||||||
#define SX1278_POWER_20DBM 0
|
|
||||||
#define SX1278_POWER_17DBM 1
|
|
||||||
#define SX1278_POWER_14DBM 2
|
|
||||||
#define SX1278_POWER_11DBM 3
|
|
||||||
|
|
||||||
static const uint8_t SX1278_Power[4] = { 0xFF, //20dbm
|
|
||||||
0xFC, //17dbm
|
|
||||||
0xF9, //14dbm
|
|
||||||
0xF6, //11dbm
|
|
||||||
};
|
|
||||||
|
|
||||||
#define SX1278_LORA_SF_6 0
|
|
||||||
#define SX1278_LORA_SF_7 1
|
|
||||||
#define SX1278_LORA_SF_8 2
|
|
||||||
#define SX1278_LORA_SF_9 3
|
|
||||||
#define SX1278_LORA_SF_10 4
|
|
||||||
#define SX1278_LORA_SF_11 5
|
|
||||||
#define SX1278_LORA_SF_12 6
|
|
||||||
|
|
||||||
static const uint8_t SX1278_SpreadFactor[7] = { 6, 7, 8, 9, 10, 11, 12 };
|
|
||||||
|
|
||||||
#define SX1278_LORA_BW_7_8KHZ 0
|
|
||||||
#define SX1278_LORA_BW_10_4KHZ 1
|
|
||||||
#define SX1278_LORA_BW_15_6KHZ 2
|
|
||||||
#define SX1278_LORA_BW_20_8KHZ 3
|
|
||||||
#define SX1278_LORA_BW_31_2KHZ 4
|
|
||||||
#define SX1278_LORA_BW_41_7KHZ 5
|
|
||||||
#define SX1278_LORA_BW_62_5KHZ 6
|
|
||||||
#define SX1278_LORA_BW_125KHZ 7
|
|
||||||
#define SX1278_LORA_BW_250KHZ 8
|
|
||||||
#define SX1278_LORA_BW_500KHZ 9
|
|
||||||
|
|
||||||
static const uint8_t SX1278_LoRaBandwidth[10] = { 0, // 7.8KHz,
|
|
||||||
1, // 10.4KHz,
|
|
||||||
2, // 15.6KHz,
|
|
||||||
3, // 20.8KHz,
|
|
||||||
4, // 31.2KHz,
|
|
||||||
5, // 41.7KHz,
|
|
||||||
6, // 62.5KHz,
|
|
||||||
7, // 125.0KHz,
|
|
||||||
8, // 250.0KHz,
|
|
||||||
9 // 500.0KHz
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#endif /* RF96_H_ */
|
#endif /* RF96_H_ */
|
||||||
|
|
Ładowanie…
Reference in New Issue