lcdproxima.h File Reference

LCD handling prototypes for Proxima-01 LCD. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define LCDP_DDR   (DDRD)
#define LCDP_PORT   (PORTD)
#define LCDP_DATA   (1 << PD2)
#define LCDP_CLB   (1 << PD3)
#define LCDP_DLEN   (1 << PD4)
#define LCDP_SELECT_LATCH_A   (32ul)
#define LCDP_SELECT_LATCH_B   (0ul)
#define LCDP_SEGMENT_TSD   ((uint64_t) 1 << (0 + LCDP_SELECT_LATCH_A))
 tsd=
#define LCDP_SEGMENT_ISD   ((uint64_t) 1 << (23 + LCDP_SELECT_LATCH_A))
 Isd=.
#define LCDP_SEGMENT_TR   ((uint64_t) 1 << (24 + LCDP_SELECT_LATCH_A))
 Ir=.
#define LCDP_SEGMENT_IDELTAN   ((uint64_t) 1 << (25 + LCDP_SELECT_LATCH_A))
 I/
=.
#define LCDP_SEGMENT_TG   ((uint64_t) 1 << (0 + LCDP_SELECT_LATCH_B))
 tg=
#define LCDP_SEGMENT_DELTAT   ((uint64_t) 1 << (1 + LCDP_SELECT_LATCH_B))
 /=
#define LCDP_SEGMENT_II   ((uint64_t) 1 << (23 + LCDP_SELECT_LATCH_B))
 Ii=.
#define LCDP_SEGMENT_IR   ((uint64_t) 1 << (24 + LCDP_SELECT_LATCH_B))
 Ir=.
#define LCDP_SEGMENT_IG   ((uint64_t) 1 << (25 + LCDP_SELECT_LATCH_B))
 Ig=.
#define LCDP_SEGMENT_ARROW0   ((uint64_t) 1 << (8 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_ARROW1   ((uint64_t) 1 << (8 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_ARROW2   ((uint64_t) 1 << (3 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_ARROW3   ((uint64_t) 1 << (3 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_KILO   ((uint64_t) 1 << (11 + LCDP_SELECT_LATCH_A))
 k
#define LCDP_SEGMENT_AMPER   ((uint64_t) 1 << (11 + LCDP_SELECT_LATCH_B))
 A.
#define LCDP_SEGMENT_SIEMENS   ((uint64_t) 1 << (14 + LCDP_SELECT_LATCH_A))
 S.
#define LCDP_SEGMENT_BATTERY   ((uint64_t) 1 << (14 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_BATTERY_LOW   ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_BATTERY_FULL   ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_MAX   ((uint64_t) 1 << (19 + LCDP_SELECT_LATCH_A))
 Max.
#define LCDP_SEGMENT_GROUND   ((uint64_t) 1 << (19 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_3A   ((uint64_t) 1 << (22 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_3B   ((uint64_t) 1 << (21 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_3C   ((uint64_t) 1 << (2 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_3D   ((uint64_t) 1 << (1 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_3E   ((uint64_t) 1 << (2 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_3F   ((uint64_t) 1 << (22 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_3G   ((uint64_t) 1 << (21 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_3DP   ((uint64_t) 1 << (4 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_2A   ((uint64_t) 1 << (20 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_2B   ((uint64_t) 1 << (18 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_2C   ((uint64_t) 1 << (5 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_2D   ((uint64_t) 1 << (4 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_2E   ((uint64_t) 1 << (5 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_2F   ((uint64_t) 1 << (20 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_2G   ((uint64_t) 1 << (18 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_2DP   ((uint64_t) 1 << (6 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_1A   ((uint64_t) 1 << (17 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_1B   ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_1C   ((uint64_t) 1 << (7 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_1D   ((uint64_t) 1 << (6 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_1E   ((uint64_t) 1 << (7 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_1F   ((uint64_t) 1 << (17 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_1G   ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_1DP   ((uint64_t) 1 << (9 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_0A   ((uint64_t) 1 << (13 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_0B   ((uint64_t) 1 << (12 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_0C   ((uint64_t) 1 << (10 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_0D   ((uint64_t) 1 << (9 + LCDP_SELECT_LATCH_A))
#define LCDP_SEGMENT_0E   ((uint64_t) 1 << (10 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_0F   ((uint64_t) 1 << (13 + LCDP_SELECT_LATCH_B))
#define LCDP_SEGMENT_0G   ((uint64_t) 1 << (12 + LCDP_SELECT_LATCH_B))

