AVVISO
Questo repository contiene il pubblico SDK FTC per la stagione di competizione SKYSTONE (2019-2020).
In precedenza questo progetto software era ospitato qui. I team che partecipano alla sfida SKYSTONE dovrebbero utilizzare questo nuovo repository SKYSTONE invece del più vecchio (e non più aggiornato) repository ftc_app.
Benvenuti!
Questo repository GitHub contiene il codice sorgente utilizzato per creare un'app Android per controllare un robot della competizione FIRST Tech Challenge. Per utilizzare questo SDK, scarica/clona l'intero progetto sul tuo computer locale.
Per iniziare
Se sei nuovo alla robotica o alla FIRST Tech Challenge, dovresti considerare di rivedere il FTC Blocks Tutorial per familiarizzare con l'uso del sistema di controllo:
FTC Blocks Online Tutorial
Anche se sei un programmatore Java avanzato, è utile iniziare con il tutorial FTC Blocks, e poi passare al OnBot Java Tool o ad Android Studio successivamente.
Scaricare il Progetto
Se sei un programmatore Android Studio, ci sono diversi modi per scaricare questo repository. Nota che se usi Blocks o OnBot Java Tool per programmare il tuo robot, non hai bisogno di scaricare questo repository.
- Se sei un utente git, puoi clonare la versione più recente del repository:
git clone https://github.com/FIRST-Tech-Challenge/SKYSTONE.git
-
Oppure, se preferisci, puoi usare il pulsante "Download Zip" disponibile nella pagina principale del repository. Scaricare il progetto come file .ZIP manterrà gestibile la dimensione del download.
-
Puoi anche scaricare la cartella del progetto (come archivio .zip o .tar.gz) dalla sezione Download della pagina Releases di questo repository.
Una volta scaricata e decompressa (se necessario) la tua cartella, puoi usare Android Studio per importare la cartella ("Import project (Eclipse ADT, Gradle, etc.)").
Ottenere Aiuto
Documentazione per l'utente e Tutorial
FIRST mantiene documentazione online con informazioni e tutorial su come utilizzare il software FIRST Tech Challenge e il sistema di controllo del robot. Puoi accedere a questa documentazione tramite il seguente link:
SKYSTONE Online Documentation
Nota che la documentazione online è un documento "evergreen" che viene costantemente aggiornato e modificato. Contiene le informazioni più recenti sul software e sistema di controllo FIRST Tech Challenge.
Materiale di Riferimento Javadoc
La documentazione di riferimento Javadoc per l'FTC SDK è ora disponibile online. Clicca sul seguente link per visualizzare la documentazione Javadoc dell'FTC SDK come sito web live:
FTC Javadoc Documentation
La documentazione per l'FTC SDK è inclusa anche in questo repository. C'è una sottocartella chiamata "doc" che contiene diverse sottocartelle:
- La cartella "apk" contiene i file .apk per le app FTC Driver Station e FTC Robot Controller.
- La cartella "javadoc" contiene la documentazione utente JavaDoc per l'FTC SDK.
Forum utente online
Per domande tecniche riguardanti il sistema di controllo o l'FTC SDK, visita il forum FTC Technology:
FTC Technology Forum
Versione 5.2 (20190905-083227)
- Corregge i margini eccessivamente larghi nelle attività delle impostazioni e il posizionamento del nuovo pulsante di configurazione
- Aggiunge i dati dell'immagine target Vuforia di Skystone.
- Include esempi di modalità operative di navigazione Vuforia Skystone (Java).
- Include esempi di modalità operative di navigazione Vuforia Skystone (Blocks).
- Aggiunge il modello di inferenza TensorFlow (.tflite) per gli elementi di gioco Skystone.
- Include esempi di modalità operative TensorFlow Skystone (Java).
- Include esempi di modalità operative TensorFlow Skystone (Blocks).
- Rimuove le modalità operative esempio più vecchie (specifiche per stagione).
- Include supporto a 64 bit (per conformarsi ai requisiti di Google Play).
- Protegge contro gli OpMode bloccati quando viene richiesto un Riavvio Robot. (Grazie a FROGbots-4634) (ftc_app issue #709)
- Modifiche relative a Blocks:
- Corregge bug con codice generato da blocks quando il nome del dispositivo hardware è una parola riservata di java o javascript.
- Mostra il codice java generato per i blocks, anche quando gli elementi hardware mancano dalla configurazione attiva.
- Visualizza icona di avviso quando si utilizzano blocchi Vuforia e TensorFlow obsoleti (SkyStone issue #27)
Versione 5.1 (20190820-222104)
- Definisce i parametri PIDF predefiniti per i seguenti motori:
- REV Core Hex Motor
- REV 20:1 HD Hex Motor
- REV 40:1 HD Hex Motor
- Aggiunge pulsante indietro quando si esegue su un dispositivo senza pulsante indietro di sistema (come un Control Hub)
- Permette a un REV Control Hub di aggiornare il firmware su un REV Expansion Hub via USB
- Corregge SkyStone issue #9
- Corregge ftc_app issue #715
- Previene click extra DS Utente filtrando in base allo stato corrente.
- Previene cambiamenti di stato UI DS errati quando si riceve una nuova lista OpMode dal RC
- Aggiunge supporto per REV Color Sensor V3
- Aggiunge un flusso fotocamera DS ad aggiornamento manuale per visualizzare remotamente i fotogrammi della fotocamera RC.
- Per mostrare il flusso sulla DS, inizializza ma non eseguire una modalità operativa abilitata allo streaming, seleziona l'opzione Camera Stream nel menu DS e tocca l'immagine per aggiornare. Questa funzione è automaticamente abilitata quando si usa Vuforia o TFOD—nessuna configurazione RC aggiuntiva richiesta per casi d'uso tipici. Per nascondere lo stream, seleziona la stessa voce di menu di nuovo.
- Nota che i gamepad sono disabilitati e la modalità operativa selezionata non può essere avviata mentre lo stream è aperto come precauzione di sicurezza.
- Per utilizzare stream personalizzati, consulta la documentazione API per
CameraStreamServer#setSource e CameraStreamSource.
- Aggiunge molti suoni di Star Wars alle risorse del RobotController.
- Aggiunto Programma di esempio SKYSTONE Sounds Chooser.
- Sostituisce i suoni di avvio, connessione e avviso/errore con suoni di Star Wars
- Aggiorna OnBot Java per utilizzare un WebSocket per la comunicazione con il robot
- La pagina OnBot Java non deve più eseguire un refresh completo quando un utente passa dalla modifica di un file all'altro
Problemi noti:
- Camera Stream
- Il flusso fotocamera Vuforia eredita i problemi presenti nell'anteprima del telefono (ossia ftc_app issue #574). Questo problema non interessa il flusso fotocamera TFOD anche se riceve fotogrammi da Vuforia.
- L'orientamento dei fotogrammi dello stream potrebbe non corrispondere sempre all'anteprima del telefono. Per ora, questi fotogrammi possono essere ruotati manualmente tramite un
CameraStreamSource personalizzato se desiderato.
- OnBotJava
- Il pulsante indietro del browser potrebbe non funzionare sempre correttamente
- È possibile che una build venga messa in coda ma non avviata. La console di build OnBot Java mostrerà un avviso se ciò accade.
- Un utente potrebbe non rendersi conto di stare modificando un file diverso se passa involontariamente da un file all'altro poiché questo passaggio è ora senza soluzione di continuità. Il nome del file attualmente aperto è visualizzato nella scheda del browser.
Versione 5.0 (costruita il 19.06.14)
- Supporto per REV Robotics Control Hub.
- Aggiunge un pannello di anteprima Java all'editor Blocks.
- Aggiunge una nuova funzione di esportazione offline all'editor Blocks.
- Visualizza il canale wifi nel cerchio di rete sulla Driver Station.
- Aggiunge calibrazione per Logitech C270
- Aggiorna gli strumenti di build e il target SDK.
- Conformità con l'infrastruttura delle autorizzazioni di Google (richiesta dopo l'aggiornamento degli strumenti di build).
- Keep Alive per mitigare il problema di scansione wifi Motorola. Telemetry substitute non più necessaria.
- Migliora la segnalazione errori di Vuforia.
- Corregge i problemi ftctechnh/ftc_app 621, 713.
- Correzioni di bug e miglioramenti vari.
Versione 4.3 (costruita il 18.10.31)
- Include librerie e file mancanti relativi a TensorFlow.
Versione 4.2 (costruita il 18.10.30)
- Include correzione per evitare situazioni di deadlock con WatchdogMonitor che potrebbero causare errori di comunicazione USB.
- L'errore di comunicazione sembrava richiedere all'utente di scollegare il cavo USB e riavviare l'app Robot Controller per riprendere.
- robotControllerLog.txt avrebbe messaggi di errore che includevano le parole "E RobotCore: lynx xmit lock: #### abandoning lock:"
- Include correzione per elencare correttamente l'indirizzo del modulo padre per un REV Robotics Expansion Hub in un file di configurazione (.xml).
- Bug nelle versioni 4.0 e 4.1 elencava erroneamente l'indirizzo del modulo per un dispositivo REV Robotics padre come "1".
- Se il modulo padre aveva un indirizzo maggiore del modulo in catena, questo bug impediva al Robot Controller di comunicare con l'Expansion Hub a valle.
- Aggiunto requisito per ACCESS_COARSE_LOCATION per permettere a una Driver Station in esecuzione Android Oreo di eseguire la scansione di dispositivi Wi-Fi Direct.
- Aggiunto repository google() a build.gradle perché aapt2 deve essere scaricato dal repository google() a partire dalla versione 3.2 del plugin Android Gradle.
- Nota Importante: Gli utenti di Android Studio dovranno essere connessi a Internet la prima volta che compilano il progetto ftc_app.
- La connettività Internet è necessaria per la prima build in modo che i file appropriati possano essere scaricati dal repository Google.
- Gli utenti non dovrebbero aver bisogno di essere connessi a Internet per le build successive.
- Questo dovrebbe anche correggere il problema di build in cui Android Studio si lamentava che "Could not find com.android.tools.lint:lint-gradle:26.1.4" (o simile).
- Aggiunto supporto per il controller motore REV Spark Mini come parte del menu di configurazione per una porta servo/PWM sul REV Expansion Hub.
- Fornisce esempi per riprodurre file audio in una modalità operativa.
- Modifiche allo strumento di sviluppo Blocks
- Include una correzione per un problema con i blocchi Velocity che è stato segnalato nel forum FTC Technology (sottosezione Blocks Programming).
- Modificato il messaggio "File salvato con successo." in un colore bianco per contrastare con lo sfondo verde.
- Corretta la funzione "Download image" in modo che funzioni se ci sono blocchi di testo nella modalità operativa.
- Introduce supporto per la tecnologia TensorFlow Lite di Google per il rilevamento di oggetti per il gioco 2018-2019.
- TensorFlow Lite può riconoscere Gold Mineral e Silver Mineral dal gioco 2018-2019.
- Sono inclusi esempi di modalità operative Java e Blocks per mostrare come determinare la posizione relativa del blocco d'oro (sinistra, centro, destra).
Versione 4.1 (rilasciata il 18.09.24)
Modifiche includono:
- Correzione per prevenire crash quando vengono utilizzate annotazioni di configurazione deprecate.
- Modifica per permettere all'APK FTC Robot Controller di essere aggiornato automaticamente utilizzando gli script di aggiornamento Control Hub di FIRST Global.
- Rimossi esempi per hardware non supportato / non legale.
- Miglioramenti al blocco Telemetry.addData con socket "text".
- Elenco aggiornato delle modalità operative esempio Blocks per includere l'esempio Rover Ruckus Vuforia.
- Aggiornato il numero di versione della libreria SDK.
Versione 4.0 (rilasciata il 18.09.12)
Modifiche includono:
-
Supporto iniziale per telecamere compatibili UVC
- Se la fotocamera UVC ha un numero di serie unico, RC la rileverà e la enumererà per numero di serie.
- Se la fotocamera UVC manca di un numero di serie unico, RC supporterà solo una fotocamera di quel tipo collegata.
- Sono incluse impostazioni di calibrazione per alcune fotocamere (vedi TeamCode/src/main/res/xml/teamwebcamcalibrations.xml per dettagli).
- L'utente può caricare file di calibrazione dall'interfaccia web Program and Manage.
- Le fotocamere UVC sembrano assorbire una quantità considerevole di corrente elettrica dal bus USB.
- Ciò non sembra presentare problemi per REV Robotics Control Hub.
- Ciò sembra creare problemi di stabilità quando si utilizzano alcune fotocamere con un Robot Controller basato su telefono Android.
- Il Team Tecnico FTC sta indagando su opzioni per mitigare questo problema con i Robot Controller basati su telefono.
- Aggiornate le modalità operative esempio Vuforia Navigation e VuMark per dimostrare come utilizzare una fotocamera interna basata su telefono e una webcam UVC esterna.
-
Supporto per un controllo motore migliorato.
- Il firmware REV Robotics Expansion Hub 1.8 e successivi supporterà un meccanismo feed forward per il controllo motore a ciclo chiuso.
- L'SDK FTC è stato modificato per supportare coefficienti PIDF (proporzionale, integrale, derivativo e feed forward).
- Lo strumento di sviluppo FTC Blocks è stato modificato per includere blocchi di programmazione PIDF.
- Metodi e variabili più vecchi relativi a PID sono stati deprecati.
- Le modifiche PIDF di REV 1.8.x forniscono un modo più lineare e accurato per controllare un motore.
-
Wireless
- Aggiunto supporto 5GHz per il cambio di canale wireless per quei dispositivi che lo supportano.
- Testato con telefoni Moto G5 e E4.
- Testato anche con altri telefoni (attualmente non approvati) come Samsung Galaxy S8.
-
Supporto migliorato per l'aggiornamento del firmware Expansion Hub nell'app Robot Controller
- Modifiche per rendere il sistema più robusto durante il processo di aggiornamento del firmware (quando eseguito tramite l'app Robot Controller).
- L'utente non deve più scollegare un Expansion Hub a valle in catena durante l'aggiornamento del firmware di un Expansion Hub.
- Se l'utente sta aggiornando il firmware di un Expansion Hub tramite connessione USB, non deve scollegare la connessione RS485 ad altri Expansion Hub.
Versione 3.6 (compilata il 17.12.18)
Le modifiche includono:
- Modifiche ai blocchi
- Utilizza il software Google Blockly aggiornato per consentire agli utenti di modificare i loro op mode su dispositivi Apple iOS (inclusi iPad e iPhone).
- Miglioramento nello strumento Blocchi per gestire file op mode corrotti.
- Gli op mode autonomi non dovrebbero più essere reimpostati su tele-op dopo averli riaperti per la modifica.
- Il sistema può ora rilevare discrepanze di tipo durante l'esecuzione e avvisare l'utente con un messaggio sulla Driver Station.
- Documentazione javadoc aggiornata per il metodo setPower() per riflettere il range corretto di valori (-1 a +1).
- Modificato VuforiaLocalizerImpl per consentire il rendering dei fotogrammi da parte dell'utente
- Aggiunto un metodo onRenderFrame() sovrascrivibile dall'utente che viene chiamato dal metodo renderFrame() della classe.
Versione 3.5 (compilata il 17.10.30)
Le modifiche con la versione 3.5 includono:
- Introdotta una correzione per prevenire arresti casuali degli op mode, che possono verificarsi dopo che l'app Robot Controller è stata messa in pausa e poi ripresa (ad esempio, quando un utente spegne temporaneamente il display del telefono Robot Controller e poi riaccende lo schermo).
- Introdotta una correzione per prevenire arresti casuali degli op mode, precedentemente causati da eventi casuali di disconnessione peer sulla Driver Station.
- Correzione del problema per cui i file di log venivano chiusi in pausa del RC o DS, ma non riaperti al ripristino.
- Correzione del problema con il gestore della batteria (tensione) race condition start/stop.
- Correzione del problema per cui gli op mode generati da Android Studio scomparivano dall'elenco disponibile in determinate situazioni.
- Correzione del problema per cui OnBot Java non compilava su REV Robotics Control Hub.
- Correzione del problema per cui OnBot Java non compilava se la data e l'ora sul dispositivo Robot Controller erano state "riavvolte" (impostate a una data/ora precedente).
- Migliorato il messaggio di errore su OnBot Java quando la ridenominazione di un file fallisce.
- Rimosse risorse non necessarie dai binari android.jar utilizzati da OnBot Java per ridurre la dimensione finale dell'app Robot Controller.
- Aggiunto il blocco MR_ANALOG_TOUCH_SENSOR allo strumento di programmazione a blocchi (Blocks Programming Tool).
Versione 3.4 (compilata il 17.09.06)
Le modifiche con la versione 3.4 includono:
- Aggiunta istruzione telemetry.update() per il template BlankLinearOpMode.
- Rinominati gli op mode di esempio dei blocchi per essere più coerenti con gli esempi Java.
- Aggiunti ulteriori op mode di esempio dei blocchi.
- Riformulata leggermente il readme di OnBot Java.
Versione 3.3 (compilata il 17.09.04)
Questa versione del software include miglioramenti per lo strumento di programmazione a blocchi FTC Blocks e lo strumento di programmazione OnBot Java.
Le modifiche con la versione 3.3 includono:
- Il progetto Android Studio ftc_app è stato aggiornato per utilizzare Gradle Plugin 2.3.3.
- Il progetto Android Studio ftc_app utilizza già la distribuzione gradle 3.5.
- Il log del Robot Controller è stato rinominato in /sdcard/RobotControllerLog.txt (nota che questa modifica è stata effettivamente introdotta con v3.2).
- Miglioramenti nell'affidabilità I2C.
- Lettura I2C ottimizzata per REV Expansion Hub, con firmware v1.7 o superiore.
- Aggiornati tutti gli esterni/esempi (disponibili tramite OnBot e nella cartella di progetto Android).
- Vuforia
- Aggiunto supporto per VuMark che verranno utilizzati per il gioco della stagione 2017-2018.
- Blocchi
- Aggiornamento all'ultima release di Google Blockly.
- Gli op mode di esempio possono essere selezionati come template durante la creazione di un nuovo op mode.
- Risolto bug per cui i blocchi scomparivano temporaneamente quando si teneva premuto il pulsante del mouse.
- Aggiunti blocchi per Range.clip e Range.scale.
- L'utente può ora disabilitare/abilitare gli op mode a blocchi.
- Correzione per prevenire occasionali deadlock dei blocchi.
- OnBot Java
- Miglioramenti significativi con la funzione di completamento automatico per l'editor OnBot Java.
- Gli op mode di esempio possono essere selezionati come template durante la creazione di un nuovo op mode.
- Correzioni e modifiche per completare la funzione di configurazione hardware.
- Messaggio di benvenuto OnBot aggiornato (e più utile).
Known issues:
- Android Studio
- Dopo l'aggiornamento alla nuova cartella del progetto Android Studio v3.3, se si ricevono messaggi di errore che indicano "InvalidVirtualFileAccessException", potrebbe essere necessario eseguire File->Invalidate Caches / Restart per cancellare l'errore.
- OnBot Java
- A volte quando si preme il pulsante di build per compilare tutti gli op mode, il RC restituisce un messaggio di errore che la build è fallita. Se si preme il pulsante di build una seconda volta, la build di solito riesce.
Versione 3.2 (compilata il 17.08.02)
Questa versione del software introduce lo strumento di sviluppo "OnBot Java". Simile allo strumento di sviluppo FTC Blocks, lo strumento di sviluppo FTC OnBot Java consente a un utente di creare, modificare e compilare op mode dinamicamente utilizzando solo un browser web abilitato per Javascript.
Lo strumento di sviluppo OnBot Java è un ambiente di sviluppo integrato (IDE) fornito dal Robot Controller. Gli op mode vengono creati e modificati utilizzando un browser abilitato per Javascript (si consiglia Google Chrome). Gli op mode vengono salvati direttamente sul dispositivo Android del Robot Controller.
Lo strumento di sviluppo OnBot Java fornisce un ambiente di programmazione Java che NON necessita di Android Studio.
Le modifiche con la versione 3.2 includono:
-
Strumenti di sviluppo web potenziati
- Introduzione dello strumento di sviluppo OnBot Java.
- Le funzionalità di programmazione e gestione basate sul web sono "sempre attive" (l'utente non deve più mettere il Robot Controller in modalità di programmazione).
- Interfaccia di gestione basata sul web (dove l'utente può cambiare il nome del Robot Controller e scaricare facilmente il file di log del Robot Controller).
- Funzionalità OnBot Java, Blocchi e Gestione disponibili dall'interfaccia web.
-
Strumento di sviluppo di programmazione a blocchi (Blocks Programming Development Tool):
- Modificato il blocco "LynxI2cColorRangeSensor" in blocco "REV Color/range sensor".
- Corretto il tooltip per il blocco ColorSensor.isLightOn.
Aggiunti blocchi per ColorSensor.getNormalizedColors e LynxI2cColorRangeSensor.getNormalizedColors.
-
Aggiunti op mode di esempio per sensore touch digitale e sensore di distanza colore REV Robotics.
-
Temi colore selezionabili dall'utente.
-
Include molti miglioramenti e correzioni minori (troppi per elencarli).
Known issues:
- La funzione di completamento automatico è incompleta e non supporta quanto segue (per ora):
- Accesso tramite parola chiave this
- Accesso tramite parola chiave super
- Membri della superclasse, non sovrascritti dalla classe
- Qualsiasi metodo fornito nella classe corrente
- Classi interne
- Non può gestire oggetti castati
- Qualsiasi oggetto proveniente da un'espressione racchiusa tra parentesi
Versione 3.10 (compilata il 17.05.09)
Questa versione del software fornisce supporto per l'Expansion Hub REV Robotics. Questa versione include anche miglioramenti nel livello di comunicazione USB per migliorare la resilienza del sistema. Se in precedenza si utilizzava una versione 2.x del software, l'aggiornamento alla versione 3.1 richiede anche l'aggiornamento del software Driver Station oltre all'aggiornamento del software Robot Controller.
Si noti inoltre che nella versione software 3.10, i metodi setMaxSpeed e getMaxSpeed non sono più disponibili (non deprecati, sono stati rimossi dall'SDK). Si noti inoltre che il nuovo software 3.x incorpora profili motore che un utente può selezionare durante la configurazione del robot.
Le modifiche includono:
- Modifiche ai blocchi
- Aggiunti blocchi VuforiaTrackableDefaultListener.getPose e Vuforia.trackPose.
- Aggiunto supporto ottimizzato per blocchi per il tracciamento esteso di Vuforia.
- Aggiunto blocco atan2 alla categoria matematica.
- Aggiunto parametro useCompetitionFieldTargetLocations al blocco Vuforia.initialize. Se impostato su false, le posizioni di destinazione vengono poste a (0,0,0) con orientamento del target come specificato nell'op mode del tutorial https://github.com/gearsincorg/FTCVuforiaDemo/blob/master/Robot_Navigation.java.
- Incorpora ulteriori miglioramenti al livello di comunicazione USB per migliorare la resilienza del sistema (per recuperare da un numero maggiore di interruzioni della comunicazione).
Note aggiuntive sulla versione 3.00 (compilata il 17.04.13)
Oltre alle modifiche della release elencate di seguito (vedere la sezione intitolata "Versione 3.00 (compilata il 17.04.013)"), la versione 3.00 presenta le seguenti modifiche importanti:
- Il software versione 3.00 utilizza una nuova versione del FTC Robocol (protocollo robot). Se si esegue l'aggiornamento a v3.0 sul lato Robot Controller e/o Android Studio, è necessario aggiornare anche il software Driver Station per corrispondere al nuovo Robocol.
- Il software versione 3.00 rimuove i metodi setMaxSpeed e getMaxSpeed dalla classe DcMotor. Se si dispone di un op mode che utilizzava in precedenza questi metodi, sarà necessario rimuovere i riferimenti/chiamate a questi metodi. Invece, v3.0 fornisce le informazioni sulla velocità massima attraverso l'uso di profili motore selezionati dall'utente durante la configurazione del robot.
- Il software versione 3.00 attualmente non dispone di un meccanismo per disabilitare sensori i2c extra. Speriamo di reintrodurre questa funzione con una release nel prossimo futuro.
Versione 3.00 (compilata il 17.04.13)
*** Usa questa versione del software A TUO RISCHIO!!! ***
Questo software viene rilasciato come versione "alpha". Usa questa versione a tuo rischio!
Questo software di pre-release contiene modifiche SIGNIFICATIVE, incluse modifiche al meccanismo di associazione Wi-Fi Direct, riscritture delle classi dei sensori I2C, modifiche al livello USB/FTDI e l'introduzione del supporto per l'Expansion Hub REV Robotics e il sensore colore-distanza-luce REV Robotics. Queste modifiche sono state implementate per migliorare l'affidabilità e la resilienza del sistema di controllo FTC.
Si noti, tuttavia, che la versione 3.00 è considerata codice "alpha". Questo codice viene rilasciato in modo che la comunità FIRST abbia l'opportunità di testare il nuovo modulo elettronico REV Expansion Hub quando sarà disponibile a maggio. Gli sviluppatori sconsigliano di utilizzare questo codice per applicazioni critiche (ad esempio, uso in competizione).
*** Usa questa versione del software A TUO RISCHIO!!! ***
Le modifiche includono:
- Rielaborazione importante dell'infrastruttura relativa ai sensori. Include la riscrittura delle classi dei sensori per implementare la comunicazione I2C sincrona.
- Correzione per reimpostare il timer autonomo a 30 secondi.
- Implementazione di profili motore specifici per motori 12V approvati (include modelli Tetrix, AndyMark, Matrix e REV).
- Miglioramenti modesti per migliorare l'associazione Wi-Fi P2P.
- Corregge la race condition di aggiunta del log di telemetria.
- Pubblica tutte le sorgenti (non solo alcune selezionate).
- Include miglioramenti alla programmazione a blocchi
- Aggiunta di blocchi Vuforia ottimizzati.
- Barra di scorrimento automatica per le pagine progetti e suoni.
- Risolto bug di incollaggio dei blocchi.
- I blocchi vengono eseguiti dopo il ciclo while-opModeIsActive (per consentire la pulizia prima di uscire dall'op mode).
- Aggiunto blocco gyro integratedZValue.
- Corregge bug con la pagina progetti per browser Firefox.
- Aggiunto blocco IsSpeaking ad AndroidTextToSpeech.
- Implementa il supporto per l'Expansion Hub REV Robotics
- Implementa il supporto per l'IMU REV integrale (fisicamente installata sul bus I2C 0, utilizza lo stesso sensore di orientamento assoluto Bosch BNO055 a 9 assi del sensore di orientamento Adafruit 9DOF). - Implementa il supporto per il sensore colore/distanza/luce REV.
- Fornisce supporto per aggiornare il firmware dell'Expansion Hub tramite FTC SDK.
- Rileva la versione del firmware REV e la registra nel file di log.
- Include il supporto per il Control Hub REV (nota che il Control Hub REV non è ancora approvato per l'uso FTC).
- Implementa il supporto per la programmazione a blocchi FTC per l'Expansion Hub REV e l'hardware del sensore.
- Rileva e avvisa quando un dispositivo I2C si disconnette.
Versione 2.62 (compilata il 17.01.07)
- Aggiunto controllo del puntatore nullo prima di chiamare modeToByte() nel metodo finishModeSwitchIfNecessary per la classe ModernRoboticsUsbDcMotorController.
- Modifiche per migliorare la robustezza del protocollo USB Modern Robotics.
Versione 2.61 (rilasciata il 16.12.19)
- Modifiche alla modalità di programmazione a blocchi:
- Correzione per risolvere il problema quando veniva generata un'eccezione perché un oggetto OpticalDistanceSensor appare due volte nella mappa hardware (la seconda volta come LightSensor).
Versione 2.6 (rilasciata il 16.12.16)
- Correzioni per la classe Gyro:
- Miglioramento (riduzione) della latenza di aggiornamento del sensore.
- Correzione dei problemi isCalibrating.
- Modifiche alla modalità di programmazione a blocchi:
- I blocchi ora ignorano un dispositivo nel file xml di configurazione se il nome è vuoto. Altri dispositivi funzionano correttamente in configurazione.
Versione 2.5 (release interna rilasciata il 16.12.13)
- Modifiche alla modalità di programmazione a blocchi:
- Aggiunto supporto blocchi per AdafruitBNO055IMU.
- Aggiunto pulsante Download Op Mode a FtcBocks.html.
- Aggiunto supporto per copiare blocchi in un OpMode e incollarli in un altro OpMode. Il contenuto degli appunti è memorizzato sul telefono, quindi il server della modalità di programmazione deve essere in esecuzione.
- Modificata la sezione Utilities della toolbox.
- In modalità Programmazione, visualizza informazioni sulle connessioni attive.
- Corretta la posizione di incollaggio quando l'area di lavoro è stata scrollata.
- Aggiunto supporto blocchi per l'accelerometro Android.
- Risolto problema per cui il caricamento dell'op mode a blocchi troncava il nome al primo punto.
- Aggiunto supporto blocchi per Android SoundPool.
- Aggiunta type safety ai blocchi per Acceleration.
- Aggiunta type safety ai blocchi per AdafruitBNO055IMU.Parameters.
- Aggiunta type safety ai blocchi per AnalogInput.
- Aggiunta type safety ai blocchi per AngularVelocity.
- Aggiunta type safety ai blocchi per Color.
- Aggiunta type safety ai blocchi per ColorSensor.
- Aggiunta type safety ai blocchi per CompassSensor.
- Aggiunta type safety ai blocchi per CRServo.
- Aggiunta type safety ai blocchi per DigitalChannel.
- Aggiunta type safety ai blocchi per ElapsedTime.
- Aggiunta type safety ai blocchi per Gamepad.
- Aggiunta type safety ai blocchi per GyroSensor.
- Aggiunta type safety ai blocchi per IrSeekerSensor.
- Aggiunta type safety ai blocchi per LED.
- Aggiunta type safety ai blocchi per LightSensor.
- Aggiunta type safety ai blocchi per LinearOpMode.
- Aggiunta type safety ai blocchi per MagneticFlux.
- Aggiunta type safety ai blocchi per MatrixF.
- Aggiunta type safety ai blocchi per MrI2cCompassSensor.
- Aggiunta type safety ai blocchi per MrI2cRangeSensor.
- Aggiunta type safety ai blocchi per OpticalDistanceSensor.
- Aggiunta type safety ai blocchi per Orientation.
- Aggiunta type safety ai blocchi per Position.
- Aggiunta type safety ai blocchi per Quaternion.
- Aggiunta type safety ai blocchi per Servo.
- Aggiunta type safety ai blocchi per ServoController.
- Aggiunta type safety ai blocchi per Telemetry.
- Aggiunta type safety ai blocchi per Temperature.
- Aggiunta type safety ai blocchi per TouchSensor.
- Aggiunta type safety ai blocchi per UltrasonicSensor.
Versione 2.4 (rilasciata il 16.11.13)
- Correzione per evitare crash per risorse inesistenti.
- Modifiche alla modalità di programmazione a blocchi:
- Aggiunti blocchi per supportare OpenGLMatrix, MatrixF e VectorF.
- Aggiunti blocchi per supportare AngleUnit, AxesOrder, AxesReference, CameraDirection, CameraMonitorFeedback, DistanceUnit e TempUnit.
- Aggiunti blocchi per supportare Acceleration.
- Aggiunti blocchi per supportare LinearOpMode.getRuntime.
- Aggiunti blocchi per supportare MagneticFlux e Position.
- Corretti errori di battitura.
- Resi i blocchi per ElapsedTime più coerenti con altri oggetti.
- Aggiunti blocchi per supportare Quaternion, Velocity, Orientation, AngularVelocity.
- Aggiunti blocchi per supportare VuforiaTrackables, VuforiaTrackable, VuforiaLocalizer, VuforiaTrackableDefaultListener.
- Corretti alcuni blocchi.
- Aggiunto controllo dei tipi ai nuovi blocchi.
- Aggiornato all'ultimo blockly.
- Aggiunti blocchi variabili predefiniti ai blocchi di navigazione e matrice.
- Corretta la voce della toolbox per openGLMatrix_rotation_withAxesArgs.
- Quando l'utente scarica un op mode generato da blocchi, viene scaricato solo il file .blk.
- Quando l'utente carica un op mode generato da blocchi (file .blk), il codice Javascript viene generato automaticamente.
- Aggiunto supporto DbgLog.
- Aggiunta registrazione quando un file di blocchi viene letto/scritto.
- Corretto bug per il rendering corretto dei blocchi anche se mancano dispositivi dal file di configurazione.
- Aggiunto supporto per caratteri aggiuntivi (non solo alfanumerici) per i nomi dei file di blocchi (per download e upload).
- Aggiunto supporto per il flavor dell'op mode ("Autonomous" o "TeleOp") e il gruppo.
- Modifiche agli esempi per prevenire problemi nei tutorial.
- Incorporate modifiche suggerite dalla pull request pubblica 216 ("Sostituisci percorsi ..").
- Rimossi glitch dei servo quando il robot si ferma.
- Se l'utente preme "Annulla" durante la modifica di un file di configurazione, cancella le modifiche non salvate e ripristina la configurazione originale non modificata.
- Aggiunte informazioni di log per aiutare a diagnosticare perché l'app Robot Controller è stata terminata (ad esempio, dalla funzione watch dog).
- Aggiunta la possibilità di trasferire il log dal controller.
- Risolta inconsistenza per AngularVelocity
- Limitare la crescita illimitata dei dati per la telemetria. Se l'utente non chiama telemetry.update() per LinearOpMode in modo tempestivo, i dati aggiunti per la telemetria potrebbero andare persi se viene superato il limite di dimensione.**************************************************************************************
Versione 2.35 (rilasciato il 16.10.06)
- Modalità di programmazione Blockly - Rimossa chiamata idle() non necessaria dai blocchi per nuovo progetto.
Versione 2.30 (rilasciato il 16.10.05)
- Modalità di programmazione Blockly:
- Aggiunto meccanismo per salvare le modalità op Blockly dal Server della Modalità di Programmazione sul dispositivo locale
- Per evitare disordine, i blocchi sono visualizzati in cartelle categorizzate
- Aggiunto supporto per DigitalChannel
- Aggiunto supporto per ModernRoboticsI2cCompassSensor
- Aggiunto supporto per ModernRoboticsI2cRangeSensor
- Aggiunto supporto per VoltageSensor
- Aggiunto supporto per AnalogInput
- Aggiunto supporto per AnalogOutput
- Correzione per il blocco setMode di CompassSensor
- Vuforia
- Correzione deadlock / rendere disponibili i dati della fotocamera mentre Vuforia è in esecuzione.
- Aggiornamento a Vuforia 6.0.117 (consigliato da Vuforia e Google per chiudere una falla di sicurezza).
- Correzione per il bug del timer autonomo di 30 secondi (dove il timer era ancora attivo, anche se sembrava essere scaduto).
- Modifiche a opModeIsActive per consentire la pulizia dopo l'arresto della modalità op (con timeout di sicurezza forzato di 2 secondi).
- Correzione per evitare di leggere i2c due volte.
- Aggiornati esempi di modalità op.
- Logging migliorato e corretti blocchi intermittenti.
- Aggiunto esempio I/O digitale.
- Puliti i nomi dei dispositivi negli esempi di modalità op per essere coerenti con la guida Pushbot.
- Correzione per consentire l'uso di IrSeekerSensorV3.
Versione 2.20 (rilasciato il 16.09.08)
- Supporto per Modern Robotics Compass Sensor.
- Supporto per Modern Robotics Range Sensor.
- Revisione dei nomi dei dispositivi per i template Pushbot per corrispondere ai nomi usati nella guida Pushbot.
- Corretto bug per cui il dispositivo IrSeekerSensorV3 era accessibile come IrSeekerSensor in hardwareMap.
- Modificato il codice di computer vision per richiedere una licenza Vuforia individuale (per requisito legale da PTC).
- Correzioni minori.
- Miglioramenti Blockly:
- Supporto per Voltage Sensor.
- Supporto per Analog Input.
- Supporto per Analog Output.
- Supporto per Light Sensor.
- Supporto per Servo Controller.
Versione 2.10 (rilasciato il 16.09.03)
- Supporto per Adafruit IMU.
- Miglioramenti alla classe ModernRoboticsI2cGyro
- Blocco sul reset dell'asse z.
- isCalibrating() restituisce true mentre il giroscopio è in calibrazione.
- Aggiornato il programma di esempio per giroscopio.
- Miglioramenti Blockly
- supporto per android.graphics.Color.
- aggiunto supporto per ElapsedTime.
- aspetto e leggibilità dei blocchi migliorati.
- supporto per sensore bussola.
- supporto per sensore ultrasonico.
- supporto per IrSeeker.
- supporto per LED.
- supporto per sensore colore.
- supporto per CRServo
- richiedere all'utente di configurare il robot prima di usare la modalità di programmazione.
- Fornisce la possibilità di disabilitare i segnali audio.
- varie correzioni di bug e miglioramenti.
Versione 2.00 (rilasciato il 16.08.19)
- Questa è la nuova release per la prossima stagione FIRST Tech Challenge 2016-2017.
- Il cambio canale è abilitato nell'app FTC Robot Controller per telefoni Moto G 2a e 3a generazione.
- Gli utenti possono ora usare annotazioni per registrare/disabilitare le loro modalità op.
- Cambiamenti nei requisiti di Android SDK, JDK e strumenti di build (minsdk=19, java 1.7, build tools 23.0.3).
- Unità standardizzate nell'input analogico.
- Pulito il codice per le classi esistenti di sensori analogici.
- setChannelMode e getChannelMode sono stati RIMOSSI dalla classe DcMotorController. Questo è importante - non impostiamo più le modalità motore attraverso il controller motore.
- setMode e getMode sono stati aggiunti alla classe DcMotor.
- La classe ContinuousRotationServo è stata aggiunta all'FTC SDK.
- Il metodo Range.clip() è stato sovraccaricato per supportare questa operazione per interi int, short e byte.
- Sono state apportate alcune modifiche (aggiunti nuovi metodi) su come un utente può accedere agli elementi dalla mappa hardware.
- Gli utenti possono ora impostare il comportamento a potenza zero per un motore DC in modo che il motore freni o galleggi quando la potenza è zero.
- Una versione prototipo della Modalità di Programmazione Blockly è stata aggiunta a FTC Robot Controller. Gli utenti possono mettere il Robot Controller in questa modalità e poi usare un dispositivo (come un laptop) con un browser abilitato per JavaScript per scrivere modalità op basate su Blockly direttamente sul Robot Controller.
- Gli utenti possono ora configurare il robot da remoto tramite l'app FTC Driver Station.
- Il progetto Android Studio supporta Android Studio 2.1.x e compile SDK Version 23 (Marshmallow).
- Vuforia Computer Vision SDK integrato nell'FTC SDK. Gli utenti possono usare target di visione di esempio per ottenere informazioni di localizzazione su un campo FTC standard.
- La struttura del progetto è stata riorganizzata in modo che ora esista un pacchetto TeamCode che gli utenti possono usare per inserire le loro modalità op locali/personalizzate in questo pacchetto.
- La funzione di ispezione è stata integrata nelle app FTC Robot Controller e Driver Station (Grazie Team HazMat… 9277 & 10650!).
- Segnali audio sono stati incorporati nell'FTC SDK.
- Meccanismo di scambio aggiunto all'attività di configurazione del Robot Controller FTC. Ad esempio, se hai due controller motore su un robot e li hai identificati erroneamente nel file di configurazione, puoi usare il pulsante Swap per scambiare i dispositivi all'interno del file di configurazione (così non devi reinserire manualmente le informazioni di configurazione per i due dispositivi).
- Meccanismo di correzione aggiunto per permettere all'utente di sostituire facilmente un modulo elettronico. Ad esempio, supponiamo che un servo controller si rompa sul robot. Sostituisci il modulo rotto con uno nuovo, che ha un numero di serie diverso dal servo controller originale. Puoi usare il pulsante Fix per riconfigurare automaticamente il file di configurazione per utilizzare il numero di serie del nuovo modulo.
Release 16.07.08
- Per il progetto ftc_app, i file gradle sono stati modificati per supportare Android Studio 2.1.x.
Release 16.03.30
- Per MIT App Inventor, i blocchi di design hanno nuove icone che rappresentano meglio la funzione di ogni componente di design.
- Sono state apportate alcune modifiche alla logica di spegnimento per garantire lo spegnimento robusto di alcuni dei nostri servizi USB.
- È stata apportata una modifica a LinearOpMode per consentire a una data istanza di essere eseguita più di una volta, cosa richiesta per App Inventor.
- Javadoc migliorato/aggiornato.
Release 16.03.09
- Modifiche apportate per rendere l'FTC SDK sincrono (modifica significativa!)
- waitOneFullHardwareCycle() e waitForNextHardwareCycle() non sono più necessari e sono stati deprecati.
- runOpMode() (per un LinearOpMode) è ora disaccoppiato dal thread di lettura/scrittura hardware del sistema.
- loop() (per un OpMode) è ora disaccoppiato dal thread di lettura/scrittura hardware del sistema.
- I metodi sono sincroni.
- Ad esempio, se chiami setMode(DcMotorController.RunMode.RESET_ENCODERS) per un motore, l'encoder viene garantito resettato quando la chiamata al metodo è completa.
- Per il modulo legacy (compatibile NXT), l'utente non deve più alternare tra modalità di lettura e scrittura durante la lettura o scrittura su un dispositivo legacy.
- Modifiche apportate per migliorare l'affidabilità/robustezza durante eventi ESD.
- Modifiche apportate per rendere il codice thread-safe.
- Debug keystore aggiunto in modo che gli APK del robot controller generati dall'utente utilizzino tutti la stessa chiave firmata (per evitare conflitti se un team ha più laptop di sviluppo, ad esempio).
- Le informazioni sulla versione del firmware per i moduli Modern Robotics vengono ora registrate.
- Modifiche apportate per migliorare l'affidabilità e la robustezza della comunicazione USB.
- Aggiunto supporto per l'indicatore di tensione per i controller motore legacy (compatibili NXT).
- Modifiche apportate per fornire capacità di arresto automatico per le modalità op.
- Una classe LinearOpMode si fermerà quando le istruzioni in runOpMode() sono complete. L'utente non deve premere il pulsante di stop sulla driver station.
- Se una modalità op viene fermata dalla driver station, ma persiste un thread fuori controllo/non interrompibile, l'app registrerà un messaggio di errore e poi si costringerà a crashare per fermare il thread fuori controllo.
- UI della Driver Station modificata per visualizzare la tensione più bassa misurata sotto la tensione corrente (batteria da 12V).
- UI della Driver Station modificata per avere uno sfondo colorato per la tensione corrente (verde=buono, giallo=attenzione, rosso=pericolo, tensione estremamente bassa).
- javadoc migliorato (modifiche e classi aggiuntive).
- Ora di build dell'app aggiunta all'attività About per le app della driver station e del robot controller.
- Visualizza gli indirizzi IP locali nell'attività About della Driver Station.
- Aggiunto I2cDeviceSynchImpl.
- Aggiunta interfaccia I2cDeviceSync.
- Aggiunti seconds() e milliseconds() a ElapsedTime per chiarezza.
- Aggiunto getCallbackCount() a I2cDevice.
- Aggiunto clearI2cPortActionFlag mancante.
- Aggiunto codice per creare messaggi di log durante l'attesa dello spegnimento di LinearOpMode.
Release 16.02.09
- Migliorata la funzione di controllo della batteria in modo che i valori di tensione vengano aggiornati regolarmente (ogni 250 msec) sull'interfaccia utente della Driver Station (DS).
- Migliorato il software in modo che il Robot Controller (RC) sia molto più resiliente e "auto-riparante" per le disconnessioni USB:
- Se l'utente tenta di avviare/riavviare RC con uno o più moduli mancanti, visualizzerà un avviso ma si avvierà comunque.
- Durante l'esecuzione di una modalità op, se uno o più moduli vengono scollegati, RC e DS visualizzeranno avvisi e il robot continuerà a funzionare nonostante i moduli mancanti.
- Se un modulo scollegato viene riconnesso fisicamente, RC rileverà automaticamente il modulo e l'utente riprenderà il controllo del modulo appena riconnesso.
- I messaggi di avviso sono più utili (identificano il tipo di modulo mancante più il suo numero di serie USB).
- Modifiche al codice per correggere il riferimento al gamepad null quando gli utenti tentano di fare riferimento ai gamepad nella parte init() della loro modalità op.
- L'output del sensore di luce NXT ora è correttamente scalato. Nota che i team potrebbero dover regolare nuovamente i valori di soglia della luce nelle loro modalità op.
- Sull'interfaccia utente DS, l'icona del gamepad per un driver scomparirà se il gamepad corrispondente è disconnesso o se quel gamepad viene designato per un driver diverso.
- Le informazioni sulla versione del protocollo robot (ROBOCOL) sono visualizzate nella schermata About delle app RC e DS.
- Incorporato un filtro di visualizzazione sulla schermata di accoppiamento per filtrare i dispositivi che non utilizzano il formato "-". Questo filtro può essere disattivato per mostrare tutti i dispositivi WiFi Direct.
- Testo aggiornato nel file di licenza.
- Corretto errore di formattazione in OpticalDistanceSensor.toString().
- Corretto problema con un nome di dispositivo vuoto ("") che avrebbe interrotto l'accoppiamento WiFi Direct.
- Apportata una modifica in modo che le informazioni WiFi e batteria possano essere visualizzate più rapidamente sulla DS dopo la connessione a RC.
- Migliorata la generazione javadoc.
- Modificato il codice per facilitare la localizzazione linguistica in futuro.
Release 16.01.04
- Aggiornato compileSdkVersion per le app
- Impedito al WiFi di entrare in modalità di risparmio energetico
- Rimosso import inutilizzato dalla driver station
- Corretto codice joystick "zona morta".
- LED.getDeviceName e .getConnectionInfo() restituiscono null
- Le app controllano la mancata corrispondenza di ROBOCOL_VERSION
- Correzione per la telemetria: errori di dimensione dei dati stringa / limiti di dimensione corta
- L'output di telemetria utente è ordinato.
- Aggiunte varianti di formattazione alle API DbgLog e RobotLog
- Codice modificato per consentire una lunga lista di nomi di modalità op.
- Modifiche per migliorare la sicurezza dei thread di RobocolDatagramSocket
- Correzione per l'errore "hardware mancante lascia il robot controller disconnesso dalla driver station"
- Correzione per "pressione rapida di Init/Start causa problemi" (il toast ora viene istanziato solo sul thread UI).
- Aggiunte alcune istruzioni di log per il ciclo di vita dei thread.
- Spostata la logica di reset del gamepad all'interno di initActiveOpMode() per robustezza
- Modifiche apportate per mitigare il rischio di race condition sui metodi pubblici.
- Modifiche per tentare di segnalare quando il nome WiFi Direct contiene caratteri non stampabili.
- Correzione per correggere la race condition tra .run() e .close() in ReadWriteRunnableStandard.
- Aggiornato driver FTDI
- Rende pubblica l'interfaccia ReadWriteRunnableStanard.
- Corretti errori di off-by-one nel costruttore Command
- Spostate implementazioni hardware specifiche nel proprio pacchetto.
- Spostate implementazioni specifiche del gamepad nella libreria hardware.
- Modificato file LICENSE alla nuova versione BSD.
- Corretta race condition durante lo spegnimento dei dispositivi USB Modern Robotics.
- I metodi nelle classi ColorSensor sono stati sincronizzati.
- Corretto stato isBusy() per riflettere la fine del movimento.
- Corretto codice tasto "indietro".
- Il metodo notSupported() della classe GyroSensor è stato cambiato in protected (non dovrebbe essere public).
Release 15.11.04.001
- Aggiunto supporto per Modern Robotics Gyro.
- La classe GyroSensor ora supporta il sensore MR Gyro.
- Gli utenti possono accedere ai dati di heading (attorno all'asse Z)
- Gli utenti possono anche accedere ai dati grezzi del giroscopio (assi X, Y e Z).
- Incluso esempio di modalità op MRGyroTest.java.
- Migliorati i messaggi di errore
- Messaggi di errore più descrittivi per eccezioni nel codice utente.
- Aggiornata API DcMotor
- Abilita modalità lettura sul nuovo indirizzo in setI2cAddress
- Correzione in modo che l'app della driver station resetti i gamepad quando si cambiano le modalità op.
- Modifiche al codice relativo all'USB per rendere la comunicazione USB più reattiva e per visualizzare messaggi di errore più espliciti.
- Correzione in modo che l'USB si riprenda correttamente se il bus USB restituisce dati spazzatura.
- Corretta race condition di inizializzazione USB.
- Migliore segnalazione degli errori durante l'apertura FTDI.
- Messaggi più espliciti durante i guasti USB.
- Corretto bug in modo che il dispositivo USB venga chiuso se il metodo di smontaggio del ciclo eventi non è stato chiamato.
- Corretto problema UI del timer
- Corretto bug UI del nome duplicato (configurazione modulo legacy).
- Corretta race condition in EventLoopManager.
- Correzione per mantenere i riferimenti stabili durante l'aggiornamento del gamepad.
- Per i controller motore/servo legacy Matrix, rimossa la necessità di aggiungere "Motor" e "Servo" ai nomi dei controller.
- Aggiornato driver sensore colore HT per utilizzare costanti dalla classe ModernRoboticsUsbLegacyModule.
- Aggiornato driver sensore colore MR per utilizzare costanti dalla classe ModernRoboticsUsbDeviceInterfaceModule.
- Gestire correttamente il cambio di indirizzo I2C in tutti i sensori colore
- Aggiornate/pulite le modalità op.
- Commenti aggiornati nell'esempio di modalità op LinearI2cAddressChange.java.
- Sostituite le chiamate a "setChannelMode" con "setMode" (per corrispondere al nuovo nome del metodo DcMotor).
- Rimossa modalità op K9AutoTime.java.
- Aggiunta modalità op MRGyroTest.java (mostra come usare il sensore MR Gyro).
- Aggiunta modalità op MRRGBExample.java (mostra come usare il sensore colore MR).
- Aggiunta modalità op HTRGBExample.java (mostra come usare il sensore colore legacy HT).
- Aggiunto MatrixControllerDemo.java (mostra come usare il controller legacy Matrix).
- Aggiornata documentazione javadoc.
- Aggiornati file .apk delle release per le app Robot Controller e Driver Station.
T. Eng
5 Novembre 2015
Release 15.10.06.002
- Aggiunto supporto per il controller motore/servo legacy Matrix 9.6V.
- Pulito file build.gradle.
- Correzioni minori UI e bug per le app driver station e robot controller.
- Genera errore se il sensore ultrasonico (NXT) non è configurato per la porta 4 o 5 del modulo legacy.
T. Eng
6 Ottobre 2015
In questa ultima versione dell'FTC SDK (20150803_001) si devono notare le seguenti modifiche:
- Nuove interfacce utente per le app FTC Driver Station e FTC Robot Controller.
- Un metodo init() è stato aggiunto alla classe OpMode.
- Per questa release, init() viene attivato subito prima del metodo start().
- Alla fine, il metodo init() verrà attivato quando l'utente preme il pulsante "INIT" sulla driver station.
- I metodi init() e loop() sono ora obbligatori (cioè devono essere sovrascritti nella modalità op dell'utente).
- I metodi start() e stop() sono opzionali.
- Una nuova classe LinearOpMode è stata introdotta.
- I team possono usare la modalità LinearOpMode per creare un modello di programma lineare (non guidato da eventi).
- I team possono usare istruzioni bloccanti come Thread.sleep() all'interno di una modalità op lineare.
- L'API per il Legacy Module e il Core Device Interface Module sono state aggiornate.
- Il supporto per gli encoder con il Legacy Module ora funziona.
- Il loop hardware è stato aggiornato per migliori prestazioni.
T. Eng
3 Agosto 2015