new modifications

master
Piotr 2020-04-04 17:35:22 +02:00
rodzic 5bd2310df5
commit 4da1addbbe
3 zmienionych plików z 40 dodań i 83 usunięć

Wyświetl plik

@ -27,6 +27,9 @@ void clockInit();
**
**===========================================================================
*/
uint8_t rssi_u8 = 0;
rf96_config conf;
int main(void)
{
clockInit();
@ -40,13 +43,12 @@ SYSCFG->EXTICR[0] |= SYSCFG_EXTICR1_EXTI0_PB; //przypisanie szyny B do EXTI0
EXTI->IMR |= EXTI_IMR_MR0;
EXTI->FTSR |= EXTI_FTSR_TR0;
/////////////////////////////////////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;
uint8_t rssi_u8 = 0;
spiWrite(0x06,0x64);
spiWrite(0x07,0xC0);
spiWrite(0x08,0x11);
freq_u32 = (spiRead(0x08) |
(spiRead(0x07) << 8) |
(spiRead(0x06) << 16) ) * (float)61.035;
@ -62,15 +64,22 @@ spiWrite(RegPreambleLsb, 40);
spiWrite(RegPaRamp, (0x9 | (0b01 << 5)));
spiWrite(RegDioMapping1, (0b01 << 6)); //enabling preamble detect pn DIO0
spiWrite(RegDioMapping2, 0b1); //setting to preamble detect
//spiWrite(RegFifoThresh, 0x80);
//spiWrite(RegSyncConfig, (spiRead(RegSyncConfig) & 0b00111111));
//while(!(spiRead(RegOpMode) & FSK_SBY_MODE)){};
spiWrite(RegRxConfig, 0b00011110); //setting rxtrigger to preable detect
//and enabling agc
spiWrite(RegPacketConfig1,0b10000000);
spiWrite(RegSyncConfig,0b00001000);
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);
NVIC_EnableIRQ(EXTI0_IRQn);
while (1)
@ -183,6 +192,9 @@ __attribute__ ((interrupt)) void EXTI0_IRQHandler(void)
{
if(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));
}
}

Wyświetl plik

@ -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);
}

Wyświetl plik

@ -12,7 +12,7 @@
#define SX1278_MAX_PACKET 256
#define SX1278_DEFAULT_TIMEOUT 3000
#define F_STEP 61.035F
/********************LoRa mode***************************/
#define LR_RegFifo 0x00
// Common settings
@ -70,10 +70,6 @@
/********************FSK/ook mode***************************/
#define FSK_SBY_MODE 0b00001001
#define FSK_TX_MODE 0b00001011
#define FSK_RX_MODE 0b00001101
#define FSK_SLEEP_MODE 0b00001000
//registers
@ -145,75 +141,18 @@
#define RegPaDac 0x4d
#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;
//
//#define FSK_SLEEP_MODE 0x00
//#define FSK_STANDBY_MODE 0x01
//#define FSK_TX_MODE 0x03
//#define FSK_RX_MODE 0x05
//
//
}rf96_config;
/**********************************************************
**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
};
void rf_set_params(rf96_config * _conf);
#endif /* RF96_H_ */