Светодиоды
Каждая плата Tibbo Project PCB (TPP) оснащена восемью встроенными светодиодами:
- Стандартные для Tibbo зелёный и красный светодиоды состояния.
- Один светодиод состояния Ethernet - жёлтый светодиод соединения («link»). Подробнее см. в разделе Светодиоды состояния (линии управления светодиодами).
- Пять синих светодиодов, образующих светодиодную шкалу.
У Linux-платы Tibbo Project PCB размера 3 (LTPP3), Gen. 2 есть ещё четыре светодиода: для каждого из двух портов Ethernet - один жёлтый светодиод соединения и один зелёный светодиод активности. Однако в Linux-корпусе Tibbo Project Box размера 3 (LTPB3) эти светодиоды не видны.
Синяя светодиодная шкала
Пять синих светодиодов образуют светодиодную шкалу. Она предназначена в первую очередь для индикации уровня радиосигнала (то есть сигнала Wi-Fi). Эти светодиоды управляются тремя линиями ввода-вывода общего назначения (GPIO): 46, 47, 48.
GPIO46 - линия сброса светодиодной шкалы. Сброс этой линии устанавливает все пять выходов в LOW и включает все светодиоды. GPIO47 - линия тактового сигнала: положительный фронт (переход из LOW в HIGH) на ней «вдвигает» данные с линии данных. Схема управления светодиодами показана ниже.


Чтобы включить светодиод, установите соответствующую линию данных в LOW. В следующем примере светодиоды устанавливаются так:
| Светодиод #5 | Светодиод #4 | Светодиод #3 | Светодиод #2 | Светодиод #1 |
| ВЫКЛ | ВКЛ | ВЫКЛ | ВКЛ | ВКЛ |
Предположим, что все светодиоды изначально были выключены (на схеме они показаны серым). Тогда последовательность шагов такая. Каждый шаг соответствует одному циклу тактовой линии (HIGH-LOW-HIGH):
| Такт | Данные | Светодиод #5 | Светодиод #4 | Светодиод #3 | Светодиод #2 | Светодиод #1 |
| 1 | LOW | ВКЛ | ВЫКЛ | ВЫКЛ | ВЫКЛ | ВЫКЛ |
| 2 | LOW | ВКЛ | ВКЛ | ВЫКЛ | ВЫКЛ | ВЫКЛ |
| 3 | HIGH | ВЫКЛ | ВКЛ | ВКЛ | ВЫКЛ | ВЫКЛ |
| 4 | LOW | ВКЛ | ВЫКЛ | ВКЛ | ВКЛ | ВЫКЛ |
| 5 | HIGH | ВЫКЛ | ВКЛ | ВЫКЛ | ВКЛ | ВКЛ |
Линия сброса на самом деле не обязательна. Какой рисунок показывают светодиоды, можно знать точно, если при каждой отправке новых данных в эту схему вы формируете пять тактовых циклов.
TPP на базе TiOS
Ниже приведён код из библиотеки Tibbo для управления светодиодной шкалой на TPP2, TPP3, TPP2(G2), TPP3(G2) и TPP2(G3):
sub on_sys_init
...
'enable the control lines (notice that the use of the RST line is not really necessary)
io.num=PL_IO_NUM_46
io.enabled=YES
io.num=PL_IO_NUM_47
io.enabled=YES
io.num=PL_IO_NUM_48
io.enabled=YES
signal_strength_set(0) 'this will turn all 5 LEDs OFF
...
end sub
sub signal_strength_set(strength as byte)
'Bits 0-5 of strength argument correspond to LEDs (bit5 is for the LED #5, bit0 -- for LED #0)
dim f,x as byte
dim s as string(8)
s=mid(bin(strength),3,8)
s=strgen(8-len(s),"0")+s
'make 5 clocks
io.num=PL_IO_NUM_47
for f=0 to 4
x=1-val(mid(s,f+4,1))
io.lineset(PL_IO_NUM_48,x)
io.state=LOW
io.state=HIGH
next f
end sub
LTPP3(G2)
Линиями GPIO нужно управлять вручную.