NervesTime.RealTimeClock.BCD (nerves_time v0.4.9)

View Source

Convert between integers and binary-coded decimals (BCD)

BCD is commonly used in Real-time clock chips for historical reasons. See wikipedia.org/wiki/Binary-coded_decimal for a good background on BCD. The BCD implementation here is referred to as "Packed BCD" in the article.

Summary

Types

t()

Support two digit BCD

Functions

Convert a 8 bit integer value to a BCD binary

Convert an 8 bit bcd-encoded value to an integer

Types

t()

@type t() ::
  0..9
  | 16..25
  | 32..41
  | 48..57
  | 64..73
  | 80..89
  | 96..105
  | 112..121
  | 128..137
  | 144..153

Support two digit BCD

Functions

from_integer(value)

@spec from_integer(0..99) :: t()

Convert a 8 bit integer value to a BCD binary

to_integer(value)

@spec to_integer(t()) :: 0..99

Convert an 8 bit bcd-encoded value to an integer