на данный момент одна задача шлет в другую следующие структуры
Код
typedef struct{
u8 id;
void* buff;
u16 buff_len;
u16 arg;
}Smsg;
Но так как очереди в tnKernel это void* то приходится
Код
send:
Smsg* item = MALLOC( sizeof(Smsg) );
item->id=...
item->buff=...
....
tn_queue_send(...);
для увеличения скорости видится такая реализация
Код
#define QUE_ITEMS 10
Smsg que[QUE_ITEMS];
tn_queue2_create( ..., (void*)que, sizeof( Smsg ), QUE_ITEMS )
Smsg item;
item.id=...
item.buff=...
tn_queue_send( &item );
то есть избавляемся от кучи
Собсвенно вопрос: кто-нибудь такое реализовывал и может поделится ?
А то задача тривиальная и обыденная, а лисапед не хочется писать =)
Марс - единственная планета, полностью населенная роботами (около 7 штук).