#include "WProgram.h"

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

   FILL_API_PACKET

   :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
void fill_api_packet( byte *p, int size )
{
   for( int i = 1; i < size; i++ )
      p[ i ] = Serial.read();
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

   PRINT_API_PACKET

   :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
void print_api_packet( byte *packet, int size )
{
   if( size == 0 )
      return;
   else
   {
      Serial.print( "0x" );
      Serial.print( packet[ 0 ], HEX );

      for( int i = 1; i < size; i++ )
      {
         Serial.print( " + 0x" );
         Serial.print( packet[ i ], HEX );
      }
   }
   
   Serial.print( "\r\n" );
}

/* :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

   GET SERIAL DATA FROM

   :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: */
inline int get_serial_data_from( byte *a )
{
   return ( int ) a[ IO_DATA_SAMPLE_API_PACKET_SIZE - 3 ] + 
          ( int ) a[ IO_DATA_SAMPLE_API_PACKET_SIZE - 2 ];
}