/*
------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------- MODUL = Teil H ----------------------------------------------------
*********************************************** num_conversion.h ** V1.2 ***********************************************
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
 Version..............: 1.2
 Compiler.............: CodeVisionAVR
 Chip.................: ATmega88
 Datum................: Juni 2009
 Autor................: Alwin Lenck (ALE23) basierend auf dem Modul num_conversion von Udo Juerss
------------------------------------------------------------------------------------------------------------------------
*/

//----------------------------------------------------------------------------------------------------------------------
//Abfrage, ob diese Header-Datei bereits aufgerufen wurde. Wenn JA, dann alle Anweisungen ignorieren!
//----------------------------------------------------------------------------------------------------------------------
#ifndef __NUM_CONVERSION_H
#define __NUM_CONVERSION_H                       // Wenn NEIN, dann wird hier der Schalter gesetzt, dass zukuenftig
                                                 // diese Header-Datei nicht noch einmal hinzugefuegt wird.

//----------------------------------------------------------------------------------------------------------------------
//Header-Datei einfuegen:
//----------------------------------------------------------------------------------------------------------------------
#include "lcd_2wire.h"

//----------------------------------------------------------------------------------------------------------------------
//Anwendungsspezifische Definitionen:
//----------------------------------------------------------------------------------------------------------------------
#define NC_BUFFER_LENGTH 16                      // Groesse des Umwandlungspuffers
#define NC_FILL_CHAR 32                          // Space = 32 = 0x20; Auffuellzeichen fuer vorlaufende Leerstellen

//----------------------------------------------------------------------------------------------------------------------
//Globale/Extern-Definition:
//----------------------------------------------------------------------------------------------------------------------
extern U08 nc_buffer[];                          // Umwandlungspuffer (8-Bit-Array mit 16 Elementen)

//----------------------------------------------------------------------------------------------------------------------
//Funktions-Prototypen: FUNKTIONEN FUER DIE KONVERTIERUNG VERSCHIEDENER DATEN-TYPEN:
//----------------------------------------------------------------------------------------------------------------------
pU08 nc_format(pU08 source_ptr,U08 digits);      // Formatierung des Uebergabe-Strings durch Auffuellen mit Space    4.1
pU08 nc_U08_to_str(U08 value,U08 digits);        // Wandle eine 8-Bit-Dual-Zahl in ein ASCII-String um               4.2
pU08 nc_S08_to_str(S08 signed_value,U08 digits); // Wandle eine vorzeichenbehaftete 8-Bit-Dual-Zahl nach ASCII um    4.3
pU08 nc_U08_to_hex(U08 value);                   // Wandle eine 8-Bit-Dual-Zahl in eine Hexadezimal-Zahl um          4.4
pU08 nc_U08_to_bin(U08 value);                   // Wandle eine 8-Bit-Dual-Zahl in ein Binary-String um              4.5
pU08 nc_U16_to_str(U16 value,U08 digits);        // Wandle eine 16-Bit-Dual-Zahl in ein ASCII-String um              4.6
pU08 nc_S16_to_str(S16 signed_value,U08 digits); // Wandle eine vorzeichenbehaftete 16-Bit-Dual-Zahl nach ASCII      4.7
pU08 nc_U16_to_hex(U16 value);                   // Wandle eine 16-Bit-Dual-Zahl in eine Hexadezimal-Zahl um         4.8
pU08 nc_U32_to_str(U32 value,U08 digits);        // Wandle eine 32-Bit-Dual-Zahl in ein ASCII-String um              4.9
pU08 nc_S32_to_str(S32 signed_value,U08 digits); // Wandle eine vorzeichenbehaftete 32-Bit-Dual-Zahl nach ASCII     4.10
pU08 nc_U32_to_hex(U32 value);                   // Wandle eine 32-Bit-Dual-Zahl in eine Hexadezimal-Zahl um        4.11
pU08 nc_float_to_str(float value,U08 decimals,U08 digits); // Wandle 32-Bit-Gleitkomma-Zahl in ASCII-String um      4.12

//----------------------------------------------------------------------------------------------------------------------
//Mit #endif endet jede Header-Datei:
//----------------------------------------------------------------------------------------------------------------------
#endif

