Configuration de DCS BIOS

Un problème matériel ? Un logiciel vous fait défaut ? Tentons de régler votre problème.
Avatar du membre
Hombre
Sous-Lieutenant
Sous-Lieutenant
Messages : 459
Enregistré le : 17 octobre 2015, 19:51

Re: Configuration de DCS BIOS

Message par Hombre » 04 novembre 2018, 19:39

Salut EXO comment va?
Et bien cela fonctionne, je ne comprends pas pourquoi cela marche maintenant.
Merci.

Avatar du membre
Hombre
Sous-Lieutenant
Sous-Lieutenant
Messages : 459
Enregistré le : 17 octobre 2015, 19:51

Re: Configuration de DCS BIOS

Message par Hombre » 10 septembre 2019, 20:26

Affichage écran Oled 0.91"
J'essaie pour un essai sur l'affichage AOA. Voici

Code : Tout sélectionner

#define DCSBIOS_DEFAULT_SERIAL

#include <DcsBios.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

 

// Declaration for an SSD1306 display connected to I2C (SDA, SCL pins)
#define OLED_RESET     4 // Reset pin # (or -1 if sharing Arduino reset pin)
Adafruit_SSD1306 display(OLED_RESET);

/**** essai afficheur Oled 0.91" AOA M2000 ****/

void onAoaPosChange(unsigned int AoaPosChangeValue) {

unsigned int i;

 if (AoaPosChangeValue < 6552){i=display.println(" 9");}
 if (AoaPosChangeValue >= 6553){i=display.println("10");} 
 if (AoaPosChangeValue >= 7209){i=display.println("11");}
 if (AoaPosChangeValue >= 7864){i=display.println("12");}  
 if (AoaPosChangeValue >= 8519){i=display.println("13");} 
 if (AoaPosChangeValue >= 9175){i=display.println("14");}
 if (AoaPosChangeValue >= 13107){i=display.println("20");}  

  display.setTextSize(4);
  display.setTextColor(WHITE);
  display.setCursor(0,5); 
  display.display(); 

   
  
  display.clearDisplay();
  }
 
 
DcsBios::IntegerBuffer aoaPosBuffer(0x6024, 0xffff, 0, onAoaPosChange);

void setup() {
 DcsBios::setup();
 
  // SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
   // Clear the buffer
   display.clearDisplay();


  // Show initial display buffer contents on the screen --
  // the library initializes this with an Adafruit splash screen.
  display.display();
  
 delay(1000);  
   }
  
void loop() {
   DcsBios::loop(); 
   

}

Avatar du membre
Exo7
Lieutenant-Colonel
Lieutenant-Colonel
Messages : 804
Enregistré le : 28 décembre 2015, 00:03
Localisation : IDF - ESSONNE

Re: Configuration de DCS BIOS

Message par Exo7 » 12 septembre 2019, 20:08

Code : Tout sélectionner

if (AoaPosChangeValue >= 6553 && AoaPosChangeValue <= 7209){i=display.println("10");}
Image

Avatar du membre
Hombre
Sous-Lieutenant
Sous-Lieutenant
Messages : 459
Enregistré le : 17 octobre 2015, 19:51

Re: Configuration de DCS BIOS

Message par Hombre » 14 septembre 2019, 15:00

Merci EXO. :)
J'avais réussi. Mais en mettent les signes = il m'affichait des erreurs.
Je les ai retirer et c'est fonctionnel. Voici ce que j'ai fait.

Code : Tout sélectionner

