You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
3.0 KiB
Python
90 lines
3.0 KiB
Python
5 years ago
|
#!/usr/bin/env python2
|
||
|
|
||
|
import RFM69
|
||
|
from RFM69registers import *
|
||
|
import datetime
|
||
|
import time
|
||
|
|
||
|
rfmModule = RFM69.RFM69(RF69_433MHZ, 1, 1, True)
|
||
|
rfmModule.shutdown()
|
||
|
|
||
|
print "class initialized"
|
||
|
print "reading all registers"
|
||
|
results = rfmModule.readAllRegs()
|
||
|
for result in results:
|
||
|
print result
|
||
|
print "Performing rcCalibration"
|
||
|
|
||
|
rfmModule.writeReg(REG_FDEVMSB, 0x00)
|
||
|
rfmModule.writeReg(REG_FDEVLSB, 0x4a)
|
||
|
|
||
|
freqHz = 434790000
|
||
|
freqHz /= 61.03515625 # divide down by FSTEP to get FRF
|
||
|
freqHz = int(freqHz) + 35
|
||
|
rfmModule.writeReg(REG_FRFMSB, freqHz >> 16)
|
||
|
rfmModule.writeReg(REG_FRFMID, freqHz >> 8)
|
||
|
rfmModule.writeReg(REG_FRFLSB, freqHz)
|
||
|
|
||
|
rfmModule.writeReg(REG_OPMODE, RF_OPMODE_SEQUENCER_ON | RF_OPMODE_LISTEN_OFF | RF_OPMODE_TRANSMITTER)
|
||
|
rfmModule.writeReg(REG_DATAMODUL, RF_DATAMODUL_DATAMODE_PACKET | RF_DATAMODUL_MODULATIONSHAPING_00)
|
||
|
#rfmModule.writeReg(REG_BITRATEMSB, 0xF4)
|
||
|
#rfmModule.writeReg(REG_BITRATELSB, 0xF4)
|
||
|
rfmModule.writeReg(REG_BITRATEMSB, RF_BITRATEMSB_1200)
|
||
|
rfmModule.writeReg(REG_BITRATELSB, RF_BITRATELSB_1200)
|
||
|
#rfmModule.writeReg(REG_BITRATEMSB, 0xFF)
|
||
|
#rfmModule.writeReg(REG_BITRATELSB, 0xFF)
|
||
|
|
||
|
rfmModule.writeReg(REG_DIOMAPPING1, RF_DIOMAPPING1_DIO0_00)
|
||
|
rfmModule.writeReg(REG_DIOMAPPING2, RF_DIOMAPPING2_CLKOUT_OFF)
|
||
|
|
||
|
rfmModule.writeReg(REG_PACKETCONFIG1, RF_PACKET1_FORMAT_FIXED | RF_PACKET1_DCFREE_OFF | RF_PACKET1_CRC_OFF | RF_PACKET1_CRCAUTOCLEAR_ON | RF_PACKET1_ADRSFILTERING_OFF)
|
||
|
rfmModule.writeReg(REG_PAYLOADLENGTH, 0x00)
|
||
|
rfmModule.writeReg(REG_FIFOTHRESH, RF_FIFOTHRESH_TXSTART_FIFONOTEMPTY | RF_FIFOTHRESH_VALUE)
|
||
|
rfmModule.writeReg(REG_PREAMBLELSB, 0x00)
|
||
|
rfmModule.writeReg(REG_IRQFLAGS2, RF_IRQFLAGS2_FIFOOVERRUN)
|
||
|
rfmModule.rcCalibration()
|
||
|
print "setting high power"
|
||
|
rfmModule.setHighPower(True)
|
||
|
|
||
|
print "Checking temperature"
|
||
|
print rfmModule.readTemperature(0)
|
||
|
# print "setting encryption"
|
||
|
# rfmModule.encrypt("1234567891011121")
|
||
|
print "sending blah to 2"
|
||
|
rfmModule.setMode(RF69_MODE_SYNTH)
|
||
|
#wait for modeReady
|
||
|
time.sleep(10)
|
||
|
while (rfmModule.readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00:
|
||
|
pass
|
||
|
|
||
|
|
||
|
import uuid
|
||
|
|
||
|
def my_random_string(string_length=10):
|
||
|
"""Returns a random string of length string_length."""
|
||
|
random = str(uuid.uuid4())+str(uuid.uuid4())+str(uuid.uuid4())+str(uuid.uuid4())+str(uuid.uuid4())+str(uuid.uuid4())+str(uuid.uuid4())+str(uuid.uuid4()) # Convert UUID format to a Python string.
|
||
|
random = random.upper() # Make all characters uppercase.
|
||
|
random = random.replace("-","") # Remove the UUID '-'.
|
||
|
return random[0:string_length] # Return the random string.
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
from pocsag import encodeTXBatch
|
||
|
|
||
|
msgs = []
|
||
|
#msgs.append([True, "133709", "1234567890U[]-"])
|
||
|
"""
|
||
|
msgs.append([False, "133722", 'Zeile 1\nZeile 2\nZeile 3\nZeile 4'])
|
||
|
msgs.append([False, "133742", '1234567890^12w3e4rt5zu<yxcvf1qwerdftgzhj123we4rwt5dezghqwertwe6456e5n6er6n45w6n456n45'])
|
||
|
msgs.append([True, "133782", "1234567890U-()"])
|
||
|
"""
|
||
|
for i in range(1):
|
||
|
msgs.append([False, "133702", my_random_string(80)])
|
||
|
|
||
|
data = encodeTXBatch(msgs)
|
||
|
rfmModule.sendBuffer(data)
|
||
|
|
||
|
rfmModule.shutdown()
|