123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- #include <stdio.h>
- #include "../home_easy.h"
- #include "../buffer.h"
- #define TEST_START printf("\n=== %s ===\n", __FUNCTION__)
- void testByteBuffer()
- {
- BYTE_BUFFER buffer;
- char bytes[] = {0xcd, 0xef, 0x12};
- TEST_START;
- buffer = createByteBuffer();
- pushByte(&buffer, 0xab);
- pushBytes(&buffer, bytes, 3);
- pushWord(&buffer, 0x3456);
- printf("Should: AB CD EF 12 34 56\nGet: ");
- printfByteBuffer(buffer);
- destroyByteBuffer(buffer);
- }
- void testPrintBits()
- {
- BYTE_BUFFER buffer;
- char bytes[] = {0x12, 0x34, 0x56, 0x78, 0x9a, 0xbc, 0xde, 0xf0};
- TEST_START;
- buffer = createByteBuffer();
- pushBytes(&buffer, bytes, 8);
- printfBitBuffer(buffer);
- destroyByteBuffer(buffer);
- }
- void testGetId()
- {
- unsigned long int id;
- unsigned long int frame = 0x2829019a;
- TEST_START;
- id = getHomeEasyId(frame);
- printf("Should 00A0A406\nGet %08X\n", id);
- }
- void testEncode()
- {
- unsigned char srcByte = 0x28;
- unsigned short int encWord;
- TEST_START;
- encWord = encodeByte(srcByte);
- printf("Input: %02X\nShould: 0x5995\nGet: %04X\n", srcByte, encWord);
- }
- void testDecode()
- {
- unsigned short int srcWord = 0x5995;
- unsigned char decByte;
- TEST_START;
- decByte = decodeByte(srcWord);
- printf("Input: %04X\nShould: 0x28\nGet: %02X\n", srcWord, decByte);
- }
- void testHomeEasyEncode()
- {
- BYTE_BUFFER source;
- BYTE_BUFFER encoded;
- unsigned long int frame = 0x2829019a;
- TEST_START;
- printf("Input: %08X\n", frame);
- printf("Should: 59 95 59 95 55 56 96 99\nGet: ");
- encoded = homeEasyEncode(frame);
- printfByteBuffer(encoded);
- destroyByteBuffer(encoded);
- }
- void testHomeEasyDecode()
- {
- BYTE_BUFFER source;
- unsigned long int decoded;
- unsigned char bytes[] = {0x59, 0x95, 0x59, 0x96, 0x55, 0x56, 0x9A, 0x55};
- TEST_START;
- source = createByteBuffer();
- pushBytes(&source, bytes, 8);
- printf("Input: ");
- printfByteBuffer(source);
- printf("Should: 282901B0\nGet: %08X\n", homeEasyDecode(&source));
- destroyByteBuffer(source);
- }
- void testHomeEasyCommand(char section, unsigned char num, unsigned char onOff)
- {
- unsigned long int command;
- BYTE_BUFFER encoded;
- unsigned long int id = getHomeEasyId(0x2829019a);
- TEST_START;
- command = createHomeEasyCommand(id, section, num, onOff);
- printf("%08X\n", command);
- encoded = homeEasyEncode(command);
- printfByteBuffer(encoded);
- destroyByteBuffer(encoded);
- }
- int main()
- {
- printf("Test\n");
- testByteBuffer();
- testPrintBits();
-
- testGetId();
- testEncode();
- testDecode();
- testHomeEasyEncode();
- testHomeEasyDecode();
- testHomeEasyCommand('D', 4, OFF);
- return 0;
- }
|