Hoppa till huvudinnehåll

Biblioteksspecifikation

Funktioner

Du kan använda alla vanliga Arduino-funktioner med CanSat NeXT, samt alla Arduino-bibliotek. Arduino-funktioner kan hittas här: https://www.arduino.cc/reference/en/.

CanSat NeXT-biblioteket lägger till flera lättanvända funktioner för att använda de olika inbyggda resurserna, såsom sensorer, radio och SD-kortet. Biblioteket kommer med en uppsättning exempelprogram som visar hur man använder dessa funktioner. Listan nedan visar också alla tillgängliga funktioner.

Systeminitieringsfunktioner

CanSatInit

Funktionuint8_t CanSatInit(uint8_t macAddress[6])
Returtypuint8_t
ReturvärdeReturnerar 0 om initieringen lyckades, eller ett icke-nollvärde om det uppstod ett fel.
Parametrar
uint8_t macAddress[6]
6-byte MAC-adress som delas av satelliten och markstationen. Detta är en valfri parameter - när den inte anges, initieras inte radion. Används i exempelprogram: Alla
BeskrivningDetta kommando finns i setup() i nästan alla CanSat NeXT-skript. Det används för att initiera CanSatNeXT-hårdvaran, inklusive sensorerna och SD-kortet. Dessutom, om macAddress anges, startar det radion och börjar lyssna efter inkommande meddelanden. MAC-adressen bör delas av markstationen och satelliten. MAC-adressen kan väljas fritt, men det finns några ogiltiga adresser såsom alla byte som är 0x00, 0x01 och 0xFF. Om init-funktionen anropas med en ogiltig adress, kommer det att rapportera problemet till Serial.

CanSatInit (förenklad MAC-adresspecifikation)

Funktionuint8_t CanSatInit(uint8_t macAddress)
Returtypuint8_t
ReturvärdeReturnerar 0 om initieringen lyckades, eller ett icke-nollvärde om det uppstod ett fel.
Parametrar
uint8_t macAddress
Sista byten av MAC-adressen, används för att särskilja mellan olika CanSat-GS-par.
BeskrivningDetta är en förenklad version av CanSatInit med MAC-adress, som automatiskt ställer in de andra byten till ett känt säkert värde. Detta gör det möjligt för användarna att särskilja sina Sändare-Mottagare-par med bara ett värde, vilket kan vara 0-255.

GroundStationInit

Funktionuint8_t GroundStationInit(uint8_t macAddress[6])
Returtypuint8_t
ReturvärdeReturnerar 0 om initialiseringen lyckades, eller ett icke-nollvärde om det uppstod ett fel.
Parametrar
uint8_t macAddress[6]
6-byte MAC-adress som delas av satelliten och markstationen.
Används i exempelsketchGroundstation receive
BeskrivningDetta är en nära släkting till CanSatInit-funktionen, men den kräver alltid MAC-adressen. Denna funktion initierar endast radion, inte andra system. Markstationen kan vara vilken ESP32-kort som helst, inklusive vilken utvecklingskort som helst eller till och med ett annat CanSat NeXT-kort.

GroundStationInit (förenklad MAC-adresspecifikation)

Funktionuint8_t GroundStationInit(uint8_t macAddress)
Returtypuint8_t
ReturvärdeReturnerar 0 om initialiseringen lyckades, eller ett icke-nollvärde om det uppstod ett fel.
Parametrar
uint8_t macAddress
Sista byten av MAC-adressen, används för att särskilja mellan olika CanSat-GS-par.
BeskrivningDetta är en förenklad version av GroundStationInit med MAC-adress, som automatiskt ställer in de andra byten till ett känt säkert värde. Detta gör det möjligt för användarna att särskilja sina Sändare-Mottagare-par med bara ett värde, som kan vara 0-255.

IMU-funktioner

readAcceleration

Funktionuint8_t readAcceleration(float &x, float &y, float &z)
Returtypuint8_t
ReturvärdeReturnerar 0 om mätningen lyckades.
Parametrar
float &x, float &y, float &z
float &x: Adress till en float-variabel där x-axelns data kommer att lagras.
Används i exempelsketchIMU
BeskrivningDenna funktion kan användas för att läsa acceleration från den inbyggda IMU:n. Parametrarna är adresser till float-variabler för varje axel. Exemplet IMU visar hur man använder denna funktion för att läsa accelerationen. Accelerationen returneras i enheter av G (9,81 m/s²).

readAccelX

