Code Monkey home page Code Monkey logo

sme-le51-868-library's People

Contributors

eescaglia avatar smkkhw avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sme-le51-868-library's Issues

CRC issue sending data to Telit LE51-868S

Hi,

I've found an interesting issue when giving specific values to the SigFox.print function. This issue can be illustrated with the SmeIoT Library - DataModeEu Example.

In this example, if you choose to send "H", instead of "Hello":

char helloMsg[2]= {'H', 'e'};

You will get an error SFX_DATA_ACK_KO due to TELIT_SFX_SERIAL_TIMEOUT_ERROR. 😕

But, if you try this message:

char helloMsg[3]= {'H', 'e', 'l'};

Everything is fine! 😯
And if you try:

char helloMsg[1]= {0xFF};

Everything is fine again! 😮

So, let's have a look to the real message sent through in SigFox.print in SmeSFX::sfxSendData (file SmeSFX.cpp):

According to the documentation, The frame format is:
| Header | Length | Type | Sequence Number | Payload | CRC2 | CRC1 | Tailer |

We define Sequence Number = 25 for below examples.

For {'H', 'e'} the frame is:
| A5 | 2 | 1 | 25 | 48 | 65 | D5 | 0 | 5A | -> Error
For {'H', 'e', 'l'} the frame is:
| A5 | 3 | 1 | 25 | 48 | 65 | 6C | 42 | 1 | 5A | -> Success
For {0xFF} the frame is:
| A5 | 1 | 1 | 25 | FF | 26 | 1 | 5A | -> Success

So, if you haven't guessed the problem yet, let's try other values :
For {0xD9} the frame is:
| A5 | 1 | 1 | 25 | D9 | 0 | 1 | 5A | -> Error
For {0xDA} the frame is:
| A5 | 1 | 1 | 25 | DA | 1 | 1 | 5A | -> Success
For {0xFF, 0xD9} the frame is:
| A5 | 2 | 1 | 25 | FF | D9 | 0 | 2 | 5A | -> Error
For {0xFF, 0xDA} the frame is:
| A5 | 2 | 1 | 25 | FF | DA | 1 | 2 | 5A | -> Success

So, When at least one of the two CRC bytes is 0, an error occurs (The CRC is the sum of all bytes except header and tailer).

Thus, an error will occurred when (hex addition):
(Length + Type + Sequence Number) < 256
OR
(Length + Type + Sequence Number) %256 = 0

Do you think you could fix it in the SigFox module or this is an issue from the Telit chip?

Thank you!

cc @connesc for the help

Sigfox module stuck when calling "sigfox.available()"

Hi,
I have a smarteverything board and I've been creating an asset tracking application.
All was going well with callbacks until I tried to create a downlink ... since then the Sigfox module has been unusable ... in particular it gets stuck when calling sigfox.available(). No amount of resetting, powering off etc. will fix it.

Below is the problem function.
I was passing the following 12 byte data frame to the function "00 01 00 1d 43 35 00 00 42 b6 00 00"

bool sendSigfox(const void* data, uint8_t len){
  String frame = getSigfoxFrame(data, len);
  String status = "";
  char output;
  SigFox.print("AT$SF=");
  SigFox.print(frame+",1");
  SigFox.print("\r");
  while (!SigFox.available());

  while(SigFox.available()){
    output = (char)SigFox.read();
    status += output;
    delay(10);
  }
  if (status == "OK\r"){
    //Success :)
    return true;
  }
  else{
    return false;
  }
}

Any help or tips would be gratefully accepted as the Sigfox module is currently unusable :(

Inconsistent sfxSendData and sfxSendDataAck

Just for other people working with this library: I just realized that sfxSendData requires binary data while sending the payload, meanwhile the sfxSendDataAck requires the payload already converted in hex (it contains some strlen inside the method, so binary data will not work).

Moreover, sfxSendDataAck automatically changes to configuration mode if required, but sfxSendData expect this mode to be already configured. Not sure if I am missing something important..

SigFox Fw Upgrade

Hi !

So, tried updating firmware using the FwUpgrade example (didn't touch a single line, I swear !), chose sw upgrade, noticed my firmware version really wasn't up to date, proceeded with the upgrade, and... the sw upgrade failed.

So I had a totally unresponsive Telit module. Not a big deal, I unplugged the board, closed the JP1 jumper as said in the comments (doing so it lights up the D4 LED, correct ?), powered the board back on, and went with the HW upgrade. Everything went well, powered off, opened back the JP1 jumper, powered back on... and my Telit module stil isn't responding.

sfxAntenna.hasSfxAnswer() will only answer 0, and the whole module is basically useless now.

Did I miss something ?

Telit Module does not answer commands

I think I have a problem with the Telit module. The device stopped to answer any command. It does not enter in configuration mode, it does not send any message... Is there any other way to test if the module is alive?

Telit LE51-868-S is not working over long distance

Hi Everyone,
I wrote a library to use Telit LE51-868-S in star network instead of Sigfox. The chips are using addressed mode and maximum transmit power.
The two Arrow Smarteverything boards are communicating when the distance is less than 5 metres. However, for the longer distance, they fail to receive any data.
I wonder if anyone had this issue before and solved it.
Cheers.

Failing to get an answer from SigFox backend

Hi,

I am currently trying to get an answer from SigFox Backend with the smarteverything board.
I have already created a ticket for my issue on http://www.arrowsmarteverything.com/ and Mik has begun to help me. Maybe, people are in the same situation than me, so I post a message here too.

I am using Arduino Software.
I transferred into the board the example code “ SfxDownlink.ino” from the library.
This program must send and receive data from SigFox when button1 is pressed.
On SigFox backend, I set Downlink mode to “Direct” and Downlink data to “{time}{rssi}0000”.

When I press the button in order to send the data, sfxAntenna.getSfxError() does not return SME_SFX_OK but SME_SFX_KO. If I print sfxAntenna.getLastReceivedMessage(), I get: "ERROR¥¥¥¥¥¥¥¥¥¥¥¥¥"
This message is displayed as soon as I pressed the button.

Moroever, there is no green down arrow into the SigFox Backend.
In fact with the function sfxAntenna.sfxSendData(), message is displayed with a
gray up arrow. But when I use sfxAntenna.sfxSendDataAck(), nothing appears on the Backend. It seems that the message is not sent...

I could not find any information about this.
Thank you in advance for helping me with this issue.

Sigfox modul stopped working

Hello,
I had SmartEverything board for just 3 days and today sigfox module suddenly stopped sending messages (it was in the middle of the day I had it in my car and find it out tonight). I tried to use read firmware example but it doesn't return anything. Is there a way to find out if modem is completely dead? If so, I would use my warranty with RSComponents.

SmartEverything Fox in Star Network Protocol mode

Hi Everyone,

From Telit LE51-868-S datasheet, it is possible to use the module in Star Network Protocol mode as well. In this mode, it is possible to establish a point to point radio link between two Telit modules.
1- Now I wonder if the library shipped with SmartEverything provides this feature.
2- I went through the .h header file and I noticed there is not a specific function for receiving data from SigFox module. Am I mistaken or actually the receiving function is missing?

Cheers.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.