Difference between revisions of "BlueGiga WF121 WiFi"

From RECESSIM, A Reverse Engineering Community
Jump to navigation Jump to search
(images and UART details)
m (→‎WF121-A: PIC32 MCU model)
Line 3: Line 3:
 
Main Project Page: [[Roti_making_robot_rotimatic|Rotimatic]]
 
Main Project Page: [[Roti_making_robot_rotimatic|Rotimatic]]
  
= WF121-A =
+
=WF121-A=
 +
'''Processor: PIC32MX695F512H'''
 +
 
 
*[https://www.mouser.com/datasheet/2/52/Leaflet_WF121_lowres-4334.pdf Brochure]
 
*[https://www.mouser.com/datasheet/2/52/Leaflet_WF121_lowres-4334.pdf Brochure]
 
*[https://www.mouser.com/datasheet/2/368/Bluegiga_WF121_Datasheet-1203323.pdf Data Sheet v1.4.9 2013]
 
*[https://www.mouser.com/datasheet/2/368/Bluegiga_WF121_Datasheet-1203323.pdf Data Sheet v1.4.9 2013]
Line 10: Line 12:
 
*[https://www.silabs.com/documents/public/data-sheets/WF121-DataSheet.pdf Data Sheet v2.0.1 2024]
 
*[https://www.silabs.com/documents/public/data-sheets/WF121-DataSheet.pdf Data Sheet v2.0.1 2024]
  
== Images ==
+
==Images==
  
 
[[File:WF121-A top.png|800px]]
 
[[File:WF121-A top.png|800px]]
Line 17: Line 19:
  
  
== UART ==
+
==UART==
  
=== Developer Guide Notes/Examples ===
+
===Developer Guide Notes/Examples===
  
==== WF121 Factory Configuration ====
+
====WF121 Factory Configuration====
 
WF121 Modules are factory shipped with settings listed below.
 
WF121 Modules are factory shipped with settings listed below.
  
 
UART2 This UART gives access to BGAPI protocol, which can be used to control the WF121 Module from a separate host.
 
UART2 This UART gives access to BGAPI protocol, which can be used to control the WF121 Module from a separate host.
 +
 
*Pin 17: CTS
 
*Pin 17: CTS
 
*Pin 19: RTS
 
*Pin 19: RTS
Line 46: Line 49:
 
</pre>
 
</pre>
  
==== channel ====
+
====channel====
 +
 
 
*0: UART channel 1
 
*0: UART channel 1
 
*1: UART channel 2
 
*1: UART channel 2
Line 52: Line 56:
 
**channel="0"
 
**channel="0"
  
==== baud ====
+
====baud====
 +
 
 
*Default: 57600
 
*Default: 57600
 
*Range: 0-10000000
 
*Range: 0-10000000
Line 61: Line 66:
 
Notice that not all baud rates are possible. BGBuild compiler tries to find best match with least amount of error and outputs the result.
 
Notice that not all baud rates are possible. BGBuild compiler tries to find best match with least amount of error and outputs the result.
  
==== stopbits ====
+
====stopbits====
 +
 
 
*Range: 1-2
 
*Range: 1-2
 
*Default: 1
 
*Default: 1
Line 67: Line 73:
 
**stopbits="2"
 
**stopbits="2"
  
==== parity ====
+
====parity====
 +
 
 
*Values:
 
*Values:
 
**odd: use odd parity bit
 
**odd: use odd parity bit
Line 76: Line 83:
 
**parity:"odd"
 
**parity:"odd"
  
==== handshake ====
+
====handshake====
 
handshake RTS/CTS for data flow control
 
handshake RTS/CTS for data flow control
 +
 
*Values:
 
*Values:
 
**true: RTS/CTS flow control is used
 
**true: RTS/CTS flow control is used
Line 85: Line 93:
 
**handshake="true"
 
**handshake="true"
  
==== api ====
+
====api====
 +
 
 
*Values:
 
*Values:
 
**true: UART is used for BGAPI protocol
 
**true: UART is used for BGAPI protocol
Line 98: Line 107:
 
at the host, otherwise the module might get stuck.
 
at the host, otherwise the module might get stuck.
  
==== BGAPI / config ====
+
====BGAPI / config====
 
Using BGAPI over UART interface
 
Using BGAPI over UART interface
  

Revision as of 03:28, 19 September 2024

Used in Rotimatic as implemented with WF121-A Module & PCB

Main Project Page: Rotimatic

WF121-A

Processor: PIC32MX695F512H

Images

WF121-A top.png

WF121-A internal.png


UART

Developer Guide Notes/Examples

WF121 Factory Configuration

WF121 Modules are factory shipped with settings listed below.

UART2 This UART gives access to BGAPI protocol, which can be used to control the WF121 Module from a separate host.

  • Pin 17: CTS
  • Pin 19: RTS
  • Pin 35: RX
  • Pin 36: TX
  • Baud rate 115200bps
  • Data bits 8
  • Parity bit none
  • Stop bit(s) 1
  • RTS/CTS enabled
  • RTS and CTS must be connected for the BGAPI communication to work properly.
  • UART1 is activated, but not accessed in the factory configuration.

The corresponding hardware configuration is shown below:

<?xml version="1.0" encoding="UTF-8" ?>
<hardware>
 <uart channel="0" baud="115200" api="false" />
 <uart channel="1" baud="115200" api="true" handshake="True" />
</hardware>

channel

  • 0: UART channel 1
  • 1: UART channel 2
  • Example:
    • channel="0"

baud

  • Default: 57600
  • Range: 0-10000000
  • Some supported baud rates: 10000000, 5000000, 2500000, 2000000, 1000000, 115200, 57600
  • Example:
    • baud="115200"

Notice that not all baud rates are possible. BGBuild compiler tries to find best match with least amount of error and outputs the result.

stopbits

  • Range: 1-2
  • Default: 1
  • Example:
    • stopbits="2"

parity

  • Values:
    • odd: use odd parity bit
    • even: use even parity bit
    • none: no parity bit
  • Default: none
  • Example:
    • parity:"odd"

handshake

handshake RTS/CTS for data flow control

  • Values:
    • true: RTS/CTS flow control is used
    • false: RTS/CTS flow control is not used*
  • Default: false
  • Example:
    • handshake="true"

api

  • Values:
    • true: UART is used for BGAPI protocol
    • false: UART is used for application data
  • Default: false
  • Example:
    • api="true"

When using UART in streaming mode, it is highly recommend to use RTS api="false" /CTS data flow control (handshake="true") to ensure reliable data transfer. api UART is used for BGAPI protocol

When there should be an application receiving the BGAPI responses and events true at the host, otherwise the module might get stuck.

BGAPI / config

Using BGAPI over UART interface

The example below shows how to configure BGAPI to be used over UART2 interface with 115200 bps baud rate and hardware flow control.

<?xml version="1.0" encoding="UTF-8" ?>
<hardware>
 <uart channel="1" baud="115200" api="true" handshake="True" />
</hardware>

Using BGAPI over UART2 and enabling UART1 to BGScript application

The example below shows how to configure BGAPI to be used over UART2 interface and UART1 interface access is given to a BGScript application. This is used in multiple example applications delivered with the Bluegiga Wi-Fi Software. The purpose is for example to use UART1 for BGScript debugging and UART2 for DFU firmware updates.

<?xml version="1.0" encoding="UTF-8" ?>
<hardware>
 <uart channel="0" baud="115200" api="false" handshake="false" />
 <uart channel="1" baud="115200" api="True" handshake="True" />
</hardware>