Custom Arduino IDE

Hey, je suis en train de coder un IDE Arduino pour faire de l'arduino avec un language visuel avec des nodes. Il arrive a générer un code correct et a correctement le compiler en hexa décimal (test avec l'arduino IDE).

Cependant pour televerser sur l'arduino j'essaye de "syncroniser" le bootloader de la carte pour s'assurer que la carte est bien prete a recevoir le code compilé, ca marche parfaitement sur Arduino Uno mais pas sur une Mega 2560 (elle marche et le cable aussi j'ai testé de téléverser un code depuis l'IDE)

Voici les commandes que j'envoie suivant la carte:

const STK_OK = 0x10;
const STK_INSYNC = 0x14;
const PROG_PAGE_SIZE = 128;

const SYNC_COMMANDS: Record<
  string,
  { command: Uint8Array; expected: Uint8Array; timeout: number }
> = {
  uno: {
    command: new Uint8Array([0x30, 0x20]),
    expected: new Uint8Array([STK_INSYNC, STK_OK]),
    timeout: 300,
  },
  nano: {
    command: new Uint8Array([0x30, 0x20]),
    expected: new Uint8Array([STK_INSYNC, STK_OK]),
    timeout: 500,
  },
  mega: {
    command: new Uint8Array([0x30, 0x20]),
    expected: new Uint8Array([STK_INSYNC, STK_OK]),
    timeout: 1000,
  },
};

Je me dis que c'est seulement le fait que la payload a envoyer est differentes celon les cartes mais je ne trouve pas de doc pour corriger cela.

Merci pour votre aide

Post mis dans la mauvaise section, on parle anglais dans les forums généraux, je viens de déplacer le post dans la section francophone.

Merci de prendre en compte les recommandations listées dans "Les bonnes pratiques du Forum Francophone".

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.