void onGmeterNeedleChange(unsigned int newValue) {

unsigned int val;
unsigned int i;  
val =  map ( newValue,  31960,  55440,  0, 7);

  display.setTextSize(4);
  display.setTextColor(WHITE);
  display.setCursor(0,5); 
    
if (newValue >30330 && newValue<31959){i=display.println("-0,5");}
if (newValue >28710 && newValue<30329){i=display.println("-1");}
if (newValue >27090 && newValue<28709){i=display.println("-1,5");}
if (newValue >25470 && newValue<27089){i=display.println("-2");}    
if (newValue >23850 && newValue<25469){i=display.println("-2,5");} 
if (newValue >22230 && newValue<23849){i=display.println("-3");}
if (newValue >20610 && newValue<22229){i=display.println("-3,5");}    
if (newValue >18990 && newValue<20609){i=display.println("-4");} 

  display.println(val);
  display.setCursor(97,5); 
  display.println("G");
  display.display();
  
 display.clearDisplay();
Malheureusement avec la fonction "map" il refuse les valeurs négatives. Il affiche n'importe quoi. Donc j'ai crée cette bibliothèque.
J'ai essayé de faire des valeurs flottantes mais avec "int" il ne prend que des entiers. Pourtant j'ai vu certains exemples et ils disent que cela fonctionne. Bref.
Merci et merci Robin

Avatar du membre
Hombre
Sous-Lieutenant
Sous-Lieutenant
Messages : 459
Enregistré le : 17 octobre 2015, 19:51

Re: Configuration de DCS BIOS

Message par Hombre » 14 septembre 2019, 17:10

Autre problème.
J'aimerais rajouter 2 cartes Oled dans le même circuit. En testant les adresses des cartes, il me donne le même numéro d'adresse, 0x3c. Comment fait on? Si cela est possible.
Merci

Cerppo
Sous-Lieutenant
Sous-Lieutenant
Messages : 43
Enregistré le : 12 mai 2019, 12:09

Re: Configuration de DCS BIOS

Message par Cerppo » 15 septembre 2019, 20:39

Tu as les réf de tes écrans Oled ?
Ils sont connectés en I2C ( 0x3c ) c'est l'adresse du périphérique

en cherchant rapidement j'ai trouvé ça https://www.esp8266.com/viewtopic.php?f=13&t=16875

Lui il est bon (Andreas Spiess)
https://www.youtube.com/watch?v=j6B47reye80

et ça aussi
https://www.youtube.com/watch?v=RPHP4fAisz8

Avatar du membre
Hombre
Sous-Lieutenant
Sous-Lieutenant
Messages : 459
Enregistré le : 17 octobre 2015, 19:51

Re: Configuration de DCS BIOS

Message par Hombre » 16 septembre 2019, 11:47

Bonjour,

C'est chaud pour changer une résistance. Actuellement j'utilise du Oled 0.91". Par rapport au vidéo qui montre soit un changement sur du 0.96" ou un pontage d'une résistance.... Il est plus facile de mettre une résistance en paralèlle si j'ai bien compris ou changer la résistance mais laquelle

Image

Image

De plus j'ai fait un chti pro sur la lecture du Mach.
/**** essai afficheur Oled 0.91" Mach M2000 ****/



void onSpeedMachChange(unsigned int newValue) {

unsigned int val;
unsigned int val1;
unsigned int i;



val = map ( newValue, 0, 6524, 0, 99);
val1 = map ( newValue, 6525, 13048, 0, 99);

display.setTextSize(4);
display.setTextColor(WHITE);
display.setCursor(0,5);

if (newValue >0 && newValue<6524){i=display.println("0,");}
if (newValue >6524){i=display.println("1,");}

display.setCursor(45,5);
display.println(val);

display.println(val1);
display.display();

display.clearDisplay();

}

DcsBios::IntegerBuffer speedMachBuffer(0x6116, 0xffff, 0, onSpeedMachChange);

void setup() {
DcsBios::setup();

// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
// Clear the buffer
display.clearDisplay();


// Show initial display buffer contents on the screen --
// the library initializes this with an Adafruit splash screen.
display.display();

delay(500);
}

void loop() {
DcsBios::loop();


}
Image

Jusque Mach 0.99 pas de soucis. La ou ca déconne, c'est lorsqu'il arrive à Mach 1. Voici ce qu'il affiche

Image

Puis il intègre les valeurs des décimales mais décalées, alors que je lui demande sur les abscisses et ordonnées les mêmes que lorsque la mesure se trouve inférieur à Mach 1.

Image

Image

Je vois pas ou cela merde. Si un sachant peux m'aider

Cdt

Cerppo
Sous-Lieutenant
Sous-Lieutenant
Messages : 43
Enregistré le : 12 mai 2019, 12:09

Re: Configuration de DCS BIOS

Message par Cerppo » 16 septembre 2019, 19:37

Extrait de : https://forum.arduino.cc/index.php?topic=442943.0

It looks like on peut pas changer l'adresse sur ce model.

Une réponse parle aussi d'utiliser un multiplexeur .. ( ça se complique ) https://learn.adafruit.com/adafruit-tca ... t/overview
mais en même temps, si tu lis l'article ça dit : "Uh oh, this chip has a fixed I2C address, and from what I know about I2C, you cannot have two devices with the same address on the same SDA/SCL pins!"
T'as pas moyen de brancher ton 2nd Oled sur d'autres ports pour le SDA/SCL ?

NB: ton cleardisplay est toujours à la fin de ta routine d'affichage ce qui est illogique .
=> on change , on clear , on affiche.
tu fais l'inverse. Tu as donc toujours un temps de retard ( lecture rapide du code )

je ne comprends pas non plus la logique du mapping vers val et val1 avec 2 échelles différentes et affichage des 2 à des positions différentes

Avatar du membre
Hombre
Sous-Lieutenant
Sous-Lieutenant
Messages : 459
Enregistré le : 17 octobre 2015, 19:51

Re: Configuration de DCS BIOS

Message par Hombre » 17 septembre 2019, 10:37

Bonjour,
Si tu es la ce soir, on en parle vite fait
Merci

Avatar du membre
Hombre
Sous-Lieutenant
Sous-Lieutenant
Messages : 459
Enregistré le : 17 octobre 2015, 19:51

Re: Configuration de DCS BIOS

Message par Hombre » 18 septembre 2019, 18:46

C'est bizarre, car passé Mach1, au lieu d'afficher 1.01; 1.02 jusqu'à 1.09 il affiche 1.1; 1.2; 1.9 et après les valeurs sont juste.1.10; 1.11 etc...

Répondre