Skip to content
This repository was archived by the owner on Jan 7, 2025. It is now read-only.
This repository was archived by the owner on Jan 7, 2025. It is now read-only.

Compatibility with Wizzilab stack #82

@ijager

Description

@ijager

Hi, I am back working on DASH7! I am testing compatibility with the WGATE-WRT gateway by Wizzilab.

Therefor I am either trying to connect the sensor_push app with the WGATE-WRT gateway. Or create a gateway that accepts one of the wizzilab demo devices.

According to Wizzilab, their gateway is configured with the following Access Profile:

AP2 (default, endpoint -> gateway)

modulation = FSK
rate = 55 kbps
bandwidth = 200 kHz
coding = FEC + whitening
rate = 1/2
TX power = 14 dBm (e.i.r.p)
scan period = 1/32 s (gateway scan)
channels = 868.1 MHz, 868.5 MHz, 869.075 MHz
duty = 3% per channel

The channel frequencies correspond to channel indices 200, 216, 239. I am trying to create the FS that is compatible with these settings:

/*! \file d7ap_fs_data.c

wizzilab_channel_header = ChannelHeader(
  channel_class=ChannelClass.NORMAL_RATE,
  channel_coding=ChannelCoding.FEC_PN9,
  channel_band=ChannelBand.BAND_868
)

# AP0
wizzilab_ap0 = AccessProfile(
  channel_header=wizzilab_channel_header,
  sub_profiles=[SubProfile(subband_bitmap=0x01, scan_automation_period=CT.compress(0))] * 4,
  sub_bands=[SubBand(eirp=14, channel_index_start=208, channel_index_end=208)] * 8
)

# AP2
wizzilab_ap2 = AccessProfile(
  channel_header=wizzilab_channel_header,
  sub_profiles=[SubProfile(subband_bitmap=0x05, scan_automation_period=CT.compress(0))] * 4,
  sub_bands=[
      SubBand(eirp=14, channel_index_start=200, channel_index_end=200),
      SubBand(eirp=14, channel_index_start=216, channel_index_end=216),
      SubBand(eirp=14, channel_index_start=239, channel_index_end=239),
      SubBand(eirp=14, channel_index_start=200, channel_index_end=200),
      SubBand(eirp=14, channel_index_start=200, channel_index_end=200),
      SubBand(eirp=14, channel_index_start=200, channel_index_end=200),
      SubBand(eirp=14, channel_index_start=200, channel_index_end=200),
      SubBand(eirp=14, channel_index_start=200, channel_index_end=200)
      ]
)

system_files = [
..
  (AccessProfileFile(0, wizzilab_ap0),                       sys_file_prop_perm),
..
  (AccessProfileFile(2, wizzilab_ap2),                        sys_file_prop_perm),
]

Then in the gateway I am selecting access class 0x21

void bootstrap()
{
  modem_interface_init(PLATFORM_MODEM_INTERFACE_UART, PLATFORM_MODEM_INTERFACE_BAUDRATE, (pin_id_t) 0, (pin_id_t) 0);
  d7ap_init();
  // listening on
  d7ap_fs_write_dll_conf_active_access_class(0x21);

And in the sensor_push app I am trying to send on 0x21

static alp_interface_config_t itf_config = (alp_interface_config_t){
  .itf_id = ALP_ITF_ID_D7ASP,
  .d7ap_session_config = {
    .qos = {
        .qos_resp_mode = SESSION_RESP_MODE_PREFERRED,
        .qos_retry_mode = SESSION_RETRY_MODE_NO
    },
    .dormant_timeout = 0,
    .addressee = {
        .ctrl = {
            .nls_method = AES_NONE,
            .id_type = ID_TYPE_NOID,
        },
        .access_class = 0x21,
        .id = { 0 }
    }
  }
};

However, in both directions I have no luck so far. Do you know if I am missing anything still?
When testing the gateway, I am running the unsolicited_response_logger.py.

Also I realized wizzilab is running D7A 1.2 vs 1.1 of this stack. Is that compatible?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions