programma di test per vedere se funziona
Dependencies: SDFileSystem_conMOD mbed-rtos mbed
Fork of f4_sd_imu_4 by
messaggi.h
00001 char num_n0(int a){ 00002 return a%256; 00003 } 00004 char num_n1(int a){ 00005 return (char)( a / 256); 00006 } 00007 00008 typedef struct { 00009 char ax[2]; 00010 char ay[2]; 00011 char az[2]; 00012 char gx[2]; 00013 char gy[2]; 00014 char gz[2]; 00015 } message_t; 00016 00017 void copia(message_t & a, message_t b){ 00018 for(int i=0;i<2;i++){ 00019 a.ax[i]=b.ax[i]; 00020 a.ay[i]=b.ay[i]; 00021 a.az[i]=b.az[i]; 00022 a.gx[i]=b.gx[i]; 00023 a.gy[i]=b.gy[i]; 00024 a.gz[i]=b.gz[i]; 00025 00026 } 00027 00028 } 00029 void scrivi_imu(message_t* ); 00030 MemoryPool<message_t, 16> mpool; 00031 Queue<message_t, 16> queue; 00032 00033 /* Send Thread */ 00034 void invia_m (int ax,int ay,int az,int gx,int gy,int gz) { 00035 00036 { 00037 00038 message_t *message = mpool.alloc(); 00039 message->ax[0] = num_n0(ax); message->ax[1] = num_n1(ax); 00040 message->ay[0] = num_n0(ay); message->ay[1] = num_n1(ay); 00041 message->az[0] = num_n0(az); message->az[1] = num_n1(az); 00042 message->gx[0] = num_n0(gx); message->gx[1] = num_n1(gx); 00043 message->gy[0] = num_n0(gy); message->gy[1] = num_n1(gy); 00044 message->gz[0] = num_n0(gz); message->gz[1] = num_n1(gz); 00045 queue.put(message); 00046 Thread::wait(1000); 00047 } 00048 } 00049 00050 void scrivi_m(void) { 00051 00052 00053 while (true) { 00054 Thread::wait(0.001); 00055 osEvent evt = queue.get(); 00056 while (evt.status == osEventMessage) { 00057 message_t *message = (message_t*)evt.value.p; 00058 00059 00060 scrivi_imu(message); 00061 00062 00063 mpool.free(message); 00064 osEvent evt = queue.get(); 00065 } 00066 } 00067 }
Generated on Thu Jul 14 2022 13:03:23 by
1.7.2
