Micropython 및 Circuitpython 용 Semtech SX126X LORA 드라이버.
이 라이브러리는 jgromes에 의해 Radiolib에서 포팅 및 수정됩니다.
이 라이브러리는 CircuitpyThon뿐만 아니라 일반 및 PYCOM 변형 마이크로 파이썬을 지원합니다.
테스트 :
* 메모리 문제 오류를 방지하기 위해 .mpy로 컴파일하거나 Micropython 이미지로 컴파일하십시오.
클래스 SX1262.SX1262 (SPI_BUS, CLK, MOSI, MISO, CS, IRQ, RST, GPIO)
SX1262 객체를 작성하고 초기화합니다.
매개 변수는 다음과 같습니다.
SX1262. 세트 프리 큐 (FREQ)
MHZ에서 주파수를 설정하십시오.
반품 : 상태 ( 상수 상태 사전 참조)
sx1262.setoutputpower (power)
DBM에서 TX 전원을 설정하십시오.
반환 : 상태
sx1262.setBlockingCallback (차단, 콜백 = 없음)
TX/RX 차단 모드를 설정하고 콜백을 방해합니다.
차단 = true 인 경우 tx/rx는 차단 모드로 설정되고 콜백 함수는 무시됩니다.
차단 = false 인 경우 TX/RX는 비 블록 모드로 설정되며 TX/RX 이벤트시 이벤트 인수와 함께 콜백 함수가 트리거됩니다.
Callback = none 인 경우 이벤트 콜백 함수가 비활성화됩니다.
sx1262.getrssi ()
DBM에서 RX RSSI를 받으십시오.
반품 : RSSI 값
sx1262.gettimeonair (Len)
메시지 길이, len = 메시지 길이에 따라 공중에서 RX 시간을 얻습니다.
반품 : 항공 가치의 시간
sx1262.send (데이터)
메시지 보내기, 데이터 유형은 바이트 또는 바이트이어야합니다.
반품 : 페이로드 길이, 상태
sx1262.recv (len = 0, timeout_en = false, timeout_ms = 0)
RX 메시지를 읽으십시오.
len = 메시지 길이, 0이면 기본값은 sx126x_max_packet_length입니다
timeout_en = Rx Timeout 활성화, False 인 경우 메시지 수신이 수신 될 때까지 무한정 차단 기능 (차단 모드에서만)
timeout_ms = rx 시간 초
반품 : 페이로드, 상태
sx1262.begin (freq = 434.0, bw = 125.0, sf = 9, cr = 7, syncword = 0x12, power = 14, currentLimit = 60.0
preamblelength = 8, incomplicit = false, implicitlen = 0xff, cron = true, txiq = false, rxiq = false,
tcxovoltage = 1.6, useregulatorldo = false, blocking = true)
이 방법은 LORA 구성을 설정하는 데 사용됩니다.
매개 변수는 다음과 같습니다.
반환 : 상태
sx1262.setbandwidth (bw)
Lora 대역폭을 KHZ로 설정하십시오.
반환 : 상태
sx1262.setCodingRate (CR)
LORA 코딩 속도, 5 ~ 8을 설정하십시오.
반환 : 상태
sx1262.setpreamblelength (preamblelength)
Lora Preamble 길이를 설정하십시오.
반환 : 상태
sx1262.setspreadingfactor (SF)
LORA 스프레딩 팩터, 5 ~ 12를 설정하십시오.
반환 : 상태
sx1262.setsyncword (syncword, [controlbits])
lora sync word, private = 0x12, public = 0x34를 설정하십시오.
선택적 매개 변수 ControlBits, 기본값은 0x44입니다.
EG Syncword = 0xAB, ControlBits = 0xcd-> SX126X 2 바이트 동기화 Word = 0xacbd
EG Syncword = 0x12, ControlBits = 0x44-> sx126x 2 바이트 동기화 단어 = 0x1424
반환 : 상태
sx1262.explicitheader ()
LORA 명시 적 헤더 모드를 활성화하십시오.
반환 : 상태
sx1262. implicitheader (implicitlen)
암시 적 길이 매개 변수로 LORA 암시 적 헤더 모드를 활성화하십시오.
반환 : 상태
sx1262.forceldro (활성화)
힘이 낮은 데이터 속도 최적화를 가능하게합니다.
반환 : 상태
sx1262.autoldro ()
자동 데이터 속도 최적화를 활성화합니다.
반환 : 상태
sx1262.setcrc (cron)
LORA CRC 모드를 설정하십시오.
반환 : 상태
sx1262.settxiq (txiq)
LORA TX 반전 IQ 모드를 설정하십시오.
sx1262.setrxiq (rxiq)
LORA RX 반전 IQ 모드를 설정하십시오.
sx1262.getsnr ()
DB에서 lora rx snr을 얻으십시오.
반품 : SNR 값
sx1262.beginfsk (freq = 434.0, br = 48.0, freqdev = 50.0, rxbw = 156.2, power = 14, currentLimit = 60.0,
preamblelength = 16, DataShaping = 0.5, syncword = [0x2d, 0x01], syncbitslength = 16,
addrfilter = sx1262.addr_filt_off, addr = 0x00, crclength = 2, crcinitial = 0x1d0f, crcpolynomial = 0x1021,
crcinverted = true, whiteneningon = true, whiteninginitial = 0x0100,
fixedpacketlength = false, packetLength = 0xff, preambledetectorlength = sx1262.preamble_detect_16,
tcxovoltage = 1.6, useregulatorldo = false,
차단 = true)
이 방법은 FSK 구성을 설정하는 데 사용됩니다.
매개 변수는 다음과 같습니다.
반환 : 상태
sx1262.setbitrate (br)
KBPS에서 FSK 비트 속도를 설정하십시오.
반환 : 상태
sx1262.setfrequencyDeviation (freqdev)
FSK 주파수 편차를 KHZ로 설정하십시오.
반환 : 상태
sx1262.setrxBandWidth (RXBW)
KHZ에서 FSK RX 대역폭을 설정하십시오.
반환 : 상태
sx1262. 세트 다 샤핑 (데이터 샤핑)
가우스 필터의 FSK Time-Bandwidth 제품을 형성에 사용할 수 있도록 설정하십시오.
반환 : 상태
sx1262.setsyncbits (syncword, bitslen)
FSK 동기화 Word 및 Sync 비트 길이를 설정하십시오.
Syncword = List에서 단어 동기화
bitslen = 동기화 단어 비트 길이
반환 : 상태
sx1262.setpreamblelength (preamblelength)
FSK 서문 길이를 설정하십시오.
반환 : 상태
sx1262.setpreambledetectorlength (preambledetectorlength)
최소 프리앰블 감지 길이 설정 상수 FSK 프리 앰블 탐지기 길이를 참조하십시오.
sx1262.setnodeaddress (addr)
노드 주소 ADDR에서 주소 필터링을 활성화합니다.
반환 : 상태
sx1262.setbroadcastaddress (addr)
노드 및 브로드 캐스트 주소 ADDR에서 주소 필터링을 활성화하십시오.
반환 : 상태
sx1262.disableaddressfiltering ()
주소 필터링을 비활성화합니다.
반환 : 상태
sx1262.setcrc (len, initial = 0x1d0f, polynomial = 0x1021, 반전 = true)
FSK CRC를 설정하십시오.
LEN = CRC 길이, 0, 1 또는 2
초기 = CRC 이니셜
다항식 = CRC 계산에 사용되는 다항식
역전 = CRC 바이트 반전 활성화
반환 : 상태
sx1262.setwhitening (enabled, initial = 0x0100)
FSK 미백을 설정하십시오.
초기 = 미백 LFSR의 초기 값
반환 : 상태
sx1262.fixedpacketlengthmode (len)
FSK 고정 패킷 길이 모드를 설정합니다.
len = 바이트의 패킷 길이
반환 : 상태
sx1262.variablepacketlengthmode (maxlen)
FSK 변수 패킷 길이 모드를 설정하십시오.
Maxlen = 바이트의 최대 패킷 길이
반환 : 상태
이벤트 : sx1262.tx_done, sx1262.rx_done
FSK 주소 필터 : sx1262.addr_filt_off, sx1262.addr_filt_node, sx1262.addr_filt_node_broad
FSK Preamble Detector 길이 : SX1262.Preamble_detect_off, SX1262.Preamble_Detect_X-> x = 8, 16, 24, 32
상태 사전 : SX1262.Status