FormazioneSitael / Mbed 2 deprecated TestNI

Dependencies:   mbed

Files at this revision

API Documentation at this revision

Comitter:
jjantoine
Date:
Tue Dec 11 13:54:23 2018 +0000
Commit message:
TestNI

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 399c0fbd595c main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Dec 11 13:54:23 2018 +0000
@@ -0,0 +1,474 @@
+#include "mbed.h"
+
+Serial pc(USBTX, USBRX); // tx, rx
+
+    DigitalIn mybutton(USER_BUTTON);
+
+
+    DigitalOut Porta0_7 (PA_0);
+    DigitalOut Porta0_6 (PA_1);
+    DigitalOut Porta0_5 (PA_4);
+    DigitalOut Porta0_4 (PA_6);
+    DigitalOut Porta0_3 (PA_7);
+    DigitalOut Porta0_2 (PA_8);
+    DigitalOut Porta0_1 (PA_9);
+    DigitalOut Porta0_0 (PA_12);
+    
+    DigitalOut Porta1_7 (PB_0);
+    DigitalOut Porta1_6 (PB_1);
+    DigitalOut Porta1_5 (PB_3);
+    DigitalOut Porta1_4 (PB_4);
+    DigitalOut Porta1_3 (PB_5);
+    DigitalOut Porta1_2 (PB_6);
+    DigitalOut Porta1_1 (PB_7);
+    DigitalOut Porta1_0 (PB_10);
+    
+    DigitalOut Porta2_7 (PC_0);
+    DigitalOut Porta2_6 (PC_1);
+    DigitalOut Porta2_5 (PC_2);
+    DigitalOut Porta2_4 (PC_3);
+    DigitalOut Porta2_3 (PC_5);
+    DigitalOut Porta2_2 (PC_6);
+    DigitalOut Porta2_1 (PC_7);
+    DigitalOut Porta2_0 (PC_8);
+    
+    DigitalOut Porta3_7 (PA_13);
+    DigitalOut Porta3_6 (PA_14);
+    DigitalOut Porta3_5 (PA_15);
+    DigitalOut Porta3_4 (PC_14);
+    DigitalOut Porta3_3 (PC_15);
+    DigitalOut Porta3_2 (PA_11);
+    DigitalOut Porta3_1 (PB_12);
+    DigitalOut Porta3_0 (PC_4);
+
+
+void TGP_SET_GPO_CMD();
+void TGP_SET_GPO_ACK(char*, char*, char*, char*, char*);
+void GPIO_SET(char*,char*,char*,char*,char*,char*,char*,char*);
+int* charbit(char*,char*);
+
+int main()
+{
+    while(1)
+    {
+        TGP_SET_GPO_CMD();
+    }
+    
+    
+}
+
+
+
+void TGP_SET_GPO_CMD()
+{
+        unsigned int i;
+        
+        char UINT32_PacketSize [4];
+        char ENUM_Packet_ID;
+        char UINT16_PacketCounter [2];
+        char UINT32_Timestamp [4];
+        char UINT32_Port0Value [4];
+        char UINT32_Port0Mask [4];
+        char UINT32_Port1Value [4];
+        char UINT32_Port1Mask [4];
+        char UINT32_Port2Value [4];
+        char UINT32_Port2Mask [4];
+        char UINT32_Port3Value [4];
+        char UINT32_Port3Mask [4];
+        char UINT32_CRC [4];
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_PacketSize[i]);
+        }
+        
+        pc.scanf("%c",&ENUM_Packet_ID);
+        
+        for(i=0; i<2; i++){
+            pc.scanf("%c",&UINT16_PacketCounter[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Timestamp[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Port0Value[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Port0Mask[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Port1Value[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Port1Mask[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Port2Value[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Port2Mask[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Port3Value[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_Port3Mask[i]);
+        }
+        
+        for(i=0; i<4; i++){
+            pc.scanf("%c",&UINT32_CRC[i]);
+        }
+        
+        TGP_SET_GPO_ACK(UINT32_PacketSize,&ENUM_Packet_ID,UINT16_PacketCounter,UINT32_Timestamp,UINT32_CRC);
+        GPIO_SET(UINT32_Port0Value,UINT32_Port0Mask,UINT32_Port1Value,UINT32_Port1Mask,UINT32_Port2Value,UINT32_Port2Mask,UINT32_Port3Value,UINT32_Port3Mask);
+        
+}
+
+void TGP_SET_GPO_ACK(char*A, char*B, char*C, char*D, char*E)
+{
+    char UINT32_PacketSize [4];
+    char ENUM_Packet_ID;
+    char UINT16_PacketCounter [2];
+    char UINT32_Timestamp [4];
+    char UINT32_CRC [4];
+    
+    unsigned int i;
+    
+    strcpy(UINT32_PacketSize,A);
+    ENUM_Packet_ID = B[0];
+    strcpy(UINT16_PacketCounter,C);
+    strcpy(UINT32_Timestamp,D);
+    strcpy(UINT32_CRC,E);
+    
+    for(i=0; i<4; i++){
+            pc.printf("%c",&UINT32_PacketSize[i]);
+        }
+        
+    pc.printf("%c",&ENUM_Packet_ID);
+    
+    for(i=0; i<2; i++){
+            pc.printf("%c",&UINT16_PacketCounter[i]);
+        }
+        
+    for(i=0; i<4; i++){
+            pc.printf("%c",&UINT32_Timestamp[i]);
+        }
+        
+    for(i=0; i<4; i++){
+            pc.printf("%c",&UINT32_CRC[i]);
+        }
+       
+}
+
+void GPIO_SET(char*A,char*B,char*C,char*D,char*E,char*F,char*G,char*H)
+{
+    unsigned int i,btts;
+    
+    btts=0;
+    
+    char UINT32_Port0Value [4];
+    char UINT32_Port0Mask [4];
+    char UINT32_Port1Value [4];
+    char UINT32_Port1Mask [4];
+    char UINT32_Port2Value [4];
+    char UINT32_Port2Mask [4];
+    char UINT32_Port3Value [4];
+    char UINT32_Port3Mask [4];
+    
+    int* porta0;
+    int* porta1;
+    int* porta2;
+    int* porta3;
+    
+    int bit0[32];
+    int bit1[32];
+    int bit2[32];
+    int bit3[32];
+    
+    strcpy(UINT32_Port0Value,A);
+    strcpy(UINT32_Port0Mask,B);
+    strcpy(UINT32_Port1Value,C);
+    strcpy(UINT32_Port1Mask,D);
+    strcpy(UINT32_Port2Value,E);
+    strcpy(UINT32_Port2Mask,F);
+    strcpy(UINT32_Port3Value,G);
+    strcpy(UINT32_Port3Mask,H);
+    
+    porta0 = charbit(UINT32_Port0Value,UINT32_Port0Mask);
+    
+    for(i=0;i<32;i++)
+    {
+        bit0[i]=porta0[i];   
+    }
+    
+    porta1 = charbit(UINT32_Port1Value,UINT32_Port1Mask);
+    
+    for(i=0;i<32;i++)
+    {
+        bit1[i]=porta1[i];   
+    }
+    
+    porta2 = charbit(UINT32_Port2Value,UINT32_Port2Mask);
+    
+    for(i=0;i<32;i++)
+    {
+        bit2[i]=porta2[i];   
+    }
+    
+    porta3 = charbit(UINT32_Port3Value,UINT32_Port3Mask);
+    
+    for(i=0;i<32;i++)
+    {
+        bit3[i]=porta3[i];   
+    }
+    
+    while(1)
+    {   
+        if(mybutton == 0 & btts ==0)
+        {
+            Porta0_7 = bit0[0];
+            Porta0_6 = bit0[1];
+            Porta0_5 = bit0[2];
+            Porta0_4 = bit0[3];
+            Porta0_3 = bit0[4];
+            Porta0_2 = bit0[5];
+            Porta0_1 = bit0[6];
+            Porta0_0 = bit0[7];
+            
+            Porta1_7 = bit1[0];
+            Porta1_6 = bit1[1];
+            Porta1_5 = bit1[2];
+            Porta1_4 = bit1[3];
+            Porta1_3 = bit1[4];
+            Porta1_2 = bit1[5];
+            Porta1_1 = bit1[6];
+            Porta1_0 = bit1[7];
+            
+            Porta2_7 = bit2[0];
+            Porta2_6 = bit2[1];
+            Porta2_5 = bit2[2];
+            Porta2_4 = bit2[3];
+            Porta2_3 = bit2[4];
+            Porta2_2 = bit2[5];
+            Porta2_1 = bit2[6];
+            Porta2_0 = bit2[7];
+            
+            Porta3_7 = bit3[0];
+            Porta3_6 = bit3[1];
+            Porta3_5 = bit3[2];
+            Porta3_4 = bit3[3];
+            Porta3_3 = bit3[4];
+            Porta3_2 = bit3[5];
+            Porta3_1 = bit3[6];
+            Porta3_0 = bit3[7];
+            
+            btts = 1;          
+        } else if (mybutton == 0 & btts == 1) {
+            
+            Porta0_7 = bit0[8];
+            Porta0_6 = bit0[9];
+            Porta0_5 = bit0[10];
+            Porta0_4 = bit0[11];
+            Porta0_3 = bit0[12];
+            Porta0_2 = bit0[13];
+            Porta0_1 = bit0[14];
+            Porta0_0 = bit0[15];
+            
+            Porta1_7 = bit1[8];
+            Porta1_6 = bit1[9];
+            Porta1_5 = bit1[10];
+            Porta1_4 = bit1[11];
+            Porta1_3 = bit1[12];
+            Porta1_2 = bit1[13];
+            Porta1_1 = bit1[14];
+            Porta1_0 = bit1[15];
+            
+            Porta2_7 = bit2[8];
+            Porta2_6 = bit2[9];
+            Porta2_5 = bit2[10];
+            Porta2_4 = bit2[11];
+            Porta2_3 = bit2[12];
+            Porta2_2 = bit2[13];
+            Porta2_1 = bit2[14];
+            Porta2_0 = bit2[15];
+            
+            Porta3_7 = bit3[8];
+            Porta3_6 = bit3[9];
+            Porta3_5 = bit3[10];
+            Porta3_4 = bit3[11];
+            Porta3_3 = bit3[12];
+            Porta3_2 = bit3[13];
+            Porta3_1 = bit3[14];
+            Porta3_0 = bit3[15];
+            
+            btts = 2;
+        } else if (mybutton == 0 & btts == 2) {
+            
+            Porta0_7 = bit0[16];
+            Porta0_6 = bit0[17];
+            Porta0_5 = bit0[18];
+            Porta0_4 = bit0[19];
+            Porta0_3 = bit0[20];
+            Porta0_2 = bit0[21];
+            Porta0_1 = bit0[22];
+            Porta0_0 = bit0[23];
+            
+            Porta1_7 = bit1[16];
+            Porta1_6 = bit1[17];
+            Porta1_5 = bit1[18];
+            Porta1_4 = bit1[19];
+            Porta1_3 = bit1[20];
+            Porta1_2 = bit1[21];
+            Porta1_1 = bit1[22];
+            Porta1_0 = bit1[23];
+            
+            Porta2_7 = bit2[16];
+            Porta2_6 = bit2[17];
+            Porta2_5 = bit2[18];
+            Porta2_4 = bit2[19];
+            Porta2_3 = bit2[20];
+            Porta2_2 = bit2[21];
+            Porta2_1 = bit2[22];
+            Porta2_0 = bit2[23];
+            
+            Porta3_7 = bit3[16];
+            Porta3_6 = bit3[17];
+            Porta3_5 = bit3[18];
+            Porta3_4 = bit3[19];
+            Porta3_3 = bit3[20];
+            Porta3_2 = bit3[21];
+            Porta3_1 = bit3[22];
+            Porta3_0 = bit3[23];
+            
+            btts = 3;
+        } else if (mybutton == 0 & btts == 3) {
+            
+            Porta0_7 = bit0[24];
+            Porta0_6 = bit0[25];
+            Porta0_5 = bit0[26];
+            Porta0_4 = bit0[27];
+            Porta0_3 = bit0[28];
+            Porta0_2 = bit0[29];
+            Porta0_1 = bit0[30];
+            Porta0_0 = bit0[31];
+            
+            Porta1_7 = bit1[24];
+            Porta1_6 = bit1[25];
+            Porta1_5 = bit1[26];
+            Porta1_4 = bit1[27];
+            Porta1_3 = bit1[28];
+            Porta1_2 = bit1[29];
+            Porta1_1 = bit1[30];
+            Porta1_0 = bit1[31];
+            
+            Porta2_7 = bit2[24];
+            Porta2_6 = bit2[25];
+            Porta2_5 = bit2[26];
+            Porta2_4 = bit2[27];
+            Porta2_3 = bit2[28];
+            Porta2_2 = bit2[29];
+            Porta2_1 = bit2[30];
+            Porta2_0 = bit2[31];
+            
+            Porta3_7 = bit3[24];
+            Porta3_6 = bit3[25];
+            Porta3_5 = bit3[26];
+            Porta3_4 = bit3[27];
+            Porta3_3 = bit3[28];
+            Porta3_2 = bit3[29];
+            Porta3_1 = bit3[30];
+            Porta3_0 = bit3[31];
+            
+            btts = 4;
+        } else if (mybutton == 0 & btts == 4)
+        {
+            break;
+        }
+    }
+       
+}
+
+int* charbit(char*c,char*d)
+{
+    int msb1[32];
+    int msb2[32];
+    int msb3[32];
+    int i;
+    char a[4];
+    char b[4];
+    
+    strcpy(a,c);
+    strcpy(b,d);
+    
+    
+    for (i=0;i<8;i++)
+    {
+        msb1[i] = ( a[0] & 0x80 ) != 0x00;
+        a[0]=a[0]<<1;
+
+    }  
+    
+    for (i=8;i<16;i++)
+    {
+        msb1[i] = ( a[1] & 0x80 ) != 0x00;
+        a[1]=a[1]<<1;
+
+    }  
+    
+    for (i=16;i<24;i++)
+    {
+        msb1[i] = ( a[2] & 0x80 ) != 0x00;
+        a[2]=a[2]<<1;
+
+    }  
+    
+    for (i=24;i<32;i++)
+    {
+        msb1[i] = ( a[3] & 0x80 ) != 0x00;
+        a[3]=a[3]<<1;
+
+    }  
+    
+    for (i=0;i<8;i++)
+    {
+        msb2[i] = ( b[0] & 0x80 ) != 0x00;
+        b[0]=b[0]<<1;
+
+    }  
+    
+    for (i=8;i<16;i++)
+    {
+        msb2[i] = ( b[1] & 0x80 ) != 0x00;
+        b[1]=b[1]<<1;
+
+    }  
+    
+    for (i=16;i<24;i++)
+    {
+        msb2[i] = ( b[2] & 0x80 ) != 0x00;
+        b[2]=b[2]<<1;
+
+    }  
+    
+    for (i=24;i<32;i++)
+    {
+        msb2[i] = ( b[3] & 0x80 ) != 0x00;
+        b[3]=b[3]<<1;
+
+    }  
+    
+    for (i=0;i<32;i++)
+    {
+        msb3[i] = msb1[i] & msb2[i];   
+    }
+    
+    return &msb3[0];   
+}
\ No newline at end of file
diff -r 000000000000 -r 399c0fbd595c mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Tue Dec 11 13:54:23 2018 +0000
@@ -0,0 +1,1 @@
+https://os.mbed.com/users/mbed_official/code/mbed/builds/3a7713b1edbc
\ No newline at end of file