Functions

void LCDP_init (void)
 Initialize ports.
void LCDP_clear (void)
 Clear all segment of LCD.
void LCDP_all (void)
 Shows all segment of LCD.
void LCDP_writeLatch (uint32_t segments, bool_t latchA)
 Put data to latch A or latch B.
void LCDP_writeLatches (void)
 Write internal latches to PCF2111's latches.
void LCDP_printNumber (uint16_t number, bool_t leadingZeros)
 Print number to LCD in decimal format.
void LCDP_printNumberHex (uint16_t number)
 Print number to LCD in hexadecimal format.
void LCDP_printNumberHexLZ (uint16_t number)
 Print number to LCD in hexadecimal format.

Variables

uint64_t latches
 Internal mirror of latches in PCF2111.

Detailed Description

LCD handling prototypes for Proxima-01 LCD.

Author:
Copyright (C) Peter Ivanov, 2007

Created: 2008-03-31 10:19:22 Last modify: 2010-08-24 17:51:16 ivanovp {Time-stamp} Licence: GPL

Definition in file lcdproxima.h.


Define Documentation

#define LCDP_CLB   (1 << PD3)

Definition at line 18 of file lcdproxima.h.

#define LCDP_DATA   (1 << PD2)

Definition at line 17 of file lcdproxima.h.

#define LCDP_DDR   (DDRD)

Definition at line 15 of file lcdproxima.h.

#define LCDP_DLEN   (1 << PD4)

Definition at line 19 of file lcdproxima.h.

#define LCDP_PORT   (PORTD)

Definition at line 16 of file lcdproxima.h.

#define LCDP_SEGMENT_0A   ((uint64_t) 1 << (13 + LCDP_SELECT_LATCH_A))

Definition at line 89 of file lcdproxima.h.

#define LCDP_SEGMENT_0B   ((uint64_t) 1 << (12 + LCDP_SELECT_LATCH_A))

Definition at line 90 of file lcdproxima.h.

#define LCDP_SEGMENT_0C   ((uint64_t) 1 << (10 + LCDP_SELECT_LATCH_A))

Definition at line 91 of file lcdproxima.h.

#define LCDP_SEGMENT_0D   ((uint64_t) 1 << (9 + LCDP_SELECT_LATCH_A))

Definition at line 92 of file lcdproxima.h.

#define LCDP_SEGMENT_0E   ((uint64_t) 1 << (10 + LCDP_SELECT_LATCH_B))

Definition at line 93 of file lcdproxima.h.

#define LCDP_SEGMENT_0F   ((uint64_t) 1 << (13 + LCDP_SELECT_LATCH_B))

Definition at line 94 of file lcdproxima.h.

#define LCDP_SEGMENT_0G   ((uint64_t) 1 << (12 + LCDP_SELECT_LATCH_B))

Definition at line 95 of file lcdproxima.h.

#define LCDP_SEGMENT_1A   ((uint64_t) 1 << (17 + LCDP_SELECT_LATCH_A))

Definition at line 80 of file lcdproxima.h.

#define LCDP_SEGMENT_1B   ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_A))

Definition at line 81 of file lcdproxima.h.

#define LCDP_SEGMENT_1C   ((uint64_t) 1 << (7 + LCDP_SELECT_LATCH_A))

Definition at line 82 of file lcdproxima.h.

#define LCDP_SEGMENT_1D   ((uint64_t) 1 << (6 + LCDP_SELECT_LATCH_A))

Definition at line 83 of file lcdproxima.h.

#define LCDP_SEGMENT_1DP   ((uint64_t) 1 << (9 + LCDP_SELECT_LATCH_B))

Definition at line 87 of file lcdproxima.h.

#define LCDP_SEGMENT_1E   ((uint64_t) 1 << (7 + LCDP_SELECT_LATCH_B))

Definition at line 84 of file lcdproxima.h.

#define LCDP_SEGMENT_1F   ((uint64_t) 1 << (17 + LCDP_SELECT_LATCH_B))

Definition at line 85 of file lcdproxima.h.

#define LCDP_SEGMENT_1G   ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_B))

Definition at line 86 of file lcdproxima.h.

#define LCDP_SEGMENT_2A   ((uint64_t) 1 << (20 + LCDP_SELECT_LATCH_A))

Definition at line 71 of file lcdproxima.h.