Funktionfloat readAccelX()
Returtypfloat
ReturvärdeReturnerar linjär acceleration på X-axeln i enheter av G.
Används i exempelsketchIMU
BeskrivningDenna funktion kan användas för att läsa acceleration från den inbyggda IMU:n på en specifik axel. Exemplet IMU visar hur man använder denna funktion för att läsa accelerationen. Accelerationen returneras i enheter av G (9,81 m/s²).

readAccelY

Funktionfloat readAccelY()
Returtypfloat
ReturvärdeReturnerar linjär acceleration på Y-axeln i enheter av G.
Används i exempelskissIMU
BeskrivningDenna funktion kan användas för att läsa acceleration från den inbyggda IMU:n på en specifik axel. Exemplet IMU visar hur man använder denna funktion för att läsa accelerationen. Accelerationen returneras i enheter av G (9,81 m/s).

readAccelZ

Funktionfloat readAccelZ()
Returtypfloat
ReturvärdeReturnerar linjär acceleration på Z-axeln i enheter av G.
Används i exempelskissIMU
BeskrivningDenna funktion kan användas för att läsa acceleration från den inbyggda IMU:n på en specifik axel. Exemplet IMU visar hur man använder denna funktion för att läsa accelerationen. Accelerationen returneras i enheter av G (9,81 m/s).

readGyro

Funktionuint8_t readGyro(float &x, float &y, float &z)
Returtypuint8_t
ReturvärdeReturnerar 0 om mätningen lyckades.
Parametrar
float &x, float &y, float &z
float &x: Adress till en float-variabel där x-axelns data kommer att lagras.
Används i exempelskissIMU
BeskrivningDenna funktion kan användas för att läsa vinkelhastighet från den inbyggda IMU:n. Parametrarna är adresser till float-variabler för varje axel. Exemplet IMU visar hur man använder denna funktion för att läsa vinkelhastigheten. Vinkelhastigheten returneras i enheter mrad/s.

readGyroX

Funktionfloat readGyroX()
Returtypfloat
ReturvärdeReturnerar vinkelhastighet på X-axeln i enheter av mrad/s.
Används i exempelskissIMU
BeskrivningDenna funktion kan användas för att läsa vinkelhastighet från den inbyggda IMU:n på en specifik axel. Parametrarna är adresser till float-variabler för varje axel. Vinkelhastigheten returneras i enheter mrad/s.

readGyroY

Funktionfloat readGyroY()
Returtypfloat
ReturvärdeReturnerar vinkelhastighet på Y-axeln i enheter av mrad/s.
Används i exempelskissIMU
BeskrivningDenna funktion kan användas för att läsa vinkelhastighet från den inbyggda IMU:n på en specifik axel. Parametrarna är adresser till float-variabler för varje axel. Vinkelhastigheten returneras i enheter mrad/s.

readGyroZ

Funktionfloat readGyroZ()
Returtypfloat
ReturvärdeReturnerar vinkelhastighet på Z-axeln i enheter av mrad/s.
Används i exempelprogramIMU
BeskrivningDenna funktion kan användas för att läsa vinkelhastighet från den inbyggda IMU:n på en specifik axel. Parametrarna är adresser till flyttalsvariabler för varje axel. Vinkelhastigheten returneras i enheter mrad/s.

Barometerfunktioner

readPressure

Funktionfloat readPressure()
Returtypfloat
ReturvärdeTryck i mbar
ParametrarInga
Används i exempelprogramBaro
BeskrivningDenna funktion returnerar tryck som rapporteras av den inbyggda barometern. Trycket är i enheter av millibar.

readTemperature

Funktionfloat readTemperature()
Returtypfloat
ReturvärdeTemperatur i Celsius
ParametrarInga
Används i exempelprogramBaro
BeskrivningDenna funktion returnerar temperatur som rapporteras av den inbyggda barometern. Enheten för avläsningen är Celsius. Observera att detta är den interna temperaturen mätt av barometern, så den kanske inte återspeglar den externa temperaturen.

SD-kort / Filsystemfunktioner

SDCardPresent

Funktionbool SDCardPresent()
Returtypbool
ReturvärdeReturnerar true om den upptäcker ett SD-kort, false om inte.
ParametrarInga
Används i exempelprogramSD_advanced
BeskrivningDenna funktion kan användas för att kontrollera om SD-kortet är mekaniskt närvarande. SD-kortkontakten har en mekanisk switch, som läses när denna funktion anropas. Returnerar true eller false beroende på om SD-kortet upptäcks.

appendFile

