Ugrás a fő tartalomra

Könyvtár specifikáció

Funkciók

A CanSat NeXT-tel az összes szokásos Arduino funkciót használhatja, valamint bármilyen Arduino könyvtárat. Az Arduino funkciók itt találhatók: https://www.arduino.cc/reference/en/.

A CanSat NeXT könyvtár számos könnyen használható funkciót ad hozzá a különböző fedélzeti erőforrások, például érzékelők, rádió és az SD-kártya használatához. A könyvtár egy sor példa skiccet tartalmaz, amelyek bemutatják, hogyan kell használni ezeket a funkciókat. Az alábbi lista az összes elérhető funkciót is bemutatja.

Rendszer inicializálási funkciók​

CanSatInit​

Funkcióuint8_t CanSatInit(uint8_t macAddress[6])
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az inicializálás sikeres volt, vagy nem nulla értéket, ha hiba történt.
Paraméterek
uint8_t macAddress[6]
6-bájtos MAC cím, amelyet a műhold és a földi állomás oszt meg. Ez egy opcionális paraméter - ha nincs megadva, a rádió nem inicializálódik. Használt példa skiccben: Mind
LeírásEz a parancs szinte minden CanSat NeXT szkript setup() részében megtalálható. A CanSatNeXT hardver, beleértve az érzékelőket és az SD-kártyát, inicializálására szolgál. Továbbá, ha a macAddress meg van adva, elindítja a rádiót és elkezdi figyelni a bejövő üzeneteket. A MAC címnek a földi állomás és a műhold között megosztottnak kell lennie. A MAC cím szabadon választható, de vannak nem érvényes címek, mint például az összes bájt 0x00, 0x01 és 0xFF. Ha az init függvényt nem érvényes címmel hívják meg, a problémát jelenteni fogja a Soros porton.

CanSatInit (egyszerűsített MAC-cím specifikáció)​

Funkcióuint8_t CanSatInit(uint8_t macAddress)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az inicializálás sikeres volt, vagy nem nulla értéket, ha hiba történt.
Paraméterek
uint8_t macAddress
A MAC-cím utolsó bájtja, amelyet a különböző CanSat-GS párok megkülönböztetésére használnak.
LeírásEz a CanSatInit egyszerűsített verziója MAC címmel, amely automatikusan beállítja a többi bájtot egy ismert biztonságos értékre. Ez lehetővé teszi a felhasználók számára, hogy csak egy értékkel különböztessék meg az Adó-Vevő párokat, amely 0-255 lehet.

GroundStationInit​

Funkcióuint8_t GroundStationInit(uint8_t macAddress[6])
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az inicializálás sikeres volt, vagy nem nulla értéket, ha hiba történt.
Paraméterek
uint8_t macAddress[6]
6-bájtos MAC cím, amelyet a műhold és a földi állomás oszt meg.
Használva példa sketchbenGroundstation receive
LeírásEz a CanSatInit függvény közeli rokona, de mindig megköveteli a MAC címet. Ez a függvény csak a rádiót inicializálja, más rendszereket nem. A földi állomás bármilyen ESP32 lap lehet, beleértve bármely fejlesztői lapot vagy akár egy másik CanSat NeXT lapot is.

GroundStationInit (egyszerűsített MAC-cím specifikáció)​

Funkcióuint8_t GroundStationInit(uint8_t macAddress)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az inicializálás sikeres volt, vagy nem nulla értéket, ha hiba történt.
Paraméterek
uint8_t macAddress
A MAC-cím utolsó bájtja, amelyet a különböző CanSat-GS párok megkülönböztetésére használnak.
LeírásEz a GroundStationInit egyszerűsített verziója MAC címmel, amely automatikusan beállítja a többi bájtot egy ismert biztonságos értékre. Ez lehetővé teszi a felhasználók számára, hogy csak egy értékkel különböztessék meg az Adó-Vevő párokat, amely 0-255 lehet.

IMU Funkciók​

readAcceleration​

Funkcióuint8_t readAcceleration(float &x, float &y, float &z)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha a mérés sikeres volt.
Paraméterek
float &x, float &y, float &z
float &x: Egy lebegőpontos változó címe, ahol az x-tengely adatai tárolódnak.
Használva példa sketchbenIMU
LeírásEz a függvény az on-board IMU gyorsulásának olvasására használható. A paraméterek lebegőpontos változók címei minden tengelyhez. Az IMU példa megmutatja, hogyan kell használni ezt a függvényt a gyorsulás olvasásához. A gyorsulás G egységekben (9,81 m/s) van visszaadva.

readAccelX​