#define LCDP_SEGMENT_2B   ((uint64_t) 1 << (18 + LCDP_SELECT_LATCH_A))

Definition at line 72 of file lcdproxima.h.

#define LCDP_SEGMENT_2C   ((uint64_t) 1 << (5 + LCDP_SELECT_LATCH_A))

Definition at line 73 of file lcdproxima.h.

#define LCDP_SEGMENT_2D   ((uint64_t) 1 << (4 + LCDP_SELECT_LATCH_A))

Definition at line 74 of file lcdproxima.h.

#define LCDP_SEGMENT_2DP   ((uint64_t) 1 << (6 + LCDP_SELECT_LATCH_B))

Definition at line 78 of file lcdproxima.h.

#define LCDP_SEGMENT_2E   ((uint64_t) 1 << (5 + LCDP_SELECT_LATCH_B))

Definition at line 75 of file lcdproxima.h.

#define LCDP_SEGMENT_2F   ((uint64_t) 1 << (20 + LCDP_SELECT_LATCH_B))

Definition at line 76 of file lcdproxima.h.

#define LCDP_SEGMENT_2G   ((uint64_t) 1 << (18 + LCDP_SELECT_LATCH_B))

Definition at line 77 of file lcdproxima.h.

#define LCDP_SEGMENT_3A   ((uint64_t) 1 << (22 + LCDP_SELECT_LATCH_A))

Definition at line 62 of file lcdproxima.h.

#define LCDP_SEGMENT_3B   ((uint64_t) 1 << (21 + LCDP_SELECT_LATCH_A))

Definition at line 63 of file lcdproxima.h.

#define LCDP_SEGMENT_3C   ((uint64_t) 1 << (2 + LCDP_SELECT_LATCH_A))

Definition at line 64 of file lcdproxima.h.

#define LCDP_SEGMENT_3D   ((uint64_t) 1 << (1 + LCDP_SELECT_LATCH_A))

Definition at line 65 of file lcdproxima.h.

#define LCDP_SEGMENT_3DP   ((uint64_t) 1 << (4 + LCDP_SELECT_LATCH_B))

Definition at line 69 of file lcdproxima.h.

#define LCDP_SEGMENT_3E   ((uint64_t) 1 << (2 + LCDP_SELECT_LATCH_B))

Definition at line 66 of file lcdproxima.h.

#define LCDP_SEGMENT_3F   ((uint64_t) 1 << (22 + LCDP_SELECT_LATCH_B))

Definition at line 67 of file lcdproxima.h.

#define LCDP_SEGMENT_3G   ((uint64_t) 1 << (21 + LCDP_SELECT_LATCH_B))

Definition at line 68 of file lcdproxima.h.

#define LCDP_SEGMENT_AMPER   ((uint64_t) 1 << (11 + LCDP_SELECT_LATCH_B))

A.

Definition at line 43 of file lcdproxima.h.

#define LCDP_SEGMENT_ARROW0   ((uint64_t) 1 << (8 + LCDP_SELECT_LATCH_A))

Definition at line 37 of file lcdproxima.h.

#define LCDP_SEGMENT_ARROW1   ((uint64_t) 1 << (8 + LCDP_SELECT_LATCH_B))

Definition at line 38 of file lcdproxima.h.

#define LCDP_SEGMENT_ARROW2   ((uint64_t) 1 << (3 + LCDP_SELECT_LATCH_A))

Definition at line 39 of file lcdproxima.h.

#define LCDP_SEGMENT_ARROW3   ((uint64_t) 1 << (3 + LCDP_SELECT_LATCH_B))

Definition at line 40 of file lcdproxima.h.

#define LCDP_SEGMENT_BATTERY   ((uint64_t) 1 << (14 + LCDP_SELECT_LATCH_B))

Definition at line 46 of file lcdproxima.h.

#define LCDP_SEGMENT_BATTERY_FULL   ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_B))

Definition at line 48 of file lcdproxima.h.

#define LCDP_SEGMENT_BATTERY_LOW   ((uint64_t) 1 << (16 + LCDP_SELECT_LATCH_A))

Definition at line 47 of file lcdproxima.h.

#define LCDP_SEGMENT_DELTAT   ((uint64_t) 1 << (1 + LCDP_SELECT_LATCH_B))

/=

Definition at line 32 of file lcdproxima.h.

#define LCDP_SEGMENT_GROUND   ((uint64_t) 1 << (19 + LCDP_SELECT_LATCH_B))

