Introduced new functions:

unsigned char asc2nibble(char c);
int hexstring2candata(char *arg, struct can_frame *cf);
(see documentation in lib.h)
As prerequsite to fix the commandline interface of cangen.
This commit is contained in:
Oliver Hartkopp
2008-06-20 09:15:13 +00:00
parent 278344e5d5
commit ddbe7d9575
2 changed files with 58 additions and 2 deletions
+28
View File
@@ -45,6 +45,34 @@
*
*/
unsigned char asc2nibble(char c);
/*
* Returns the decimal value of a given ASCII hex character.
*
* While 0..9, a..f, A..F are valid ASCII hex characters.
* On invalid characters the value 16 is returned for error handling.
*/
int hexstring2candata(char *arg, struct can_frame *cf);
/*
* Converts a given ASCII hex string to values in the can_frame data[].
*
* A valid ASCII hex string consists of and even number of up to 16 chars.
* Leading zeros '00' in the ASCII hex string are interpreted.
*
* Examples:
*
* "1234" => data[0] = 0x12, data[1] = 0x34
* "001234" => data[0] = 0x00, data[1] = 0x12, data[2] = 0x34
*
* Return values:
* 0 = success
* 1 = error (in length or the given characters are no ASCII hex characters)
*
* Remark: The not written data[] elements remain unchanged.
*
*/
int parse_canframe(char *cs, struct can_frame *cf);
/*
* Transfers a valid ASCII string decribing a CAN frame into struct can_frame.