EM500W Platform
Hardware Devices Covered by This Platform
- EM500 programmable IoT module (optionally, with the GA1000 Wi-Fi add-on module)
- Other devices incorporating the EM500
Memory Space and Key Info
RAM |
17,920 bytes for application variables and data |
Flash |
327,680 bytes for application storage, data cannot be stored in this memory |
EEPROM |
200 bytes for application data |
16-bit platform |
|
Clock frequency (CLOCK) and clock control |
Frequency is fixed at 80MHz |
Available network interfaces |
Ethernet (net.), Wi-Fi (wln.) , PPP (ppp.), PPPoE (pppoe.)(1) |
Bidirectional(2) |
|
UART limitations |
Max practical baudrate ~115,200bps |
16 bytes for TX, 16 bytes for RX |
|
N/A (as all GPIO lines are bidirectional) |
|
Independent |
|
Supported(3) |
|
ADC |
NO |
Pulse-width Modulation (PWM) |
NO |
GA1000 support |
YES |
WA2000 support |
NO |
Not supported(4) |
|
beep.divider calculation |
N/A (buzzer not supported) |
N/A (buzzer not supported) |
|
Display not supported |
|
28 bytes for MAC and device password storage |
|
4 bytes, the number can't be changed |
|
Dedicated memory for firmware/application Data cannot be stored in this memory |
|
Self-upgrades for Tibbo BASIC/C applications |
Not supported |
Green status (SG) LED control line Red status (SR) LED control line Patented Ethernet link status indication mechanism: LED brightness indicates link status |
|
Ethernet / UDP Broadcast transport Ethernet / WinPCap transport |
- The sock.allowedinterfaces property refers to the Ethernet interface as "NET," Wi-Fi as "WLN," PPP as "PPP," and PPPoE as "PPPOE." The sock.targetinterface and sock.currentinterface properties rely on the pl_sock_interfaces enum, whose members differ depending on the platform.
- Surrounding hardware may dictate which GPIO lines must be used as inputs and which as outputs.
- CTS is permanently mapped to 0 — PL_INT_NUM_0 (0 — PL_IO_NUM_0_INT0). RTS is permanently mapped to 2 — PL_IO_NUM_2.
- Connect the GA1000 add-on module as follows (also see schematic diagram C in Connecting GA1000 and WA2000):
CS |
|
CLK |
|
DI |
5 — PL_IO_NUM_5 (yes, the DI and DO lines are on the same GPIO line) |
DO |
|
RST |
Choose any suitable GPIO or use NAND gates to generate reset |
Supported Objects, Variable Types, and Functions
- button — monitors the MD line (setup button)
- fd* — manages flash memory file system and direct sector access (requires an externally connected flash IC)
- io — handles I/O lines, ports, and interrupts
- net — controls the Ethernet port
- pat — "plays" patterns on a pair of LEDs
- ppp — provides access to the Internet over a serial modem (GPRS, POTS, etc.)
- pppoe — provides access to the Internet over an ADSL modem
- romfile — facilitates access to resource files (fixed data);
- ser — in charge of the serial port (UART, Wiegand, and clock/data modes)
- sock — socket communications (up to 16 UDP, TCP, and HTTP sessions)
- stor — provides access to the EEPROM
- sys — in charge of general device functionality
- wln — handles the Wi-Fi interface (requires the GA1000)
* Fully supported with the exception of fd.copyfirmware. Disabled by default — enable it in Project Settings -> Customize.
This platform supports the standard set of variable types and functions (a.k.a. "syscalls") except aes128enc and aes128dec. These AES128 functions are not present on the EM500W platform.
Platform-Specific Constants
- Enum pl_redir — The list of constants that define buffer redirection (shorting) for this platform
- Enum pl_io_num — The list of constants that define available I/O lines
- Enum pl_io_port_num — The list of constants that define available 8-bit I/O ports
- Enum pl_int_num — The list of constants that define available interrupt lines
- Enum pl_sock_interfaces — The list of available network interfaces