|
SDK สำหรับ TESAIoT Dev Kit
คู่มืออ้างอิง API และ Tutorial (ModusToolbox)
|
ตารางฝั่ง C บนหน้านี้ใช้ได้กับแพ็กเกจทั้ง 2 ตัว ส่วนตารางของ MicroPython มีการกำกับไว้และแสดงเฉพาะในชุดของ mtb-mpy เพราะแพ็กเกจ mtb-only ไม่มีไฟล์ binding mod*.c มาให้เลยแม้แต่ไฟล์เดียว — ดู ตารางเทียบ variant
หน้าสำหรับเปิดหาส่วนที่เรียกใช้ได้ของอุปกรณ์ต่อพ่วง: ทุกการเรียก ค่าที่คืนมา และ flag BSP_HAS_* ที่ตัดสินว่าสิ่งนั้นมีอยู่หรือไม่ Tutorial ต่าง ๆ อธิบาย เหตุผล ส่วนหน้านี้มีไว้เพื่อไม่ต้องกลับไปอ่านบทเหล่านั้นซ้ำอีกรอบ
มีข้อเท็จจริงเรื่องขอบเขต 2 ข้อที่กำกับทุกอย่างด้านล่างนี้ และควรระบุไว้ก่อนตารางแรก
bsps/TARGET_KIT_PSE84_AI/bsp_features.mk เป็นไฟล์ของบอร์ดไฟล์เดียวในแพ็กเกจ flag ที่ไม่ได้ตั้งค่าจะมีค่าเริ่มต้นเป็น 0 ใน bento_libs/claw/common/shared/include/bsp_feature_flags.h
| Flag | ค่าบนบอร์ดนี้ | บรรทัด | ควบคุมอะไร |
|---|---|---|---|
| BSP_HAS_BMI270 | 1 | :12 | ไดรเวอร์ IMU และโมดูลย่อย bmi270 |
| BSP_HAS_BMM350 | 1 | :13 | แมกนีโตมิเตอร์ และ bmm350_diag / bmm350_debug |
| BSP_HAS_DPS368 | 1 | :16 | บารอมิเตอร์ |
| BSP_HAS_SHT40 | 1 | :17 | ความชื้นและอุณหภูมิ |
| BSP_HAS_RADAR | 1 | :18 | การเรียกของเรดาร์ 3 ตัว (task BGT60TR13C บน CM55) |
| BSP_HAS_QWA309_BASEBOARD | 1 | :25 | pots, buttons, rgbmatrix, header, can, shield |
| BSP_HAS_CAPSENSE | 1 | :32 | CapSense 4000T ผ่าน I2C |
| BSP_HAS_POTENTIOMETER | 1 | :34 | เส้นทางของโพเทนชิออมิเตอร์ผ่าน SAR |
| BSP_HAS_ARDUINO_HEADER | 1 | :58 | คอนเนกเตอร์ขยายของ QWA309 |
| ENABLE_PAGE_GPIO_RGB | 1 | :76 | หน้า GPIO และ RGB matrix บนหน้าจอ |
| ENABLE_PAGE_MOTOR_CTRL | 0 | :77 | หน้า Motor Shield v2 — ปิดไว้ตามค่าเริ่มต้น |
ทุกอย่างบนบัสของเซนเซอร์อยู่บน SCB0 I2C ที่ P8.0 SCL / P8.1 SDA (sensor_i2c.c:99-100) SCB0 ใช้ร่วมกับ PAL ของ OPTIGA Trust M ซึ่งเป็นเหตุให้ lock ใน J1 — บัสของเซนเซอร์และ lock ของมัน ไม่ใช่สิ่งที่เลือกได้
| อุปกรณ์ | แอดเดรส | บัส | เจ้าของ | Header |
|---|---|---|---|---|
| BMI270 IMU | 0x68 | SCB0 I2C | CM33_NS | sensor_bmi270.h:16 |
| แมกนีโตมิเตอร์ BMM350 | 0x15 | I3C (CYBSP_I3C_SCL/SDA) | CM33_NS | sensor_bmm350.h:20 |
| บารอมิเตอร์ DPS368 | 0x77 | SCB0 I2C | CM33_NS | sensor_dps368.h:16 |
| SHT40 วัดความชื้น | 0x44 | SCB0 I2C | CM33_NS | sensor_sht40.h:17 |
| CapSense 4000T | 0x08 | บัสจอแสดงผล/การสัมผัสบนบอร์ด QWA309 | CM55 | sensor_capsense.h:20 |
| DFR0522 RGB matrix | 0x10 | บัสของคอนเนกเตอร์ header | CM55 | mod_rgbmatrix.c:6-13 |
| เรดาร์ BGT60TR13C | — | SPI | CM55 | tesaiot-radar/radar_task.h |
ช่องสัญญาณของบอร์ดที่ไม่ได้อยู่บนบัส
| สัญญาณ | ขา | หมายเหตุ |
|---|---|---|
| RGB LED สีแดง / น้ำเงิน / เขียว | P20.6 / P20.5 / P20.4 | TCPWM0 กลุ่ม 1 line 265 / 264 / 263 (modgpio.c:159-166) |
| LED1, LED2 | CYBSP_USER_LED1/2 | ไม่มีเส้นทาง TCPWM — ขับด้วย bit-bang เท่านั้น |
| ปุ่ม USER | CYBSP_USER_BTN1 | รายงานชื่อเป็น "SW2" (modgpio.c:53-58) |
| QWA309 SW4 / SW5 | P17.5 / P17.7 | active-low ใช้ pull-up ของ MCU (mod_qwa309_buttons.c:67-68) |
| โพเทนชิออมิเตอร์ตัวเดียว (sensors.pot) | P15[1] | SAR GPIO ช่อง 0 ผ่าน MTB HAL ปรับสเกลเทียบกับ 3.3 V (sensor_potentiometer.c:6-19) |
| QWA309 VR1..VR4 (pots) | P15.4..P15.7 | AutAnalog SAR GPIO ช่อง 4..7 — ไม่ได้ เรียงตามลำดับปุ่มหมุน |
| GPIO ของคอนเนกเตอร์ QWA309 | P13.0, P13.3, P13.4, P13.5, P13.6, P13.7 | ดัชนีเชิงตรรกะ 0..5 |
| PWM ของคอนเนกเตอร์ QWA309 | P13.3 (P13.4 = สัญญาณกลับขั้ว) | TCPWM0 counter 5 |
| UART ของคอนเนกเตอร์ QWA309 | P15.0 RX / P15.1 TX | SCB9, 115200 8N1 |
ชื่อเหล่านี้คือชื่อที่นักพัฒนาฝั่ง mtb-only เรียกโดยตรง และเป็นชื่อที่ binding ของ MicroPython เรียกอยู่ข้างใต้บน mtb-mpy
| ตระกูล | จุดเข้า | ไฟล์ |
|---|---|---|
| บัส | sensor_i2c_init :88, sensor_i2c_lock(ms) :168, sensor_i2c_unlock :175, sensor_i2c_is_init :181, sensor_i2c_write_reg :215, sensor_i2c_read_reg :240, sensor_i2c_scan :317 | sensor_i2c.c |
| BMI270 | bmi270_read_chip_id :65, bmi270_init :195, bmi270_read_accel :218, bmi270_read_gyro :235, bmi270_read_temperature :252 | sensor_bmi270.c |
| BMM350 | bmm350_init :391, bmm350_reinit :539, bmm350_debug_read :559, bmm350_read_xyz :703, bmm350_cal_update :739, bmm350_cal_reset :766, bmm350_heading_from_xy :791, bmm350_read_heading :829, bmm350_diagnose :863 | sensor_bmm350.c |
| DPS368 | dps368_read_product_id :97, dps368_init :101, dps368_read_temperature :228, dps368_read_pressure :246, dps368_read_both :273 | sensor_dps368.c |
| SHT40 | sht40_init :40, sht40_read_temperature :107, sht40_read_humidity :111, sht40_read_both :116, sht40_read_serial :120 | sensor_sht40.c |
| โพเทนชิออมิเตอร์ | potentiometer_init :26, potentiometer_read_raw :61, potentiometer_read_percent :72, potentiometer_read_voltage :82 | sensor_potentiometer.c |
| CapSense | API เดียว สอง backend — ดู ทางแยกของ CapSense: หนึ่ง API สอง backend | sensor_capsense.h |
| การส่งอัตโนมัติ (auto-push) | sensor_auto_get_bmi270 :1498, sensor_auto_task_create :1513, sensor_auto_start :1583, sensor_auto_stop :1591, sensor_auto_is_running :1601, sensor_auto_set_rate :1605, sensor_auto_get_rate :1611, sensor_auto_set_mask :1615, sensor_auto_get_mask :1619, sensor_auto_enable :1623, sensor_auto_disable :1627, sensor_auto_get_push_count :1631 | sensor_auto_task.c |
| การวนถามบน CM55 | cm55_sensor_poll_init :34, cm55_sensor_poll_tick :37, cm55_capsense_tick :46, cm55_sensor_poll_status :49, cm55_pot_read_all :54, cm55_sensor_poll_diag :57 | cm55_sensor_poll.h |
| เรดาร์ (CM55) | tesaiot_radar_task :96, tesaiot_radar_recover_stats :114, tesaiot_radar_loop_stats :129, radar_ai_frame_next :147; สถานะ tesaiot_radar_presence_detected :72, tesaiot_radar_current_energy :77, tesaiot_radar_initialized :82 | radar_task.h |
ซอร์สของเซนเซอร์อยู่ที่ bento_libs/claw/common/mpy/ ส่วน cm55_sensor_poll.h อยู่ใต้ proj_cm55/modules/cm55_sensor_poll/ และซอร์สของเรดาร์อยู่ใต้ bento_libs/claw/kit-pse84-ai/libraries/tesaiot-radar/
| mtb-mpy | mtb-only | |
|---|---|---|
| bento_libs/claw/common/mpy/ | 53 ไฟล์ — mod*.c ทุกไฟล์ พร้อมไดรเวอร์ | 19 ไฟล์ — เฉพาะไดรเวอร์ sensor_*.c/.h |
| bento_libs/claw/kit-tesaiot-pse84-ai/mpy/ | โมดูลของชุดคิททั้ง 6 ตัว | ไม่มีไดเรกทอรีนี้ |
| โมดูล sensors, gpio | มี | ไม่มี — ไม่ได้คอมไพล์ชั้น binding เข้ามา |
| pots, buttons, rgbmatrix, header, can, shield | มี | ไม่มี |
| ไดรเวอร์เซนเซอร์ (sensor_i2c, BMI270, BMM350, DPS368, SHT40, pot) | มี เรียกโดย binding | มี เรียกโดยโค้ดที่เขียนเอง |
| sensor_auto_task | มี | มี — และรับผิดชอบขั้นตอนตอนบูตเพิ่มอีกหนึ่งขั้น ดู J3 — task ดันข้อมูลอัตโนมัติกับ sensor hub |
| การวนถามบน CM55 และ task ของเรดาร์ | มี | มี |
| Tutorial | J1 — บัสของเซนเซอร์และ lock ของมัน, J2, J3 — task ดันข้อมูลอัตโนมัติกับ sensor hub, J4, J5, J6 — เรดาร์ | J1 — บัสของเซนเซอร์และ lock ของมัน, J3 — task ดันข้อมูลอัตโนมัติกับ sensor hub, J6 — เรดาร์ |