Modifiche alle libreria InetGSM SIM900

Salve a tutti spero ci sia qualcuno che possa aiutarmi, premetto che le mie conoscenze del linguaggio C sono molto superficiali conosco Java,non mi dilungo ulteriormente e passo a spiegarvi il mio problema:

Dovrei praticamente scrivere un metodo per utilizzare il protocollo MQTT con il modulo GSM SIM 900 di Arduino, esiste già una libreria che effettua questa cosa per l'ethernet la PubSubClient ,quello che dovrei fare è utilizzare la stessa libreria per il GSM, ora penso di essere riuscito a modificare tale libreria per quello che ho detto precedentemente, mi manca di scrivere un metodo (write) per la InetGSM che faccia la setessa cosa dell'omonimo metodo della libreria ethernetClient,spero di essere stato abbastanza chiaro e più di tutto che qualcuno mi possa dare udienza anche con dei semplici consigli.

Grazie in anticipo a chi vorrà aiutarmi in questa cosa

quindi vuoi aggiungere un metodo alla libreria.

Puoi mettere i link alle librerie? hai provato a contattare l'autore?

Si ho contattato l'autore che mi ha dato qualche suggerimento, penso di essere riuscito ad implementare quasi tutto mi manca di capire come implementare un metodo write in InetGSM che faccia le stesse cose di write nell'ethernetClient ti posto la parte di codice che mi dà problemi:

boolean PubSubClientGSM::write(uint8_t header, uint8_t* buf, uint16_t length) {
   uint8_t lenBuf[4];
   uint8_t llen = 0;
   uint8_t digit;
   uint8_t pos = 0;
   uint8_t rc;
   uint8_t len = length;
   do {
      digit = len % 128;
      len = len / 128;
      if (len > 0) {
         digit |= 0x80;
      }
      lenBuf[pos++] = digit;
      llen++;
   } while(len>0);

   rc = _client->write(header);
   rc += _client->write(lenBuf,llen);
   rc += _client->write(buf,length);
   lastOutActivity = millis();
   return (rc == 1+llen+length);
   
}

praticamente la parte _client->write(); richiama,nel codice originale,il metodo write di ethernetClient,infatto_client è un oggetto di tale classe io dovrei far funzionare questa parte di codice inserendo un metodo, in inetGSM, che faccia la stessa cosa di quello della ethernet.

Ti passo il link della libreria originale:

https://github.com/knolleary/pubsubclient/downloads

Spero vivamente che tu mi possa dare una mano per me è molto importante portare a termine questa cosa... =(

Ti ho spaventato???

no, è che non ho tempo. per esempio adesso mangio e scappo a comprare i nuovo tavolo per la mia stanza/laboratorio. :smiley: