Sigfox downlink and callback



  • Hello, i have somes questions about how to design my software using sigfox network on lopy4
    At this time all software work on TimerCallBack for processing and my "main" contain only machine.idle() after all timer callback initialisation. My smaller timer periodicity is one second (it's important to be as more accurate as possible to run every second this callback)

    I plan to have some sigfox (RCZ1) uplink and downlink and i suppose that lopy use sx1276 or sx1272 chip, with this chip (i use it in several embedded product), i now that a sigfox TX (payload 12bytes) is about 3*(2.1+0.5) seconds and for this time (2.1s) the CPU must process DPBSK modulation "by hand" during TX phase.
    [3 for replicat frame (on different frequency), 0.5s between replicat and after an OOB frame is send]

    My question is : during this time of CPU activity (dbpsk modulation), will my callback still be running every second or not ?

    For downlink (in FSK), i am aware that we must wait 20s and the open a 25s RX windows in sigfox protocol, i would like to now is i do something like this

    ''' SfxSoc = socket.socket(socket.AF_SIGFOX, socket.SOCK_RAW)
    SfxSoc.setsockopt(socket.SOL_SIGFOX, socket.SO_RX, True) # we expect downlink msg
    SfxSoc.setblocking(True)
    SfxSoc.send(bytes([0,127,255]))
    SfxSoc.settimeout(50)
    downlink=SfxSoc.recv(32)
    SfxSoc.close() '''

    Will my callback still running every second during RX phase or not?

    In simple word, does sigfox function is blocking my callback work or processing software is really multithreaded/multicore ?



Pycom on Twitter