Я должен перенести код C ++ в Micro Python на платформу Wipy. В настоящее время у меня есть некоторые проблемы с этим, особенно с доступом к переменным из других структур
C ++ код:
typedef struct {
char id[100];
int rssi;
} tag_info;
typedef struct {
tag_info tag[20];
} tag_list;
typedef struct {
int timestamp;
tag_list tags;
int heading;
int airt;
} data_packet;
data_packet packet;
for (i = 0; i < total_amount_of_tags - 1; i++) {
print_function("id", packet.tags.tag[i].id, destination);
print_function("rssi", packet.tags.tag[i].rssi, destination);
}
Мой код MicroPython:
class tag_info:
def __init__(self):
self.id = ""
self.rssi = 0
class tag_list:
def __init__(self):
self.tag = tag_info
class data_packet():
def __init__(self):
self.timestamp=0
self.tags = tag_list
self.heading=0
self.airt=0
packet=data_packet()
for i in range(0, total_amount_of_tags -1)
print_function('id',packet.tags.tag[i].id,destination)
print_function("rssi", packet.tags.tag[i].rssi, destination);
Проблема в моем коде в том, что я не могу получить доступ к тегу [i] и другим переменным. Должен ли я использовать наследование или namedTuple в этом случае. Если я пытаюсь использовать namedTuple from collections import namedTuple
, появляется следующее сообщение об ошибке: no module called collections
, поэтому я бы предпочел по возможности избегать этой библиотеки