Funktionuint8_t appendFile(String filename, T data)
Returtypuint8_t
ReturvärdeReturnerar 0 om skrivningen lyckades.
Parametrar
String filename: Adress till filen som ska läggas till. Om filen inte finns, skapas den.
T data: Data som ska läggas till i slutet av filen.
Används i exempelsketchSD_write
BeskrivningDetta är den grundläggande skrivfunktionen som används för att lagra avläsningar på SD-kortet.

printFileSystem

Funktionvoid printFileSystem()
Returtypvoid
ParametrarInga
Används i exempelsketchSD_advanced
BeskrivningDetta är en liten hjälpfunktion för att skriva ut namn på filer och mappar som finns på SD-kortet. Kan användas i utveckling.

newDir

Funktionvoid newDir(String path)
Returtypvoid
Parametrar
String path: Sökväg till den nya katalogen. Om den redan finns, görs inget.
Används i exempelsketchSD_advanced
BeskrivningAnvänds för att skapa nya kataloger på SD-kortet.

deleteDir

Funktionvoid deleteDir(String path)
Returtypvoid
Parametrar
String path: Sökväg till katalogen som ska raderas.
Används i exempelsketchSD_advanced
BeskrivningAnvänds för att radera kataloger på SD-kortet.

fileExists

Funktionbool fileExists(String path)
Returtypbool
ReturvärdeReturnerar true om filen finns.
Parametrar
String path: Sökväg till filen.
Används i exempelsketchSD_advanced
BeskrivningDenna funktion kan användas för att kontrollera om en fil finns på SD-kortet.

fileSize

Funktionuint32_t fileSize(String path)
Returtypuint32_t
ReturvärdeStorleken på filen i byte.
Parametrar
String path: Sökväg till filen.
Används i exempelskissSD_advanced
BeskrivningDenna funktion kan användas för att läsa storleken på en fil på SD-kortet.

writeFile

Funktionuint8_t writeFile(String filename, T data)
Returtypuint8_t
ReturvärdeReturnerar 0 om skrivningen lyckades.
Parametrar
String filename: Adress till filen som ska skrivas.
T data: Data som ska skrivas till filen.
Används i exempelskissSD_advanced
BeskrivningDenna funktion liknar appendFile(), men den skriver över befintlig data på SD-kortet. För datalagring bör appendFile användas istället. Denna funktion kan vara användbar för att lagra inställningar, till exempel.

readFile

FunktionString readFile(String path)
ReturtypString
ReturvärdeAllt innehåll i filen.
Parametrar
String path: Sökväg till filen.
Används i exempelskissSD_advanced
BeskrivningDenna funktion kan användas för att läsa all data från en fil till en variabel. Försök att läsa stora filer kan orsaka problem, men det fungerar bra för små filer, såsom konfigurations- eller inställningsfiler.

renameFile

Funktionvoid renameFile(String oldpath, String newpath)
Returtypvoid
Parametrar
String oldpath: Ursprunglig sökväg till filen.
String newpath: Ny sökväg för filen.
Används i exempelskissSD_advanced
BeskrivningDenna funktion kan användas för att byta namn på eller flytta filer på SD-kortet.

deleteFile

Funktionvoid deleteFile(String path)
Returtypvoid
Parametrar
String path: Sökvägen till filen som ska raderas.
Används i exempelsketchSD_advanced
BeskrivningDenna funktion kan användas för att radera filer från SD-kortet.

Radiofunktioner

onDataReceived

Funktionvoid onDataReceived(String data)
Returtypvoid
Parametrar
String data: Mottagna data som en Arduino String.
Används i exempelsketchGroundstation_receive
BeskrivningDetta är en callback-funktion som anropas när data tas emot. Användarkoden bör definiera denna funktion, och CanSat NeXT kommer automatiskt att anropa den när data tas emot.

onBinaryDataReceived

Funktionvoid onBinaryDataReceived(const uint8_t *data, uint16_t len)
Returtypvoid
Parametrar
const uint8_t *data: Mottagna data som en uint8_t-array.
uint16_t len: Längden på mottagna data i byte.
Används i exempelsketchIngen
BeskrivningDetta liknar onDataReceived-funktionen, men data tillhandahålls som binär istället för ett String-objekt. Detta erbjuds för avancerade användare som finner String-objektet begränsande.

onDataSent

Funktionvoid onDataSent(const bool success)
Returtypvoid
Parametrar
const bool success: Boolean som indikerar om data skickades framgångsrikt.
Används i exempelsketchIngen
BeskrivningDetta är en annan callback-funktion som kan läggas till i användarkoden om det behövs. Den kan användas för att kontrollera om mottagningen bekräftades av en annan radio.

