Github!


teletext

-- import "github.com/boomlinde/teletext"

A Go library for generating teletext data suitable for raspi-teletext. Contains data structures and routines suitable for building pages from the ground up or generating them using .tti files.

Usage

func Ham

func Ham(data []byte) []byte

8:4 hamming encodes the input bytes

func Parity

func Parity(data []byte) []byte

Generates parity bit for 7 bit data

type Header

type Header struct {
    Page int // Page number
    Row  int // Row number
}

Teletext line header.

func (Header) GetHeader

func (h Header) GetHeader() *Header

Returns a pointer to the line header

func (Header) Serialize

func (h Header) Serialize() []byte

func (Header) SetPage

func (h Header) SetPage(page int)

Sets the page number of a line

type Line

type Line interface {
    Serialize() []byte
    GetHeader() *Header
    SetPage(int)
}

Interface for line types

type OutputLine

type OutputLine struct {
    Header
    Data []byte // Line data
}

Output line type

func (OutputLine) Serialize

func (o OutputLine) Serialize() []byte

type Page

type Page []Line

func ConvertTTI

func ConvertTTI(title string, data []byte) Page

Converts .tti file data to the internal page format

func ConvertTTV

func ConvertTTV(title string, pagenumber int, data []byte) Page

Converts 971 format .ttv file data to the internal page format

func (Page) Len

func (p Page) Len() int

Satisfies sorting interface

func (Page) Less

func (p Page) Less(i, j int) bool

Satisfies sorting interface

func (Page) Serialize

func (p Page) Serialize() []byte

Serializes a teletext page

func (Page) Swap

func (p Page) Swap(i, j int)

Satisfies sorting interface

type PageHeader

type PageHeader struct {
    Header
    Title string // Page title
}

Page header line type

func (PageHeader) Serialize

func (p PageHeader) Serialize() []byte