Funkciófloat readAccelX()
Visszatérési típusfloat
Visszatérési értékAz X-tengely lineáris gyorsulását adja vissza G egységekben.
Használva példa sketchbenIMU
LeírásEz a függvény az on-board IMU gyorsulásának olvasására használható egy adott tengelyen. Az IMU példa megmutatja, hogyan kell használni ezt a függvényt a gyorsulás olvasásához. A gyorsulás G egységekben (9,81 m/s) van visszaadva.

readAccelY​

Funkciófloat readAccelY()
Visszatérési típusfloat
Visszatérési értékVisszaadja a lineáris gyorsulást az Y-tengelyen G egységekben.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti gyorsulásmérőjének adott tengelyéről olvassa le a gyorsulást. Az IMU példaprogram megmutatja, hogyan használható ez a függvény a gyorsulás leolvasására. A gyorsulás G egységekben (9.81 m/s) van visszaadva.

readAccelZ​

Funkciófloat readAccelZ()
Visszatérési típusfloat
Visszatérési értékVisszaadja a lineáris gyorsulást a Z-tengelyen G egységekben.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti gyorsulásmérőjének adott tengelyéről olvassa le a gyorsulást. Az IMU példaprogram megmutatja, hogyan használható ez a függvény a gyorsulás leolvasására. A gyorsulás G egységekben (9.81 m/s) van visszaadva.

readGyro​

Funkcióuint8_t readGyro(float &x, float &y, float &z)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha a mérés sikeres volt.
Paraméterek
float &x, float &y, float &z
float &x: A float változó címét adja meg, ahol az x-tengely adatai tárolódnak.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti giroszkópjának szögsebességét olvassa le. A paraméterek a tengelyenkénti float változók címei. Az IMU példaprogram megmutatja, hogyan használható ez a függvény a szögsebesség leolvasására. A szögsebesség mrad/s egységekben van visszaadva.

readGyroX​

Funkciófloat readGyroX()
Visszatérési típusfloat
Visszatérési értékVisszaadja a szögsebességet az X-tengelyen mrad/s egységekben.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti giroszkópjának adott tengelyéről olvassa le a szögsebességet. A paraméterek a tengelyenkénti float változók címei. A szögsebesség mrad/s egységekben van visszaadva.

readGyroY​

Funkciófloat readGyroY()
Visszatérési típusfloat
Visszatérési értékVisszaadja a szögsebességet az Y-tengelyen mrad/s egységekben.
Használva a példaprogrambanIMU
LeírásEz a függvény az IMU fedélzeti giroszkópjának adott tengelyéről olvassa le a szögsebességet. A paraméterek a tengelyenkénti float változók címei. A szögsebesség mrad/s egységekben van visszaadva.

readGyroZ​

Funkciófloat readGyroZ()
Visszatérési típusfloat
Visszatérési értékA Z-tengely szögsebességét adja vissza mrad/s egységben.
Használt példa vázlatbanIMU
LeírásEz a funkció a fedélzeti IMU-ról olvassa le a szögsebességet egy adott tengelyen. A paraméterek a tengelyekhez tartozó float változók címei. A szögsebesség mrad/s egységben kerül visszaadásra.

Barométer Funkciók​

readPressure​

Funkciófloat readPressure()
Visszatérési típusfloat
Visszatérési értékNyomás mbar-ban
ParaméterekNincs
Használt példa vázlatbanBaro
LeírásEz a funkció a fedélzeti barométer által jelentett nyomást adja vissza. A nyomás millibar egységben van.

readTemperature​

Funkciófloat readTemperature()
Visszatérési típusfloat
Visszatérési értékHőmérséklet Celsius-ban
ParaméterekNincs
Használt példa vázlatbanBaro
LeírásEz a funkció a fedélzeti barométer által jelentett hőmérsékletet adja vissza. A leolvasás egysége Celsius. Megjegyzendő, hogy ez a barométer által mért belső hőmérséklet, így nem feltétlenül tükrözi a külső hőmérsékletet.

SD Kártya / Fájlrendszer Funkciók​

SDCardPresent​

Funkcióbool SDCardPresent()
Visszatérési típusbool
Visszatérési értékIgaz értéket ad vissza, ha érzékeli az SD-kártyát, hamisat, ha nem.
ParaméterekNincs
Használt példa vázlatbanSD_advanced
LeírásEz a funkció arra használható, hogy ellenőrizze, az SD-kártya mechanikailag jelen van-e. Az SD-kártya csatlakozónak van egy mechanikus kapcsolója, amelyet a funkció meghívásakor olvas le. Igaz vagy hamis értéket ad vissza attól függően, hogy az SD-kártya érzékelhető-e.

appendFile​

Funkcióuint8_t appendFile(String filename, T data)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az írás sikeres volt.
Paraméterek
String filename: A fájl címe, amelyhez hozzá kell fűzni. Ha a fájl nem létezik, létrejön.
T data: Az adatok, amelyeket a fájl végére kell fűzni.
Használva a példa vázlatbanSD_write
LeírásEz az alapvető írási funkció, amelyet az olvasások SD-kártyára történő tárolására használnak.