getRSSI

Funktionint8_t getRSSI()
Returtypint8_t
ReturvärdeRSSI för det senast mottagna meddelandet. Returnerar 1 om inga meddelanden har mottagits sedan start.
Används i exempelsketchIngen
BeskrivningDenna funktion kan användas för att övervaka signalstyrkan för mottagningen. Den kan användas för att testa antenner eller bedöma radioräckvidden. Värdet uttrycks i dBm, men skalan är inte exakt.

sendData (String-variant)

Funktionuint8_t sendData(T data)
Returtypuint8_t
Returvärde0 om data skickades (indikerar inte bekräftelse).
Parametrar
T data: Data som ska skickas. Alla typer av data kan användas, men konverteras internt till en sträng.
Används i exempelsketchSend_data
BeskrivningDetta är huvudfunktionen för att skicka data mellan markstationen och satelliten. Observera att returvärdet inte indikerar om data faktiskt mottogs, bara att det skickades. Callback-funktionen onDataSent kan användas för att kontrollera om datan mottogs av den andra änden.

sendData (Binär variant)

Funktionuint8_t sendData(T* data, uint16_t len)
Returtypuint8_t
Returvärde0 om data skickades (indikerar inte bekräftelse).
Parametrar
T* data: Data som ska skickas.
uint16_t len: Längden på datan i byte.
Används i exempelsketchIngen
BeskrivningEn binär variant av sendData-funktionen, tillhandahållen för avancerade användare som känner sig begränsade av String-objektet.

getRSSI

Funktionint8_t getRSSI()
Returtypint8_t
ReturvärdeRSSI för det senast mottagna meddelandet. Returnerar 1 om inga meddelanden har mottagits sedan start.
Används i exempelsketchIngen
BeskrivningDenna funktion kan användas för att övervaka signalstyrkan vid mottagning. Den kan användas för att testa antenner eller bedöma radiotäckningen. Värdet uttrycks i dBm, men skalan är inte exakt.

setRadioChannel

Funktionvoid setRadioChannel(uint8_t newChannel)
Returtypvoid
ReturvärdeIngen
Parametraruint8_t newChannel: Önskat Wi-Fi-kanalnummer (1–11). Alla värden över 11 kommer att begränsas till 11.
Används i exempelsketchIngen
BeskrivningStäller in ESP-NOW-kommunikationskanalen. Den nya kanalen måste vara inom standard Wi-Fi-kanalernas intervall (1–11), som motsvarar frekvenser från 2.412 GHz med steg om 5 MHz. Kanal 1 är 2.412, Kanal 2 är 2.417 och så vidare. Anropa denna funktion innan biblioteket initieras. Standardkanalen är 1.

getRadioChannel

Funktionuint8_t getRadioChannel()
Returtypuint8_t
ReturvärdeDen aktuella primära Wi-Fi-kanalen. Returnerar 0 om det uppstår ett fel vid hämtning av kanalen.
Används i exempelsketchIngen
BeskrivningHämtar den primära Wi-Fi-kanalen som för närvarande används. Denna funktion fungerar endast efter att biblioteket har initialiserats.

printRadioFrequency

Funktionvoid printRadioFrequency()
Returtypvoid
ReturvärdeIngen
Används i exempelsketchIngen
BeskrivningBeräknar och skriver ut den aktuella frekvensen i GHz baserat på den aktiva Wi-Fi-kanalen. Denna funktion fungerar endast efter att biblioteket har initialiserats.

ADC-funktioner

adcToVoltage

Funktionfloat adcToVoltage(int value)
Returtypfloat
ReturvärdeOmvandlad spänning i volt.
Parametrar
int value: ADC-avläsning som ska omvandlas till spänning.
Används i exempelsketchAccurateAnalogRead
BeskrivningDenna funktion omvandlar en ADC-avläsning till spänning med hjälp av en kalibrerad tredje ordningens polynom för mer linjär omvandling. Observera att denna funktion beräknar spänningen vid ingångsstiftet, så för att beräkna batterispänningen måste du också ta hänsyn till motståndsnätverket.

analogReadVoltage

Funktionfloat analogReadVoltage(int pin)
Returtypfloat
ReturvärdeADC-spänning i volt.
Parametrar
int pin: Stift som ska läsas.
Används i exempelsketchAccurateAnalogRead
BeskrivningDenna funktion läser spänning direkt istället för att använda analogRead och omvandlar avläsningen till spänning internt med hjälp av adcToVoltage.