Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
trame.cpp@5:6315ad5e8686, 2016-02-24 (annotated)
- Committer:
 - SonSenpai
 - Date:
 - Wed Feb 24 06:32:59 2016 +0000
 - Revision:
 - 5:6315ad5e8686
 - Parent:
 - 4:d773812f9f7b
 
last I guess
Who changed what in which revision?
| User | Revision | Line number | New contents of line | 
|---|---|---|---|
| SonSenpai | 0:6b5926b50a71 | 1 | #include "trame.h" | 
| SonSenpai | 0:6b5926b50a71 | 2 | |
| SonSenpai | 0:6b5926b50a71 | 3 | trame::trame( string msg ) | 
| SonSenpai | 0:6b5926b50a71 | 4 | { | 
| SonSenpai | 4:d773812f9f7b | 5 | std::printf("debug : creating trame with %s \n\r", msg); | 
| SonSenpai | 0:6b5926b50a71 | 6 | length = ( msg.length() * 8 ) + ( 7 * 8 ); | 
| SonSenpai | 0:6b5926b50a71 | 7 | dataLength = ( msg.length() * 8 ); | 
| SonSenpai | 0:6b5926b50a71 | 8 | preambule = 0x55; | 
| SonSenpai | 0:6b5926b50a71 | 9 | start = 0x7E; | 
| SonSenpai | 0:6b5926b50a71 | 10 | type_flags = 0x0; | 
| SonSenpai | 0:6b5926b50a71 | 11 | end = 0x7E; | 
| SonSenpai | 4:d773812f9f7b | 12 | message_length = msg.length()*8; | 
| SonSenpai | 0:6b5926b50a71 | 13 | |
| SonSenpai | 0:6b5926b50a71 | 14 | string temp = ""; | 
| SonSenpai | 0:6b5926b50a71 | 15 | for (int i = 0; i < msg.length(); i++) | 
| SonSenpai | 0:6b5926b50a71 | 16 | { | 
| SonSenpai | 0:6b5926b50a71 | 17 | temp += bitset<8>( msg.c_str()[ i ]).to_string<char, string::traits_type, string::allocator_type>(); | 
| SonSenpai | 0:6b5926b50a71 | 18 | } | 
| SonSenpai | 4:d773812f9f7b | 19 | message = bitset<640>( temp ); | 
| SonSenpai | 0:6b5926b50a71 | 20 | char msg_c[ msg.length() ]; | 
| SonSenpai | 0:6b5926b50a71 | 21 | strcpy( msg_c, msg.c_str() ); | 
| SonSenpai | 0:6b5926b50a71 | 22 | unsigned short crc_t = CRC16::calculateCRC16( msg_c, msg.length() ); | 
| SonSenpai | 0:6b5926b50a71 | 23 | crc16 = crc_t; | 
| SonSenpai | 0:6b5926b50a71 | 24 | } | 
| SonSenpai | 0:6b5926b50a71 | 25 | |
| SonSenpai | 0:6b5926b50a71 | 26 | bitset<696>* trame::getBitset() | 
| SonSenpai | 0:6b5926b50a71 | 27 | { | 
| SonSenpai | 0:6b5926b50a71 | 28 | bitFrame = new bitset<696>; | 
| SonSenpai | 0:6b5926b50a71 | 29 | for( int i = 0; i < 8; i++ ) | 
| SonSenpai | 0:6b5926b50a71 | 30 | { | 
| SonSenpai | 4:d773812f9f7b | 31 | (*bitFrame)[i] = preambule[7-i]; | 
| SonSenpai | 0:6b5926b50a71 | 32 | } | 
| SonSenpai | 0:6b5926b50a71 | 33 | |
| SonSenpai | 0:6b5926b50a71 | 34 | for( int i = 0; i < 8; i++ ) | 
| SonSenpai | 0:6b5926b50a71 | 35 | { | 
| SonSenpai | 4:d773812f9f7b | 36 | (*bitFrame)[i+8] = start[7-i]; | 
| SonSenpai | 0:6b5926b50a71 | 37 | } | 
| SonSenpai | 0:6b5926b50a71 | 38 | |
| SonSenpai | 0:6b5926b50a71 | 39 | for( int i = 0; i < 8; i++ ) | 
| SonSenpai | 0:6b5926b50a71 | 40 | { | 
| SonSenpai | 4:d773812f9f7b | 41 | (*bitFrame)[i+16] = type_flags[7-i]; | 
| SonSenpai | 0:6b5926b50a71 | 42 | } | 
| SonSenpai | 0:6b5926b50a71 | 43 | |
| SonSenpai | 0:6b5926b50a71 | 44 | for( int i = 0; i < 8; i++ ) | 
| SonSenpai | 0:6b5926b50a71 | 45 | { | 
| SonSenpai | 4:d773812f9f7b | 46 | (*bitFrame)[i+24] = message_length[7-i]; | 
| SonSenpai | 0:6b5926b50a71 | 47 | } | 
| SonSenpai | 0:6b5926b50a71 | 48 | |
| SonSenpai | 0:6b5926b50a71 | 49 | for( int i = 0; i < dataLength; i++ ) | 
| SonSenpai | 0:6b5926b50a71 | 50 | { | 
| SonSenpai | 4:d773812f9f7b | 51 | (*bitFrame)[i+32] = message[dataLength-1-i]; | 
| SonSenpai | 0:6b5926b50a71 | 52 | } | 
| SonSenpai | 0:6b5926b50a71 | 53 | |
| SonSenpai | 0:6b5926b50a71 | 54 | for( int i = 0; i < 16; i++ ) | 
| SonSenpai | 0:6b5926b50a71 | 55 | { | 
| SonSenpai | 4:d773812f9f7b | 56 | (*bitFrame)[i+32+dataLength] = crc16[15-i]; | 
| SonSenpai | 0:6b5926b50a71 | 57 | } | 
| SonSenpai | 0:6b5926b50a71 | 58 | |
| SonSenpai | 0:6b5926b50a71 | 59 | for( int i = 0; i < 8; i++ ) | 
| SonSenpai | 0:6b5926b50a71 | 60 | { | 
| SonSenpai | 4:d773812f9f7b | 61 | (*bitFrame)[i+48+dataLength] = end[7-i]; | 
| SonSenpai | 0:6b5926b50a71 | 62 | } | 
| SonSenpai | 0:6b5926b50a71 | 63 | |
| SonSenpai | 0:6b5926b50a71 | 64 | for( int i = i+56+dataLength; i < 696; i++) | 
| SonSenpai | 0:6b5926b50a71 | 65 | { | 
| SonSenpai | 4:d773812f9f7b | 66 | (*bitFrame)[i] = 0; | 
| SonSenpai | 4:d773812f9f7b | 67 | } | 
| SonSenpai | 4:d773812f9f7b | 68 | for(int i = 0; i<length; i++) | 
| SonSenpai | 4:d773812f9f7b | 69 | { | 
| SonSenpai | 4:d773812f9f7b | 70 | std::printf("%d", (*bitFrame)[i] & 0x1); | 
| SonSenpai | 0:6b5926b50a71 | 71 | } | 
| SonSenpai | 0:6b5926b50a71 | 72 | return bitFrame; | 
| SonSenpai | 0:6b5926b50a71 | 73 | } |