encode A and B functions added with tests

pull/26/head
alanbjohnston 6 years ago committed by GitHub
parent 8c10819d60
commit dd2f70ca86
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -62,6 +62,8 @@ static void init_rf();
int twosToInt(int val, int len);
int get_tlm(char *str);
int get_tlm_fox(char *str);
int encodeA(char *str, int index, int val);
int encodeB(char *str, int index, int val);
void config_x25();
void trans_x25();
int upper_digit(int number);
@ -406,6 +408,13 @@ int get_tlm_fox(char *str) {
str[0] = str[0] | (id & 0x07); // 3 bits
str[5] = str[5] | (frm_type << 4)
encodeA(str, 10, 4096);
encodeA(str, 12, 0xa5a5a5);
encodeB(str 14, 0xffffff);
encodeB(str, 16, 0x515253);
/*
tlm[1][A] = (int)(reading[BUS].voltage /15.0 + 0.5) % 100; // Current of 5V supply to Pi
tlm[1][B] = (int) (99.5 - reading[PLUS_X].current/10.0) % 100; // +X current [4]
@ -442,14 +451,15 @@ return 0;
}
int encodeA(char *str, int index) {
b[index] = (val & 0xff)
b[index + 1] = b[index + 1] | (val >> 8)
int encodeA(char *str, int index, int val) {
str[index] = (val & 0xff)
str[index + 1] = str[index + 1] | (val >> 8)
return 0;
}
int encodeB(char *str, int index) {
int encodeB(char *str, int index, int val) {
str[index] = str[index] | (val << 4)
str[index + 1] = str[index + 1] | ((val >> 4 ) & 0xff)
return 0;
}

Loading…
Cancel
Save

Powered by TurnKey Linux.