seongji-SFM / SFM_15x

it is sigfox module SDK based on nRF52 15.x
Other
8 stars 4 forks source link

Missing example code #9

Closed Yohannfra closed 3 years ago

Yohannfra commented 4 years ago

Hello,

In the SFM_12X sdk you provided some examples to make specifics things to work. We had an examples for the wifi, gps, sigfox, sensors and a full example equivalent to the actual demoMain. Those examples were really usefull and readable.

I really tried to understand the code in main_demoApp.c but it's a file of 2200 lines of code with a function of more than 900 lines... This is not readable nor usable, which is the main purpose of a sdk.

That's why i'm asking if you have or could write some examples of the same kind or at least provide a clear and working documentation about your api.

Thanks.

yepark-wisol commented 4 years ago

I understand you want the documentation, There is no further documentation plan. Even if you create a document, it will be more content than the source code. Please ask one question specifically. I'll answer you.

Yohannfra commented 4 years ago

Then here are my first questions:

How to use the white and black list for the wifi ? i saw the functions but could not make it work. I don't get how to use it properly.

How to connect to a wifi network to transfer data over the internet ?

How to make sensors and inertial unit work ? I need to use the inertial unit but I could not find anything about it nor make it work in the demoMain.c

How to go to power saving mode then wake up after a certain time ?

Thanks.

Yohannfra commented 4 years ago

I forgot a few ones

How to get a message send by sigfox to the module. I want to be able to send a sigfox message from my app to make the module send me back it's location, how can i 'listen' to upcomimg messages ?

How to check if my sigfox message was well send, there is the received_data in

void sigfox_send_payload(uint8_t * send_data, uint32_t send_data_size, uint8_t ** received_data);

but it's not an error code or something that i can use to check errors.

Thanks

yepark-wisol commented 4 years ago

. wifi result priority in demoApp

  1. white list items
  2. remain list items

. how to add whitelist and blacklist

  1. connect pc tools (see user manual)
  2. send command (see user_cmd_ssid_list_ctrl()'s comment)

. Acceleration sensor You need to develop it for your own use. See data sheet. (https://github.com/seongji-SFM/SFM_15x/blob/master/development/SFM/documentation/datasheet/BST-BMA250E-DS004-06.pdf)

yepark-wisol commented 4 years ago

call cfg_sigfox_downlink_on_off(1) before call cfg_sigfox_timers_start() When sigfox finishes running(check sigfox_check_exit_excute()), call cfg_sigfox_get_downlink_ptr()

yepark-wisol commented 4 years ago

void sigfox_send_payload(uint8_t * send_data, uint32_t send_data_size, uint8_t ** received_data) { sigfox_set_state(SETUP_S);

// set flag to decide to receive downlink
if(received_data)
    cfg_sigfox_downlink_on_off(true);
else
    cfg_sigfox_downlink_on_off(false);

// copy user data to sending buffer
cfg_bin_2_hexadecimal(send_data, (SIGFOX_SEND_PAYLOAD_SIZE>send_data_size)?send_data_size:SIGFOX_SEND_PAYLOAD_SIZE, (char *)frame_data);

// start sigfox module timer
cfg_sigfox_timers_start();

// check whether sigfox module finishes
while(!sigfox_check_exit_excute());

// stop sigfox module timer
cfg_sigfox_timers_stop();
if(received_data)
    *received_data = downlink_data;

}

yepark-wisol commented 4 years ago

How to connect to a wifi network to transfer data over the internet ? -> We do not provide api. (We only provide the scan API.) However, it is possible to use wifi bypass mode. There is an example in 12.x. https://github.com/wisol-SFM/WSSFM20Rx_12x/blob/master/development/sigfox_cfg2/source/cfg_examples.c -> ref CFG_EXAMPLES_WIFI_TCP_VIA_BYPASS

How to go to power saving mode then wake up after a certain time ? -> There is a way to set up the Wakeup Timer. (#define MAIN_IDLE_TIME_DEFAULT) If you want to wake up aperiodically, develop it yourself using the app timer. Refer to the following for how to use the Nordic API. https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Findex.html&cp=5_5_0

Yohannfra commented 4 years ago

Thanks you for those answers. Maybe we should just let this issue open so if anyone has a specific question he can ask it here.