printFileSystem​

Funkcióvoid printFileSystem()
Visszatérési típusvoid
ParaméterekNincs
Használva a példa vázlatbanSD_advanced
LeírásEz egy kis segédfunkció, amely az SD-kártyán található fájlok és mappák neveit nyomtatja ki. Fejlesztés során használható.

newDir​

Funkcióvoid newDir(String path)
Visszatérési típusvoid
Paraméterek
String path: Az új könyvtár útvonala. Ha már létezik, nem történik semmi.
Használva a példa vázlatbanSD_advanced
LeírásÚj könyvtárak létrehozására használják az SD-kártyán.

deleteDir​

Funkcióvoid deleteDir(String path)
Visszatérési típusvoid
Paraméterek
String path: A törlendő könyvtár útvonala.
Használva a példa vázlatbanSD_advanced
LeírásKönyvtárak törlésére használják az SD-kártyán.

fileExists​

Funkcióbool fileExists(String path)
Visszatérési típusbool
Visszatérési értékIgazat ad vissza, ha a fájl létezik.
Paraméterek
String path: A fájl útvonala.
Használva a példa vázlatbanSD_advanced
LeírásEz a funkció használható annak ellenőrzésére, hogy egy fájl létezik-e az SD-kártyán.

fileSize​

Funkcióuint32_t fileSize(String path)
Visszatérési típusuint32_t
Visszatérési értékA fájl mérete bájtokban.
Paraméterek
String path: A fájl elérési útja.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció a fájl méretének olvasására használható az SD-kártyán.

writeFile​

Funkcióuint8_t writeFile(String filename, T data)
Visszatérési típusuint8_t
Visszatérési érték0-t ad vissza, ha az írás sikeres volt.
Paraméterek
String filename: A fájl címzése, amelybe írni kell.
T data: Az adatok, amelyeket a fájlba kell írni.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció hasonló az appendFile()-hoz, de felülírja a meglévő adatokat az SD-kártyán. Adattároláshoz az appendFile használata javasolt. Ez a funkció hasznos lehet például beállítások tárolására.

readFile​

FunkcióString readFile(String path)
Visszatérési típusString
Visszatérési értékA fájl összes tartalma.
Paraméterek
String path: A fájl elérési útja.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció a fájl összes adatának változóba olvasására használható. Nagy fájlok olvasása problémákat okozhat, de kis fájlok, például konfigurációs vagy beállítási fájlok esetén megfelelő.

renameFile​

Funkcióvoid renameFile(String oldpath, String newpath)
Visszatérési típusvoid
Paraméterek
String oldpath: A fájl eredeti elérési útja.
String newpath: A fájl új elérési útja.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció a fájlok átnevezésére vagy áthelyezésére használható az SD-kártyán.

deleteFile​

Funkcióvoid deleteFile(String path)
Visszatérési típusvoid
Paraméterek
String path: A törlendő fájl elérési útja.
Használt példa vázlatbanSD_advanced
LeírásEz a funkció használható fájlok törlésére az SD-kártyáról.

Rádió Funkciók​

onDataReceived​

Funkcióvoid onDataReceived(String data)
Visszatérési típusvoid
Paraméterek
String data: Fogadott adat Arduino Stringként.
Használt példa vázlatbanGroundstation_receive
LeírásEz egy visszahívási funkció, amelyet akkor hívnak meg, amikor adat érkezik. A felhasználói kódnak kell definiálnia ezt a funkciót, és a CanSat NeXT automatikusan meghívja, amikor adat érkezik.

onBinaryDataReceived​

Funkcióvoid onBinaryDataReceived(const uint8_t *data, uint16_t len)
Visszatérési típusvoid
Paraméterek
const uint8_t *data: Fogadott adat uint8_t tömbként.
uint16_t len: A fogadott adat hossza bájtokban.
Használt példa vázlatbanNincs
LeírásEz hasonló az onDataReceived funkcióhoz, de az adat bináris formában van megadva a String objektum helyett. Ez haladó felhasználóknak van biztosítva, akik korlátozónak találják a String objektumot.

onDataSent​

Funkcióvoid onDataSent(const bool success)
Visszatérési típusvoid
Paraméterek
const bool success: Logikai érték, amely jelzi, hogy az adat sikeresen lett-e elküldve.
Használt példa vázlatbanNincs
LeírásEz egy másik visszahívási funkció, amely hozzáadható a felhasználói kódhoz, ha szükséges. Használható annak ellenőrzésére, hogy a vételt egy másik rádió elismerte-e.

getRSSI​

