ไลบรารี C ฝังตัวที่ไม่ขึ้นกับแพลตฟอร์มสำหรับโมดูล Lora Micchip RN2483
หมายเหตุ: repo นี้ไม่ได้รับการดูแลและเขียนกับ v1.0 ของสเป็ค Lorawan พิจารณาว่าเป็นค่าเสื่อมราคา ในตอนนี้ lemme รู้ว่าคุณต้องการ
นี่คือไลบรารี C ฝังตัวสำหรับการโต้ตอบกับโมดูล Microchip RN2483 LORA มันมีจุดมุ่งหมายที่จะเรียบง่ายและเป็นโมดูล (เพียงพอที่จะทำให้การพอร์ตไปยังแพลตฟอร์มที่แตกต่างกันง่าย)
หนึ่งในคุณสมบัติหลักของห้องสมุดนี้คือการพกพา ห้องสมุดฝังตัวที่มี I/O ใด ๆ ไม่สามารถพกพาได้ อย่างแท้จริง ดังนั้นแพลตฟอร์มเฉพาะจึงได้รับการสนับสนุนในสาขาแยกของที่เก็บ สาขา หลัก ของ repo นี้เป็นรหัสที่ไม่ขึ้นกับแพลตฟอร์มหลัก แต่ละสาขา (เช่น platform/mbit ) เป็นสิ่งที่คุณต้องการใช้จริง ๆ ถ้าคุณพยายามปรับใช้สิ่งนี้เพื่อใช้บนแพลตฟอร์ม
ฟังก์ชั่นเฉพาะฮาร์ดแวร์เพียงอย่างเดียวที่ requried โดยไลบรารีนี้คือความสามารถในการ R/W เหนือ UART ไปยังโมดูล RN2483 ดังนั้นสิ่งนี้ได้รับการจัดการโดยฟังก์ชั่น wrapper: read และ write ในสาขา หลัก สิ่งเหล่านี้เต็มไปด้วย #error ที่บอกให้คุณนำไปใช้ในการรวบรวม
สำหรับรายละเอียดเกี่ยวกับการเพิ่มการสนับสนุนสำหรับแพลตฟอร์มเฉพาะโปรดดูที่ 6. AddingPlatforms
สำหรับตัวอย่างของการสนับสนุนแพลตฟอร์มเฉพาะดู 5. แพลตฟอร์มที่รองรับ
มีเอกสาร Doxygen เพียงเรียกใช้ doxygen doxycfg ในไดเรกทอรีหลักและมันจะสร้างเอกสาร/ โฟลเดอร์ ความคิดเห็นทั้งหมดควรเข้ากันได้กับ Doxygen และฉันพยายามที่จะให้ละเอียดที่สุดเท่าที่จะเป็นไปได้ แต่ฉันจะให้ภาพรวมสั้น ๆ ของที่นี่เพื่อประโยชน์ในการใช้งานง่าย
ห้องสมุดถูกเขียนในมาตรฐาน C (C99) และให้ฟังก์ชั่นเต็มรูปแบบของโมดูล RN2483
มีฟังก์ชั่น command ที่อนุญาตให้คุณเขียนคำสั่งที่ถูกต้องลงในโมดูล (ดูคำสั่งอ้างอิงสำหรับคำสั่งที่ถูกต้อง)
มีคำสั่ง initMAC ที่ใช้การตั้งค่าที่กำหนดไว้ในไฟล์ rn2483.cfg (ซึ่งได้รับการเขียนถึง config.h โดย MakeFile ) เพื่อเริ่มต้นการตั้งค่าเฉพาะของ LoRawan ทั้งหมดที่คุณต้องเชื่อมต่อเครือข่าย LoRawan TOA
นอกเหนือจากนี้ฟังก์ชั่นที่โดดเด่นอื่น ๆ ก็ join (เข้าร่วมเครือข่าย) และ tx (ส่งข้อมูลผ่านเครือข่ายที่เชื่อมต่อ) ซึ่งจัดการการจับมือ LoRawan ให้คุณ
หมายเหตุ: ฉันกำลังมองหาที่จะขยายห้องสมุดนี้ในอนาคตและเป็นระเบียบ
ตรวจสอบให้แน่ใจว่าได้ตรวจสอบไฟล์ RN2483.CFG เพื่อกำหนดค่าการตั้งค่า LORAWAN ของคุณและเรียกใช้ MakeFile
การตั้งค่าจะขึ้นอยู่กับแพลตฟอร์มของคุณดังนั้นเพื่อดู readme สาขาเฉพาะของแพลตฟอร์ม ไม่มีฟังก์ชั่น init หรืออะไรสำหรับการตั้งค่าพินที่จะกังวล - ทั้งหมดที่ทำในฟังก์ชั่น read และ write (นำไปใช้โดยคุณสำหรับ USECASE ของคุณ)
ในสาขา หลัก ฉันมีฟังก์ชั่น printf และ getc สำหรับสิ่งนี้ (ด้วยความตั้งใจที่จะให้ผู้ใช้เปลี่ยนเส้นทาง Stdin และ Stdout Stream หรือกำหนดฟังก์ชั่นใหม่ด้วยมาโคร) แต่หลังจากประสบกับ BBC Micro: กระบวนการสร้าง CMake ของ Bit
นอกเหนือจากการตั้งค่าการใช้งานทั่วไปควรไป:
โปรดจำไว้ว่าคุณสามารถเข้าถึงฟังก์ชั่นอื่น ๆ ของ RN2483 ผ่านฟังก์ชัน RN2483_Command ()
ดูสาขา: แพลตฟอร์ม/mbit readme.md
ฉันพยายามที่จะเปลี่ยนการเปลี่ยนแปลงที่จำเป็นในการเพิ่มแพลตฟอร์มให้มากที่สุด สิ่งนี้ส่วนใหญ่ทำผ่านฟังก์ชั่นการอ่าน/เขียนเขียนใน RN2483.C แต่ถ้าคุณดู BBC Micro: Bit Branch คุณจะเห็นว่าในบางกรณีคุณจะต้องเปลี่ยนมากกว่านี้ (ดูรายละเอียดของสาขาของสาขา)
ฟังก์ชั่นที่ จำเป็น ต้องเปลี่ยนใน rn2483.c :
เห็นได้ชัดว่ามันไม่ง่ายเลยดังนั้นคุณอาจพบสิ่งกีดขวางบนถนนที่ต้องมีการแก้ไขเพิ่มเติม ตัวอย่างเช่นในสาขาแพลตฟอร์ม/Mbit ฉันต้องส่งผ่านพอยน์เตอร์ไปยังวัตถุอนุกรมของจุลินทรีย์