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ípus | uint8_t |
Visszatérési érték | 0-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ás | Ez 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ípus | uint8_t |
Visszatérési érték | 0-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ás | Ez 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ípus | uint8_t |
Visszatérési érték | 0-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 sketchben | Groundstation receive |
Leírás | Ez 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ípus | uint8_t |
Visszatérési érték | 0-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ás | Ez 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ípus | uint8_t |
Visszatérési érték | 0-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 sketchben | IMU |
Leírás | Ez 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ípus | float |
Visszatérési érték | Az X-tengely lineáris gyorsulását adja vissza G egységekben. |
Használva példa sketchben | IMU |
Leírás | Ez 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ípus | float |
Visszatérési érték | Visszaadja a lineáris gyorsulást az Y-tengelyen G egységekben. |
Használva a példaprogramban | IMU |
Leírás | Ez 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ípus | float |
Visszatérési érték | Visszaadja a lineáris gyorsulást a Z-tengelyen G egységekben. |
Használva a példaprogramban | IMU |
Leírás | Ez 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ípus | uint8_t |
Visszatérési érték | 0-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éldaprogramban | IMU |
Leírás | Ez 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ípus | float |
Visszatérési érték | Visszaadja a szögsebességet az X-tengelyen mrad/s egységekben. |
Használva a példaprogramban | IMU |
Leírás | Ez 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ípus | float |
Visszatérési érték | Visszaadja a szögsebességet az Y-tengelyen mrad/s egységekben. |
Használva a példaprogramban | IMU |
Leírás | Ez 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ípus | float |
Visszatérési érték | A Z-tengely szögsebességét adja vissza mrad/s egységben. |
Használt példa vázlatban | IMU |
Leírás | Ez 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ípus | float |
Visszatérési érték | Nyomás mbar-ban |
Paraméterek | Nincs |
Használt példa vázlatban | Baro |
Leírás | Ez 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ípus | float |
Visszatérési érték | Hőmérséklet Celsius-ban |
Paraméterek | Nincs |
Használt példa vázlatban | Baro |
Leírás | Ez 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ípus | bool |
Visszatérési érték | Igaz értéket ad vissza, ha érzékeli az SD-kártyát, hamisat, ha nem. |
Paraméterek | Nincs |
Használt példa vázlatban | SD_advanced |
Leírás | Ez 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ípus | uint8_t |
Visszatérési érték | 0-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ázlatban | SD_write |
Leírás | Ez 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ípus | void |
Paraméterek | Nincs |
Használva a példa vázlatban | SD_advanced |
Leírás | Ez 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ípus | void |
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ázlatban | SD_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ípus | void |
Paraméterek | |
| String path : A törlendő könyvtár útvonala. |
Használva a példa vázlatban | SD_advanced |
Leírás | Könyvtárak törlésére használják az SD-kártyán. |
fileExists
Funkció | bool fileExists(String path) |
---|
Visszatérési típus | bool |
Visszatérési érték | Igazat ad vissza, ha a fájl létezik. |
Paraméterek | |
| String path : A fájl útvonala. |
Használva a példa vázlatban | SD_advanced |
Leírás | Ez 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ípus | uint32_t |
Visszatérési érték | A fájl mérete bájtokban. |
Paraméterek | |
| String path : A fájl elérési útja. |
Használt példa vázlatban | SD_advanced |
Leírás | Ez 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ípus | uint8_t |
Visszatérési érték | 0-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ázlatban | SD_advanced |
Leírás | Ez 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ípus | String |
Visszatérési érték | A fájl összes tartalma. |
Paraméterek | |
| String path : A fájl elérési útja. |
Használt példa vázlatban | SD_advanced |
Leírás | Ez 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ípus | void |
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ázlatban | SD_advanced |
Leírás | Ez 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ípus | void |
Paraméterek | |
| String path : A törlendő fájl elérési útja. |
Használt példa vázlatban | SD_advanced |
Leírás | Ez 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ípus | void |
Paraméterek | |
| String data : Fogadott adat Arduino Stringként. |
Használt példa vázlatban | Groundstation_receive |
Leírás | Ez 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ípus | void |
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ázlatban | Nincs |
Leírás | Ez 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ípus | void |
Paraméterek | |
| const bool success : Logikai érték, amely jelzi, hogy az adat sikeresen lett-e elküldve. |
Használt példa vázlatban | Nincs |
Leírás | Ez 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. |
Funkció | int8_t getRSSI() |
---|
Visszatérési típus | int8_t |
Visszatérési érték | Az 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ázlatban | Nincs |
Leírás | Ez 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ípus | uint8_t |
Visszatérési érték | 0, 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ázlatban | Send_data |
Leírás | Ez 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ípus | uint8_t |
Visszatérési érték | 0, 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ázlatban | Nincs |
Leírás | A sendData funkció bináris változata, amelyet haladó felhasználóknak biztosítanak, akik korlátozottnak érzik magukat a String objektum által. |
Funkció | int8_t getRSSI() |
---|
Visszatérési típus | int8_t |
Visszatérési érték | Az utoljára fogadott üzenet RSSI-je. 1-et ad vissza, ha az indítás óta nem érkezett üzenet. |
Használt példa vázlatban | Nincs |
Leírás | Ez 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ípus | void |
Visszatérési érték | Nincs |
Paraméterek | uint8_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ázlatban | Nincs |
Leírás | Beá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ípus | uint8_t |
Visszatérési érték | Az 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 sketchben | Nincs |
Leírás | Leké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ípus | void |
Visszatérési érték | Nincs |
Használt példa sketchben | Nincs |
Leírás | Kiszá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ípus | float |
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 sketchben | AccurateAnalogRead |
Leírás | Ez 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ípus | float |
Visszatérési érték | ADC feszültség voltban. |
Paraméterek | |
| int pin : A beolvasandó tű. |
Használt példa sketchben | AccurateAnalogRead |
Leírás | Ez 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. |