// ----------------------------------------------------------------------------------------
//
//  common/util/bcdpacker.h
//    
//  Bob Cook Development, Robotics Library
//  http://www.bobcookdev.com/rl/
//    
//  This file provides functions to convert to or from BCD-like byte streams.
//
//  Copyright (C) 2007 Bob Cook
//
//      This program is free software; you can redistribute it and/or modify it
//      under the terms of the GNU General Public License as published by the
//      Free Software Foundation; either version 2 of the License, or (at your
//      option) any later version.
//    
//      This program is distributed in the hope that it will be useful, but 
//      WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
//      or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
//      for more details.
//    
//      You should have received a copy of the GNU General Public License along
//      with this program; if not, write to the Free Software Foundation, Inc., 
//      51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
//
// ----------------------------------------------------------------------------------------


#if !defined( BCDRL_COMMON_UTIL_BCDPACKER_H )
#define BCDRL_COMMON_UTIL_BCDPACKER_H


#include <stdint.h>


// ----------------------------------------------------------------------------------------
//  bcdpack_number_string
//
//      Pack a number from its ASCII text form into BCD-like bytes. Each output byte will
//      contain two digits from the input string. A decimal point is written as 0xA.
//

void bcdpack_number_string
    (
        const uint8_t* in,
        uint8_t        in_length,
        uint8_t*       out,
        uint8_t        out_max
    );


// ----------------------------------------------------------------------------------------
//  unpack_number_to_double
//

double unpack_number_to_double( const uint8_t* in, uint8_t length );


#endif  // #if !defined( BCDRL_COMMON_UTIL_BCDPACKER_H )
// ----------------------------------------------------------------------------------------
//  end of bcdpacker.h
// ----------------------------------------------------------------------------------------

