SiFLEX 02 MAC Stack

Answer

Question: Hi, I am analyzing your code base for the Siflex02 MAC stack, as provided by your website. It has a default Ping-pong test app inside, that behaves like the Ping-pong test code included in your proprietary firmware. However, I have observed that a module with your firmware on a dev board does NOT communicate at all with a module with Ping-Pong code as compiled following your dev board guidelines. Both board channels are set to 5. I thus decided to look into your code base. In tal_init.c, there is a define conditional block (#ifdef EXTERNAL_PA) which seems to enable the PA/LNA control via DIG3/DIG4 pins. However for the project as downloaded from your website, this define was DEACTIVATED. I confirmed by querying the transceiver inside its TRX_CTRL_1 register, flag PA_EXT_EN, for the PA/LNA flag, and it was indeed not activated. So I tried to correct this by defining this flag in the project options. NOw, the PA/LNA is active, but still no comm with the other default Ping/Pong chip... Are there specific config flags beside the PA/LNA one that needs to be defined, which weren 't in the project (and they should be, because we assume that project should run as is without tweaking from our part, right? Else difficult to jump start dev if we have to debug the startup project itself!) Any advice? Answer: TL, I apologize for the missing compiler definition "EXTERNAL_PA". This demo project was put together by stripping down our core firmware for the SiFLEX02 module, and the Power Amplifier compiler definition was accidentally removed when lots of other definitions that weren 't needed were removed. We didn 't notice it being a problem as the modules still communicate as expected when they are close together on a lab bench. This has been added back into the project and will be updated on our website in the next several day. In regards the you not being able to get two development boards to communicate, I think the issue as follows. First off the Ping-Pong demo application that is included with the MAC Porting Guide and Sample App is not the same as what is built into the off-the-shelf module firmware. As such you will not be able to get a development board using a module with the off-the-shelf firmware to communicate with a module that was compiled and loaded from the Porting Guide Sample App. You need to load the compiled firmware from the Porting Guide Sample App into two development boards, and then follow the instructions in the Porting Guide document to get them to talk. Essentially you need to push the User 1 button on one board, and the User 2 button on the other board, and then they should communicate. I hope this helps. Again thanks for finding and pointing out the missing compiler definition.