Hi everyone,
I am trying to get two chips up in cascaded mode. Therefor I have a few questions about the mmwavelink API. As I understood you can use the deviceMap to determine which device(s) you want to send a certain command to. This works perfectly fine when I am not in cascaded mode, even when configuring both chips at once. However, when in casceded mode, I have to power up the master first, followed by the slave. When I call the power up function for the slave, the API callback to disable the first device is issued by mmwavelink. This puts the master in reset mode - the clock turns off and I am not able to power up the slave.
I guess I am doing something wrong or did not understand how to implement the API callbacks. Do I need two instances of rlClientCbs_t, one for each client? Can they share the same callbacks? Especially the async event callback and its global variables? If it should work with one instance of rlClientCbs_t, why does powering up ones device turns off the other? The mmwavelink code is quite clear about that within the power on function:
/* if driver is already initialized */ if ((RL_NULL != rlDriverData) && (rlDriverData->isDriverInitialized == 1U)) { /* DeInitialize Device */ retVal += rlDevicePowerOff(); }
Ofcourse the driver is already initialized! So what is my mistake? Or is the mmwavelink source code wrong?
Best regards,
Fabian