Funkcióint8_t getRSSI()
Visszatérési típusint8_t
Visszatérési értékAz utoljára fogadott üzenet RSSI értéke. 1-et ad vissza, ha az indítás óta nem érkezett üzenet.
Használt példa vázlatbanNincs
LeírásEz a funkció használható a vétel jelerősségének figyelésére. Használható antennák tesztelésére vagy a rádió hatótávolságának felmérésére. Az érték dBm-ben van kifejezve, azonban a skála nem pontos.

sendData (String változat)​

Funkcióuint8_t sendData(T data)
Visszatérési típusuint8_t
Visszatérési érték0, ha az adat elküldésre került (nem jelzi a visszaigazolást).
Paraméterek
T data: Az elküldendő adat. Bármilyen típusú adat használható, de belsőleg sztringgé konvertálódik.
Használt példa vázlatbanSend_data
LeírásEz a fő funkció az adatok küldésére a földi állomás és a műhold között. Vegye figyelembe, hogy a visszatérési érték nem jelzi, hogy az adatot ténylegesen fogadták-e, csak azt, hogy elküldték. Az onDataSent visszahívás használható annak ellenőrzésére, hogy az adatot fogadta-e a másik végpont.

sendData (Bináris változat)​

Funkcióuint8_t sendData(T* data, uint16_t len)
Visszatérési típusuint8_t
Visszatérési érték0, ha az adat elküldésre került (nem jelzi a visszaigazolást).
Paraméterek
T* data: Az elküldendő adat.
uint16_t len: Az adat hossza bájtokban.
Használt példa vázlatbanNincs
LeírásA sendData funkció bináris változata, amelyet haladó felhasználóknak biztosítanak, akik korlátozottnak érzik magukat a String objektum által.

getRSSI​

Funkcióint8_t getRSSI()
Visszatérési típusint8_t
Visszatérési értékAz utoljára fogadott üzenet RSSI-je. 1-et ad vissza, ha az indítás óta nem érkezett üzenet.
Használt példa vázlatbanNincs
LeírásEz a funkció használható a vétel jelerősségének figyelésére. Használható antennák tesztelésére vagy a rádió hatótávolságának mérésére. Az érték dBm-ben van kifejezve, azonban a skála nem pontos.

setRadioChannel​

Funkcióvoid setRadioChannel(uint8_t newChannel)
Visszatérési típusvoid
Visszatérési értékNincs
Paraméterekuint8_t newChannel: A kívánt Wi-Fi csatornaszám (1–11). Bármely 11 feletti érték 11-re lesz korlátozva.
Használt példa vázlatbanNincs
LeírásBeállítja az ESP-NOW kommunikációs csatornát. Az új csatornának a szabványos Wi-Fi csatornák (1–11) tartományában kell lennie, amelyek frekvenciái 2,412 GHz-től indulnak 5 MHz-es lépésekkel. Az 1-es csatorna 2,412, a 2-es csatorna 2,417 és így tovább. Ezt a funkciót a könyvtár inicializálása előtt hívja meg. Az alapértelmezett csatorna 1.

getRadioChannel​

Funkcióuint8_t getRadioChannel()
Visszatérési típusuint8_t
Visszatérési értékAz aktuális elsődleges Wi-Fi csatorna. 0-t ad vissza, ha hiba lép fel a csatorna lekérésekor.
Használt példa sketchbenNincs
LeírásLekéri az aktuálisan használt elsődleges Wi-Fi csatornát. Ez a funkció csak a könyvtár inicializálása után működik.

printRadioFrequency​

Funkcióvoid printRadioFrequency()
Visszatérési típusvoid
Visszatérési értékNincs
Használt példa sketchbenNincs
LeírásKiszámítja és kiírja az aktuális frekvenciát GHz-ben az aktív Wi-Fi csatorna alapján. Ez a funkció csak a könyvtár inicializálása után működik.

ADC Funkciók​

adcToVoltage​

Funkciófloat adcToVoltage(int value)
Visszatérési típusfloat
Visszatérési értékÁtalakított feszültség voltban.
Paraméterek
int value: Az átalakítandó ADC olvasás.
Használt példa sketchbenAccurateAnalogRead
LeírásEz a funkció egy kalibrált harmadrendű polinom segítségével alakítja át az ADC olvasást feszültséggé a lineárisabb átalakítás érdekében. Vegye figyelembe, hogy ez a funkció a bemeneti tűnél lévő feszültséget számítja ki, így az akkumulátor feszültségének kiszámításához figyelembe kell venni az ellenálláshálózatot is.

analogReadVoltage​

Funkciófloat analogReadVoltage(int pin)
Visszatérési típusfloat
Visszatérési értékADC feszültség voltban.
Paraméterek
int pin: A beolvasandó tű.
Használt példa sketchbenAccurateAnalogRead
LeírásEz a funkció közvetlenül olvassa a feszültséget az analogRead használata helyett, és belsőleg átalakítja az olvasást feszültséggé az adcToVoltage segítségével.