GTC mk2

UNO R4 impossible : I2C ne fonctionne pas. On s'oriente vers un RPI PICO + wiznet5500 en 3.3V comme pour le CAA, tous les periphériques fonctionnent en 5V. les alimentations des satellites se fait en 9V (il faudra donc prévoir un convertisseur 9V-5V pour alimenter le pico (ou 3.3V??) prévoir adaptateur de niveau pour le bus I2C et TX et RX du Morph.
Solution avec un UNO R4 + Ethernet shield. le port UART sur D0/D1 est distinct de celui raccordé à USB, donc pour le morph c'est OK (et uno4 en 5V donc compatible avec le GTC existant) il faudrait juste prévoir un satellite I2C pour récupérer les positions du sélecteur. Solution plus encombrante ne nécessitant pas d'adaptation de et vers le 5V/3.3V les 6 entrées analogiques disponibles (A0 à A5) peuvent être réglées à 14bits
https://docs.arduino.cc/resources/datasheets/ABX00087-datasheet.pdf
remplacement de la bibliothèque ArdOSC par OSC, compatibilité avec les bundles.
- led multicolores (neopixel RGBW) sur les boutons de l'abalone et le voyant rouge
- capteur(s) TOF
- lecteur RFID, lecture plus rapide lorsque plusieurs carte, limiter à 4 au lieu de 2, s'inspirer du code récent fait pour la molette wifi (2 fois plus précise)
- ajouter une 2° molette ?
- ajouter piecettes ?
- ...
réseau
utilisation avec un câble croisé : donner une adresse fixe à l'ordinateur en 192,168,0,xxx en allant dans « centre réseau et partage » et modifier dans propriétés/TCP/IP V4
utilisation avec un routeur : 192.168.0.253 serveur DHCP du switch dlink dans le Morph Sensel (SSID : travel_lab/olivarpremier)(admin/olivarpremier)
optimiser l'ordinateur : enlever les programmes qui démarrent tout seul au démarrage : menu programme/démarrage et regedit/run système/options avancées : « laisser windows pour de meilleurs performances » tous les composants fonctionnent en 5V les modules envoie les messages sur le port 6666 en broadcast et reçoit sur le port 1510
Schémas :
L'interface est conçu autour d'un Raspberry PICO qui reçoit les informations des périphériques via I²C puis les transmet en OSC sur le réseau Ethernet.



a tester


necessité des resistances et led a verifier pour les 2 molettes PAS POSSIBLE d'installer des LED RGBW dans les 6 BP blancs le montage molette + BP et LED reste inchangé ajouter un autre server I2C pour 2° molette, entrée analogique pour le selector et commande de la LED rouge. Si pas de place pour une 2° molette, ajouter led rouge et entrée analogique sur le serveur I2C de la molette existante.






non ! ce sera fait avec un selecteur à 12 positions et une entrée analogique
OSC messages
Giant Travelling Clam: 192, 168, 0, 79 /GTC
Outward messages :
Morph datas
morph datas are received by the mainboard and send via OSC after treatment. 4 different modes are available :
Mode 0 : basic mode - up to 16 fingers are detected
/GTC/MD0 [finger ID] [xPos] [yPos] [total force] [area] [orientation]
/GTC/MD0/NCT [number of contacts] [bitwise state of fingers]
( ex : finger 1 =] state = 0000000000000001)
Mode 1 : gesture 1 – detect number of fingers on board, send position of first finger and distance between first and last finger.
/GTC/MD1 [finger recog] [fingers state] [xPos 1rst finger] [yPos 1rst finger]
[total force] [orientation] [distance inter fingers]
Mode 2 : gesture 2 – 10 x 7 grid detection on first finger, angle detection between first and second finger
/GTC/MD2 [cell number] [finger state] [fingerMoveX] [fingerMoveY] [velocity] [total force] [total area] [inter finger angle] [ distance inter fingers]
Mode 3 : cell split - TODO /GTC/MD3
Mode 4 : 8 vertical faders
/GTC/MD4/FD(0 to 7) [xPos] [yPos] [contactID] [total force] [area] [orientation]
/GTC/MD4/NCT [number of contacts] [bitwise state of fingers]
2 pedal buttons + 20 external box buttons + main’s 6 buttons:
/GTC/BP/00 [logic state] to /GTC/BP/27 [logic state]

displacement sensor:
modifier avec VLX0
/GTC/Dist [ valeur de 0 à 511]
LDR’s and pedal position:
/GTC/ANA [LDR0] [LDR1] [LDR2] [PEDAL val] (0 - 511)
Manual Pulse Generators:
/GTC/MPG [angular speed MPG1][angular speed MPG2][angular accel MPG1][angular accel MPG2]
RFID TAG
/GTC/TAG [val] [val] [val] [val] [val] [val] [val] (5 or 7 val according to Tag)
MODE selector:
de 0 à 11
GTC/MODE [int 0 to 7]
active sensing
/GTC/sens [secondes écoulées depuis la dernière mise en marche]
Setup control:
send states of the I2C slaves :
GTC/SETUP [string]
exemples : "Pedal connected", "WARNING Pedal not connected",
Inward messages
Morph MODE select:
GTC/MODE [int 0 to 4]
17 LED's on button box + 6 LED’s around MPG:
modification ici : les LED's de la button box sont inchangées, mais les LED du MPG et le voyant rouge sont des RGBW neopixel.
LED 6 à 22 : /GTC/SLD [LED# from 0 to 22] [0 or 1] //numeros inchangés pour retrocompatibilité - si led nb < 6, commande en blanc des led 0 à 5
LED 0 à 6 : /GTC/CLD [LED# from 0 to 6] [R 0 to 255] [G 0 to 255] [B 0 to 255] [W 0 to 255]
si reception de /GTC/VOY [0 to 255] commande de la LED RGBW du voyant rouge en rouge
/GTC/SLD [LED# from 0 to 22] [0 or 1]
if LED# is set to 255, all LEDs are switched altogether.

1 multicolor indicator light:
/GTC/VOZ [RED 0 to 16] [GREEN 0 to 16] [BLUE 0 to 16]
1 red indicator light:
devient RGBW (box 71, Led0) /GTC/LTB[6] [R 0 to 255] [G 0 to 255] [B 0 to 255] [W 0 to 255] mais peut aussi être commandé en rouge comme dans MK1
/GTC/VOY [0 to 255]
analog sensor sending frequency (3LDRs, displacement sensor):
/GTC/AnaCde [0 à 65 515 ms]
reset of minimum and maximum for 3 LDRs :
le microcontrôleur détecte automatiquement le niveau min et max d'éclairement pour réaliser la mise à l'échelle des données envoyées par GTC/ANA .
En cas de changement des conditions d'éclairement ambiant, il convient d'envoyer un message de reset des min/max.
/GTC/reset [dummy]
MPG setup :
A SUPPRIMER
- max value of totalisation 0-65535 (warp)
/GTC/MPG/S2 [set valeur 0 à 65535] - max value of totalisation 0-65535 (stop)
/GTC/MPG/S3 [set valeur 0 à 65535]si la valeur est inférieure à la valeur de la butée basse, val = min, si la valeur est supérieure à la butée haute, val = max.
- min and max stops setup :
/GTC/MPG/M3 [min 0 à 65535] [max 0 à 65535]