The Functions Available From The imp002’s Pins
The imp002 solder-down modules provide all of the same pins as the imp001, with all the same functions, plus five more pins: 6 and A through E.
Pin |
uart 1289 |
uart 57 |
uart 12 |
uart 6E |
uart B |
i2c 89 |
i2c 12 |
spi 257 |
spi 189 |
DAC |
ADC |
PWM |
Pulse Count |
Wake From Sleep |
PTPG Trigger |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | CTS | TX | SCL | SCLK | Yes | Yes | Yes | Yes | Yes | ||||||
2 | RTS | RX | SDA | CIPO | Yes | Yes | |||||||||
5 | TX | SCLK | Yes | Yes | Yes | For Pin 7 | |||||||||
6 | TX | ||||||||||||||
7 | RX | COPI | Yes | Yes | |||||||||||
8 | TX | SCL | COPI | Yes | Yes | For Pin 5, 9 or C |
|||||||||
9 | RX | SDA | CIPO | Yes | Yes | For Pin 2 | |||||||||
A | Yes | ||||||||||||||
B | RX (only) | Yes | |||||||||||||
C | Yes | ||||||||||||||
D | |||||||||||||||
E | RX |
All of the imp002’s pins are tri-stated (floating) by default, ie. on power on, after chip reset, or after deep sleep.
COPI was previously referred to as MOSI. CIPO was previously referred to as MISO.
In GPIO mode pins may source or sink up to 4mA.
All of the imp002’s pins are tristated (floating) by default, ie. on power on, after chip reset, or after deep sleep.
The wakeup pin, pin 1, can be used to wake the imp002 from a deep sleep, but only if the pin is configured with this capability before the imp002 goes into deep sleep. To configure the pin for this role, use the following code:
hardware.pin1.configure(DIGITAL_IN_WAKEUP, callbackFunction);
Once the imp002 is in deep sleep — typically with a server.sleepfor() or server.sleepuntil call — setting pin 1 to logic high will wake the device. However, Squirrel is started afresh so the registered callback request will be lost. The callback function will be called if the imp002 is already awake when the pin is triggered.
The imp002 wakes when the pin is high, not on the rising edge. The external device responsible for signalling the wakeup pin should subsequently drive the pin low; the imp002 cannot return to sleep if the wakeup pin is high. An internal pull-down is automatically enabled when wakeup is configured.