Initial Fork

Dependencies:   CRC16

Dependents:   eBot_Firmware_V1

Fork of SWSPI by Dave Van Wagner

HC05.cpp

Committer:
Throwbot
Date:
2014-10-05
Revision:
3:e2d77a394590
Parent:
2:c13831ca234c

File content as of revision 3:e2d77a394590:

#include "HC05.h"
#include <stdarg.h> 

HC05::HC05(PinName tx_pin, PinName rx_pin, PinName en_pin):
    MODSERIAL(tx_pin, rx_pin),
    on_switch(en_pin)
{
    //wait_ms(5000);  //mark
    on_switch = 0;
}
void HC05::start(){
    on_switch = 1;
}
int HC05::printfCRC ( const char * format, ... ){
         
    va_list argptr; /* Set up the variable argument list here */
    va_start(argptr, format);
    int ret = sprintf(buffer,format, argptr); 
    va_end(argptr);  /* Signify end of processing of variable arguments */   
    
    int i = 0;
    while(i < BUFFER_SIZE && buffer[i]){    
        putc(buffer[i]);
        i++;
    }    
    unsigned short checksum = calculateCRC16(buffer,i);

    //printf(" %d %d ", checksum >> 8, checksum & 0xFF);   

    for( int j = 0; j < 4; j++)        
        putc( ( checksum >> ( 4* (3-j) ) ) & 0x0F);
        
    //putc(checksum & 0xFF);
    putc('\r');
    putc('\n');

    return ret;
    }
    
void HC05::printBufferCRC(){
    int i = 0;
    while(i < BUFFER_SIZE && buffer[i]){    
        putc(buffer[i]);
        i++;
    }    
    unsigned short checksum = calculateCRC16(buffer,i);

    //printf(" %d %d ", checksum >> 8, checksum & 0xFF);   

    for( int j = 0; j < 4; j++)        
        putc( ( checksum >> ( 4* (3-j) ) ) & 0x0F);
        
    //putc(checksum & 0xFF);
    putc('\r');
    putc('\n');    
    }
//void HCO5::stop(){
//    on_switch = 0;
//}