Definition at line 51 of file lcdproxima.h.

#define LCDP_SEGMENT_IDELTAN   ((uint64_t) 1 << (25 + LCDP_SELECT_LATCH_A))

I/
=.

Definition at line 29 of file lcdproxima.h.

#define LCDP_SEGMENT_IG   ((uint64_t) 1 << (25 + LCDP_SELECT_LATCH_B))

Ig=.

Definition at line 35 of file lcdproxima.h.

#define LCDP_SEGMENT_II   ((uint64_t) 1 << (23 + LCDP_SELECT_LATCH_B))

Ii=.

Definition at line 33 of file lcdproxima.h.

#define LCDP_SEGMENT_IR   ((uint64_t) 1 << (24 + LCDP_SELECT_LATCH_B))

Ir=.

Definition at line 34 of file lcdproxima.h.

#define LCDP_SEGMENT_ISD   ((uint64_t) 1 << (23 + LCDP_SELECT_LATCH_A))

Isd=.

Definition at line 27 of file lcdproxima.h.

#define LCDP_SEGMENT_KILO   ((uint64_t) 1 << (11 + LCDP_SELECT_LATCH_A))

k

Definition at line 42 of file lcdproxima.h.

#define LCDP_SEGMENT_MAX   ((uint64_t) 1 << (19 + LCDP_SELECT_LATCH_A))

Max.

Definition at line 50 of file lcdproxima.h.

#define LCDP_SEGMENT_SIEMENS   ((uint64_t) 1 << (14 + LCDP_SELECT_LATCH_A))

S.

Definition at line 44 of file lcdproxima.h.

#define LCDP_SEGMENT_TG   ((uint64_t) 1 << (0 + LCDP_SELECT_LATCH_B))

tg=

Definition at line 31 of file lcdproxima.h.

#define LCDP_SEGMENT_TR   ((uint64_t) 1 << (24 + LCDP_SELECT_LATCH_A))

Ir=.

Definition at line 28 of file lcdproxima.h.

#define LCDP_SEGMENT_TSD   ((uint64_t) 1 << (0 + LCDP_SELECT_LATCH_A))

tsd=

Definition at line 26 of file lcdproxima.h.

#define LCDP_SELECT_LATCH_A   (32ul)

Definition at line 21 of file lcdproxima.h.

#define LCDP_SELECT_LATCH_B   (0ul)

Definition at line 22 of file lcdproxima.h.


Function Documentation

void LCDP_all ( void   ) 

Shows all segment of LCD.

Useful for testing the LCD.

Author:
Peter Ivanov

Definition at line 190 of file lcdproxima.c.

void LCDP_clear ( void   ) 

Clear all segment of LCD.

Author:
Peter Ivanov

Definition at line 179 of file lcdproxima.c.

void LCDP_init ( void   )  [inline]

Initialize ports.

Definition at line 106 of file lcdproxima.c.

void LCDP_printNumber ( uint16_t  number,
bool_t  leadingZeros 
)

Print number to LCD in decimal format.

Input:

Parameters:
number Number to print.
leadingZeros TRUE: print leading zeros. FALSE: don't print zeros.

Definition at line 203 of file lcdproxima.c.

void LCDP_printNumberHex ( uint16_t  number  ) 

Print number to LCD in hexadecimal format.

Input:

Parameters:
number Number to print.

Definition at line 249 of file lcdproxima.c.

void LCDP_printNumberHexLZ ( uint16_t  number  ) 

Print number to LCD in hexadecimal format.

Input:

Parameters:
number Number to print.

Definition at line 280 of file lcdproxima.c.

void LCDP_writeLatch ( uint32_t  segments,
bool_t  latchA 
)

Put data to latch A or latch B.

Both latches have 32 bits.

Input:

Parameters:
segments Latch data: which segments should be enabled.
latchA Select latch. TRUE: latch A, FALSE: latch B.

Definition at line 130 of file lcdproxima.c.

void LCDP_writeLatches ( void   ) 

Write internal latches to PCF2111's latches.

Definition at line 168 of file lcdproxima.c.


Variable Documentation

uint64_t latches

Internal mirror of latches in PCF2111.

Upper 32-bit is latch A, lower 32-bit is latch B.

Definition at line 20 of file lcdproxima.c.

Generated on Sat Oct 9 20:10:52 2010 for Sonar with ATMEGA88P by  doxygen 1.6.3