1 /*********************************************************************
2  *
3  *   LPC ISP - Utility functions
4  *
5  *
6  * Written by Nathael Pajani <nathael.pajani@nathael.net>
7  *
8  * This programm is released under the terms of the GNU GPLv3 licence
9  * as can be found on the GNU website : <http://www.gnu.org/licenses/>
10  *
11  *********************************************************************/
14 #ifndef ISP_UTILS_H
15 #define ISP_UTILS_H
17 void isp_dump(const unsigned char* buf, unsigned int buf_size);
20 /* ---- Serial utility functions ---------------------------------------------------*/
22 /* Open the serial device and set it up.
23  * Returns 0 on success, negativ value on error.
24  * Actal setup is done according to LPC11xx user's manual.
25  * Only baudrate can be changed using command line option.
26  */
27 int isp_serial_open(int baudrate, char* serial_device);
28 void isp_serial_close(void);
30 /* Simple write() wrapper, with trace if enabled */
31 int isp_serial_write(const char* buf, unsigned int buf_size);
33 void isp_serial_empty_buffer();
34 /* Try to read at least "min_read" characters from the serial line.
35  * Returns -1 on error, 0 on end of file, or read count otherwise.
36  */
37 int isp_serial_read(char* buf, unsigned int buf_size, unsigned int min_read);
40 /* ---- UU_Encoding utility functions ----------------------------------------------*/
41 int isp_uu_encode(char* dest, char* src, unsigned int orig_size);
43 int isp_uu_decode(char* dest, char* src, unsigned int orig_size);
46 /* ---- File utility functions ----------------------------------------------*/
47 int isp_buff_to_file(char* data, unsigned int len, char* filename);
49 int isp_file_to_buff(char* data, unsigned int len, char* filename);
51 #endif /* ISP_UTILS_H */