Probot Core: tüm sayfalar

Ayar makroları

Bu sayfa Probot Core'un #define ile değiştirilen bütün ayarlarını varsayılan değerleri ve ne işe yaradıklarıyla listeler.

Makro nasıl yazılır

Makrolar #include <probot.h> satırından önce yazılır. Sonra yazılan bir makro etkisiz kalır; şifre ve kanal ise hiç tanımlanmamış sayılır ve kod derlenmez.

#define PROBOT_WIFI_AP_SSID     "Probot"       // ağ adı
#define PROBOT_WIFI_AP_PASSWORD "Probot1234"   // zorunlu, en az 8 karakter
#define PROBOT_WIFI_AP_CHANNEL  1              // zorunlu, 1-13

#include <probot.h>

Değeri olmayan bir makro (ör. PROBOT_WIFI_AP_SSID_MAC_SUFFIX) değersiz yazılır: #define PROBOT_WIFI_AP_SSID_MAC_SUFFIX.

WiFi

Makro Varsayılan Ne yapar
PROBOT_WIFI_AP_SSID Probot-XXXXXX Robotun ağ adı. Tanımsızsa Probot adına MAC adresinden 6 karakter eklenir ve derlemede uyarı çıkar. En çok 32 karakter; MAC eki açıkken en çok 25.
PROBOT_WIFI_AP_PASSWORD yok (zorunlu) Ağ şifresi, en az 8 karakter.
PROBOT_WIFI_AP_CHANNEL yok (zorunlu) WiFi kanalı, 1-13. Driver Station'ın Logs sekmesindeki Kanal Değiştir ile kaydedilen kanal bu makronun önüne geçer. Kanal seçimi: Robotun WiFi ayarlarını yap.
PROBOT_WIFI_AUTO_CHANNEL 0 1: robot her açılışta bandı tarar ve 1, 5, 9, 13 kanallarından en boşunu seçer; açılış 2-3 saniye uzar. Bu modda da PROBOT_WIFI_AP_CHANNEL yazılmalıdır (0-13 kabul edilir). Aynı anda açılan robotlar aynı kanala düşebileceği için birden çok robotta önerilmez.
PROBOT_WIFI_AP_SSID_MAC_SUFFIX kapalı Değersiz yazılır. Ağ adının sonuna -XXXXXX (MAC adresinden 6 karakter) ekler. Aynı kodu birden çok robota yüklerken ağ adları ayrı olur.
PROBOT_WIFI_ENABLE_11B 0 1: 802.11b hızlarını açar. Yalnız 802.11g'den eski cihazlar için.
PROBOT_WIFI_PMF_REQUIRED 0 1: PMF (802.11w) zorunlu olur. Sahte bağlantı kesme saldırısını engeller; eski tabletler bağlanamayabilir.
PROBOT_CAPTIVE_PORTAL 1 Robotun ağına katılan cihazda karşılama sayfası kendiliğinden açılır. 0 kapatır.

Bağlantı güvenliği

Makro Varsayılan Ne yapar
PROBOT_INPUT_TIMEOUT_MS 500 Kumanda verisi bu kadar milisaniye gelmezse bütün eksen ve tuşlar sıfır okunur.
PROBOT_DS_OWNER_TIMEOUT_MS 5000 Robotu yöneten cihaz bu süre hiç istek göndermezse yeri boşalır; başka bir cihaz Driver Station'ı açabilir.
PROBOT_DS_TIMEOUT_MS 10000 Driver Station bu süre tamamen sessiz kalırsa bağlantı kopmuş sayılır.
PROBOT_DS_TIMEOUT_FORCE_STOP 1 1: bağlantı kopunca robot Stop'a geçer ve robotEnd() çalışır. 0: loop'lar sürer, kumanda nötr okunur, bağlantı dönünce kaldığı yerden devam eder. 0 bağlantı kopunca robotu durdurmadan bekletmek içindir (tezgahta deneme); yarışmada 1 kalmalı.

Döngü ve acil durdurma

Makro Varsayılan Ne yapar
USER_LOOP_PERIOD_MS 20 teleopLoop() ve autonomousLoop() çağrıları arasında kütüphanenin beklediği süre (ms).
PROBOT_LOOP_DEADLINE_MS 2000 Bir loop turu bu süreyi aşarsa kumanda girişleri sıfırlanır ve durum LED'i kırmızı yanıp söner. Görev durdurulmaz, kart yeniden başlamaz; tur bitince temizlenir.
PROBOT_WDT_TIMEOUT_S 8 Donanım watchdog süresi (saniye). Yalnız kütüphanenin kendi görevini izler; senin loop'un kartı yeniden başlatmaz. PROBOT_LOOP_DEADLINE_MS'den uzun kalmalı.
PROBOT_ESTOP_END_MS 500 Acil durdurmada robotEnd()'e verilen süre (ms). Aşılırsa kart yeniden başlar.
PROBOT_ESTOP_ENABLE_PIN -1 Kütüphanenin sürdüğü enable pini; -1 kapalı. Açılışta HIGH, acil durdurmada LOW olur. Motor sürücülerinin enable hattına bağlarsan acil durdurma motorları sürücü seviyesinde de keser.

LED

Makro Varsayılan Ne yapar
NEOPIXEL_PIN 3 Durum LED'inin pini. Renklerin anlamı: Durum LED'ini kullan.
NEOPIXEL_COUNT 1 LED sayısı. Kütüphane yalnız ilk LED'i boyar.
NEOPIXEL_BRIGHTNESS 32 Durum LED'inin parlaklığı, 0-255.
PROBOT_RSL_PIN -1 Sinyal lambası (RSL) pini; -1 kapalı. Robot çalışırken yanıp söner, diğer durumlarda sabit yanar.

Derleme mesajları

Makro eksik ya da hatalıysa Arduino IDE derlemeyi şu mesajlarla durdurur. Mesajlar İngilizcedir.

Mesaj Sebep
"Driver station AP password not provided. Define PROBOT_WIFI_AP_PASSWORD (>=8 chars) before including probot.h." Şifre makrosu yok ya da #include satırından sonra yazılmış.
"PROBOT_WIFI_AP_PASSWORD must be at least 8 characters." Şifre 8 karakterden kısa.
"WiFi AP channel not provided. Define PROBOT_WIFI_AP_CHANNEL (1-13) before including probot.h." Kanal makrosu yok ya da #include satırından sonra yazılmış.
"PROBOT_WIFI_AP_CHANNEL must be 1-13. ..." Kanal 1-13 dışında.
"PROBOT_WIFI_AP_CHANNEL must be 0-13 ..." PROBOT_WIFI_AUTO_CHANNEL 1 iken kanal 0-13 dışında.
"PROBOT_WIFI_AP_SSID must be 32 characters or fewer." Ağ adı 32 karakterden uzun.
"PROBOT_WIFI_AP_SSID must be 25 characters or fewer when MAC suffix is enabled." MAC eki açıkken ağ adı 25 karakterden uzun.

PROBOT_WIFI_AP_SSID hiç yazılmazsa derleme durmaz; "PROBOT_WIFI_AP_SSID not defined. Using auto-generated SSID (Probot-XXXXXX)." uyarısı çıkar.

Bu sayfada
Makro nasıl yazılırWiFiBağlantı güvenliğiDöngü ve acil durdurmaLEDDerleme mesajları