แพ็คเกจนี้เสนอการใช้งานใน C ของไดรเวอร์สำหรับส่วนประกอบวิทยุ LR11xx
ไดรเวอร์แบ่งออกเป็นหลายองค์ประกอบ:
ส่วนประกอบนี้ใช้เพื่ออัปเดตเฟิร์มแวร์
ส่วนประกอบนี้ใช้เพื่ออ่าน / เขียนข้อมูลจากการลงทะเบียนหรือหน่วยความจำภายใน
ส่วนประกอบนี้ใช้ในการโต้ตอบกับพารามิเตอร์ทั่วทั้งระบบเช่นแหล่งนาฬิกาสวิตช์ RF ในตัว ฯลฯ
ส่วนประกอบนี้ใช้เพื่อส่ง / รับข้อมูลผ่านโมเด็มที่แตกต่างกัน (LORA และ GFSK) หรือดำเนินการ LORA CAD (การตรวจจับกิจกรรมช่อง) พารามิเตอร์เช่นการเลือกแอมพลิฟายเออร์กำลังไฟส่งออกและโหมดทางเลือกสามารถเข้าถึงได้ผ่านส่วนประกอบนี้
นอกจากนี้ยังเปิดเผยคุณสมบัติสำหรับ sigfox ความเข้ากันได้ของBluetooth®-Low-Energy-Beaconing นั้นมีอยู่ในส่วนประกอบนี้สำหรับ LR1110/LR1120
ส่วนประกอบนี้มีฟังก์ชั่นที่เกี่ยวข้องกับ LR-FHSS
ส่วนประกอบนี้ใช้ในการกำหนดค่าและเริ่มต้นการสแกนแบบพาสซีฟของสัญญาณ Wi-Fi ที่สามารถแบ่งปันเพื่อขอตำแหน่งทางภูมิศาสตร์
ส่วนประกอบนี้ใช้ในการกำหนดค่าและเริ่มต้นการได้มาซึ่งสัญญาณ GNSS ที่สามารถแบ่งปันเพื่อขอตำแหน่งทางภูมิศาสตร์
ส่วนประกอบนี้ใช้ในการตั้งค่าและรับคีย์ในพวงกุญแจภายในและดำเนินการเข้ารหัสด้วยตัวเร่งฮาร์ดแวร์แบบรวม
ส่วนประกอบนี้ใช้ในการกำหนดค่าและใช้งานคุณสมบัติเวลาการเดินทางไปกลับ LORA ของอุปกรณ์ (RTTOF)
แต่ละองค์ประกอบจะขึ้นอยู่กับไฟล์ที่แตกต่างกัน:
HAL (Hardware Abstraction Layer) เป็นชุดของฟังก์ชั่นที่ผู้ใช้จะนำไปใช้ในการเขียนการโทรขึ้นอยู่กับแพลตฟอร์มไปยังโฮสต์ รายการฟังก์ชั่นดังต่อไปนี้:
เมื่อชิปตื่นขึ้นจากโหมดสลีปด้วยการเก็บรักษาพารามิเตอร์จะไม่ได้รับการกำหนดค่าใหม่อย่างเหมาะสม การกำหนดค่าผิดพลาดนี้สามารถนำไปสู่กำลังช่องสัญญาณที่อยู่ติดกันสูงโดยไม่คาดคิดในการส่งสัญญาณที่ตามมาทั้งหมด
ปัญหาจะปรากฏเฉพาะในการปรับ Lora สำหรับแบนด์วิดท์ทั้งหมดยกเว้น 500kHz และ 800kHz
เวอร์ชันเฟิร์มแวร์ต่อไปนี้ได้รับผลกระทบ:
วิธีแก้ปัญหาคือการรีเซ็ตบิต 30 ในการลงทะเบียน 0x00F30054 เมื่อชิปตื่นขึ้นจากโหมดสลีปด้วยการเก็บรักษา
วิธีแก้ปัญหานี้ไม่ได้แก้ปัญหาที่ LR11XX_RADIO_MODE_SLEEP ถูกกำหนดค่าด้วย lr11xx_radio_auto_tx_rx และชิปถูกตั้งค่าเป็นโหมด Rx นี่คือค่าธรรมเนียมสำหรับความจริงที่ว่าวิธีแก้ปัญหาไม่สามารถนำไปใช้ก่อนการส่งต่อครั้งต่อไปจะเปิดตัวโดยชิปโดยอัตโนมัติหลังจากตื่นขึ้นมาจากโหมดสลีปด้วยการเก็บรักษา
การใช้งานครั้งแรก - เปิดใช้งานโดยค่าเริ่มต้นในไดรเวอร์ - เพิ่มการอัพเดตการโทรโดยนัยของพารามิเตอร์ไปยังแต่ละฟังก์ชั่นที่สามารถตั้งค่าชิปในการส่ง - โดยตรงหรือไม่ -:::
lr11xx_radio_set_tx_with_timeout_in_rtc_steplr11xx_radio_set_tx_infinite_preamblelr11xx_radio_set_rx_with_timeout_in_rtc_step - ในกรณี lr11xx_radio_auto_tx_rx ได้เปิดใช้งานlr11xx_radio_set_cad - ในกรณี LR11XX_RADIO_CAD_EXIT_MODE_TX ได้ถูกตั้งค่าด้วย lr11xx_radio_set_cad_params การใช้งานนี้สามารถปิดใช้งานได้โดยการกำหนด Macro LR11XX_DISABLE_HIGH_ACP_WORKAROUND การปิดการใช้งานนี้จะมีประโยชน์เมื่อในอนาคตเฟิร์มแวร์ใหม่ที่รวมการแก้ไขจะถูกปล่อยออกมาและไม่จำเป็นต้องใช้วิธีแก้ปัญหาอีกต่อไป
ข้อได้เปรียบหลักของการใช้งานนี้คือความโปร่งใสสำหรับผู้ใช้ที่ต้องการอัปเดตไดรเวอร์โดยไม่ต้องเปลี่ยนแอปพลิเคชัน ข้อเสียเปรียบหลักคือการโทรโดยนัยนั้นดำเนินการอย่างเป็นระบบแม้ว่าจะไม่จำเป็น
วิธีที่สองต้องการให้ผู้ใช้เรียกใช้ฟังก์ชัน lr11xx_radio_apply_high_acp_workaround อย่างชัดเจนเมื่อชิปตื่นขึ้นจากโหมดสลีปด้วยการเก็บรักษา (หมายเหตุ: เพื่อความสะดวกในการใช้งานมันสามารถเรียกได้เมื่อชิปตื่นขึ้นจากโหมดสลีปใด ๆ )
วิธีนี้ต้องการมาโคร LR11XX_DISABLE_HIGH_ACP_WORKAROUND ที่จะกำหนดไว้เพื่อให้การใช้งาน 1 ของการแก้ปัญหา (เปิดใช้งานโดยค่าเริ่มต้น) ถูกปิดใช้งาน
เวอร์ชันเฟิร์มแวร์ต่อไปนี้ได้รับผลกระทบ:
เมื่อชิปสิ้นสุดการรับสัญญาณในแถบ 2.4 GHz พารามิเตอร์จะไม่ถูกกำหนดค่าใหม่อย่างเหมาะสม การกำหนดค่าผิดพลาดนี้จะป้องกันการสแกน GNSS ที่ตามมาจากการทำงานอย่างถูกต้อง
เป็นสิ่งสำคัญที่จะต้องทราบว่าหากชิปเข้าสู่สถานะหนึ่งในสถานะต่อไปนี้ระหว่างการรับสัญญาณในแถบ 2.4GHz และการสแกน GNSS พารามิเตอร์จะถูกกำหนดค่าใหม่อย่างเหมาะสมและข้อ จำกัด ไม่ปรากฏขึ้น:
วิธีแก้ปัญหาคือการตั้งค่าบิต 4 ในการลงทะเบียน 0x00F30024 เมื่อชิปสิ้นสุดการต้อนรับในวง 2.4GHz ก่อนที่จะเปิดตัว GNSS Scan
วิธีแก้ปัญหานี้ไม่จำเป็นเมื่อใช้เวอร์ชันเฟิร์มแวร์ LR1110 ใด ๆ อย่างไรก็ตามมันไม่ได้ป้องกัน LR1110 จากการทำงานอย่างถูกต้องหากการแก้ปัญหาไม่ได้ปิดการใช้งาน
การใช้งานครั้งแรก - เปิดใช้งานโดยค่าเริ่มต้นในไดรเวอร์ - เพิ่มการอัพเดตการโทรโดยนัยของพารามิเตอร์ไปยังแต่ละฟังก์ชั่นที่สามารถตั้งค่าชิปในโหมดสแกน GNSS:
lr11xx_gnss_scan การใช้งานนี้สามารถปิดใช้งานได้โดยกำหนด Macro LR11XX_DISABLE_MIXER_CFG_WORKAROUND การปิดการใช้งานนี้จะมีประโยชน์เมื่อในอนาคตเฟิร์มแวร์ใหม่ที่รวมการแก้ไขจะถูกปล่อยออกมาและไม่จำเป็นต้องใช้วิธีแก้ปัญหาอีกต่อไป
ข้อได้เปรียบหลักของการใช้งานนี้คือความโปร่งใสสำหรับผู้ใช้ที่ต้องการอัปเดตไดรเวอร์โดยไม่ต้องเปลี่ยนแอปพลิเคชัน ข้อเสียเปรียบหลักคือการโทรโดยนัยนั้นดำเนินการอย่างเป็นระบบแม้ว่าจะไม่จำเป็น
วิธีที่สองต้องการให้ผู้ใช้เรียกใช้ฟังก์ชัน lr11xx_gnss_apply_mixer_cfg_workaround อย่างชัดเจนเมื่อชิปสิ้นสุดการรับสัญญาณใน 2.4GHz หากมีการวางแผนการสแกน GNSS หลังจากนั้น
วิธีนี้ต้องการมาโคร LR11XX_DISABLE_MIXER_CFG_WORKAROUND ที่จะกำหนดไว้เพื่อให้การใช้งาน 1 ของการแก้ปัญหา (เปิดใช้งานโดยค่าเริ่มต้น) ถูกปิดใช้งาน