Neopixel
Neopixelstripe.c-Dateireferenz
#include <stdio.h>
#include <stdlib.h>
#include <p18cxxx.h>
#include <xc.h>
#include "system.h"
#include <stdint.h>
Include-Abhängigkeitsdiagramm für Neopixelstripe.c:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  pixelcolor
 
struct  temp_pixelcolor
 
struct  pxcolor
 

Makrodefinitionen

#define LED_TRIS   TRISAbits.RA0
 
#define LED   LATAbits.LATA0
 
#define NEOPIXEL_TRIS   TRISBbits.RB0
 
#define NEOPIXEL_OUT   LATBbits.LATB0
 
#define TRUE   = 1
 
#define FALSE   = 0
 

Funktionen

void Low ()
 create 0 code T0H = 0,35µs High T0L = 0,7µs Mehr ...
 
void High ()
 create 1 code T1H = 0,7µs High T1L = 0,6µs Low Mehr ...
 
void Res ()
 create Reset code Treset >= 50µs Low Mehr ...
 
void Warte (uint16_t loops)
 dalays for loops times 10ms Mehr ...
 
void Init_Stripe (void)
 create Values to store in 2 dimentional Array Mehr ...
 
void Init_PXColors (uint8_t g, uint8_t r, uint8_t b)
 create Values to store in Array of struct PXColors simple Testpattern to learn Pointer Mehr ...
 
void Init_Pixelcolors (uint8_t brightness)
 create Values to store in Array of struct Pixelcolors simple Testpattern Mehr ...
 
void NeoInit (uint8_t colorvalue)
 create Values to store in Array Routine stolen by "The Signal Path dot com" Mehr ...
 
void Prepare_Pixel (uint8_t j)
 copys Pixelvalues Mehr ...
 
void Write_Byte (uint8_t bytetosend)
 splits one Byte in bit to drive Hardware Important! MSB must sent as first

Mehr ...
 
void Write_Pixel (uint8_t gbyte, uint8_t rbyte, uint8_t bbyte)
 writes exactly one Pixel with one Byte for G,R,B Mehr ...
 
void Write_Stripe (uint8_t gbyte, uint8_t rbyte, uint8_t bbyte)
 writes whole stripe in runs ( 0 to 30) Mehr ...
 
void Write_Stripe_Mono (struct pxcolor *rd_ptr)
 writes whole stripe with pointer to array)monocolor Mehr ...
 
void Write_PXColors2Pixel (void)
 Values stored in Array simple Testpattern to learn Pointer. Mehr ...
 
void Write_PXColors2pixel2 (void)
 
void Moving_Bloc (void)
 moves bloc of pixel left to right and viceversa Mehr ...
 
void Write_Stripe_New (struct pxcolor *rd_ptr)
 writes whole stripe with pointer to array)monocolor Mehr ...
 
void Init_Pixelcolors_New (uint8_t brightness)
 create Values to store in Array of struct PXColors simple Testpattern to learn Pointer Mehr ...
 
void Write_PXColors2Pixel2 (void)
 Values stored in Array simple Testpattern to learn Pointer. Mehr ...
 
void NeoInit_New (uint8_t colorvalue)
 create Values to store in Array of struct Pointerbased Routine stolen by "The Signal Path dot com" Mehr ...
 
void Moving_Bloc2 (void)
 moves bloc of pixel left to right and viceversa Mehr ...
 
void init_uart ()
 only for debugging Mehr ...
 
void uart_send (char ch)
 only for debugging Mehr ...
 
 main ()
 the main code Mehr ...
 

Variablen

uint8_t gbyte
 
uint8_t rbyte
 
uint8_t bbyte
 
uint8_t bytetosend
 
uint8_t pixel
 
uint8_t j
 
uint8_t limit
 
uint8_t colorvalue
 
uint8_t stripelength = 30
 
uint16_t i
 
uint16_t runs
 
uint16_t loops
 
uint8_t greens [30]
 
uint8_t reds [30]
 
uint8_t blues [30]
 
uint8_t stripe [30][3]
 
struct pixelcolor Pixelcolors [30]
 
struct temp_pixelcolor temp_pixelcolors
 
struct pxcolor pxcolors [30]
 
struct pxcolor pxred [30] ={0x00,0xff,0x00}
 
struct pxcolor pxgreen [30] ={0xff,0x00,0x00}
 
struct pxcolor pxyellow [30] ={0xff,0xff,0x00}
 
struct pxcolor pxpink [30] ={0x00,0xff,0xff}
 
struct pxcolor pxturkis [30] ={0xff,0x00,0xff}
 
struct pxcolor pxdark [30] ={0x00,0x00,0x00}
 
struct pxcolor pxwhite [30] ={0xff,0xff,0xff}
 
struct pxcolor pxblue [30] ={0x00,0x00,0xff}
 
struct pxcolorwr_ptr = &pxcolors
 
struct pxcolorrd_ptr = &pxcolors
 
struct pxcolorend_ptr = &pxcolors
 

Makro-Dokumentation

#define FALSE   = 0

Definiert in Zeile 46 der Datei Neopixelstripe.c.

#define LED   LATAbits.LATA0

Definiert in Zeile 39 der Datei Neopixelstripe.c.

#define LED_TRIS   TRISAbits.RA0

Includes Constants

Definiert in Zeile 38 der Datei Neopixelstripe.c.

#define NEOPIXEL_OUT   LATBbits.LATB0

Definiert in Zeile 42 der Datei Neopixelstripe.c.

#define NEOPIXEL_TRIS   TRISBbits.RB0

Definiert in Zeile 41 der Datei Neopixelstripe.c.

#define TRUE   = 1

Definiert in Zeile 45 der Datei Neopixelstripe.c.

Dokumentation der Funktionen

void High ( )

create 1 code T1H = 0,7µs High T1L = 0,6µs Low

High() in: out:

Definiert in Zeile 201 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Init_Pixelcolors ( uint8_t  brightness)

create Values to store in Array of struct Pixelcolors simple Testpattern

void Init_Pixelcolors(unsigned char brightness)

Definiert in Zeile 485 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Init_Pixelcolors_New ( uint8_t  brightness)

create Values to store in Array of struct PXColors simple Testpattern to learn Pointer

void Init_PXColors2(void)

Definiert in Zeile 406 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Init_PXColors ( uint8_t  g,
uint8_t  r,
uint8_t  b 
)

create Values to store in Array of struct PXColors simple Testpattern to learn Pointer

void Init_PXColors(void)

Definiert in Zeile 378 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Init_Stripe ( void  )

create Values to store in 2 dimentional Array

void Init_stripe(void)

Definiert in Zeile 328 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void init_uart ( )

only for debugging

void init_uart(void)

Definiert in Zeile 684 der Datei Neopixelstripe.c.

void Low ( void  )

create 0 code T0H = 0,35µs High T0L = 0,7µs

Functionprototypes

Low() in: out:

Definiert in Zeile 184 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

main ( void  )

the main code

void main(void)

Definiert in Zeile 716 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

void Moving_Bloc ( void  )

moves bloc of pixel left to right and viceversa

void moving_bloc(void)

Definiert in Zeile 612 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Moving_Bloc2 ( void  )

moves bloc of pixel left to right and viceversa

void moving_bloc2(void)

Definiert in Zeile 648 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void NeoInit ( uint8_t  colorvalue)

create Values to store in Array Routine stolen by "The Signal Path dot com"

void Init_stripe(void)

Definiert in Zeile 516 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void NeoInit_New ( uint8_t  colorvalue)

create Values to store in Array of struct Pointerbased Routine stolen by "The Signal Path dot com"

void Init_stripe(void)

Definiert in Zeile 543 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Prepare_Pixel ( uint8_t  j)

copys Pixelvalues

void prepare_pixel(unsigned char j)

Definiert in Zeile 576 der Datei Neopixelstripe.c.

void Res ( )

create Reset code Treset >= 50µs Low

Res() in: out:

Definiert in Zeile 218 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void uart_send ( char  ch)

only for debugging

void uart_send(char ch)

Definiert in Zeile 702 der Datei Neopixelstripe.c.

void Warte ( uint16_t  loops)

dalays for loops times 10ms

void Warte(void) in: loops - how many times to delay 10ms out:

Definiert in Zeile 167 der Datei Neopixelstripe.c.

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Write_Byte ( uint8_t  bytetosend)

splits one Byte in bit to drive Hardware Important! MSB must sent as first

void write_byte(unsigned char )

Definiert in Zeile 308 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Write_Pixel ( uint8_t  gbyte,
uint8_t  rbyte,
uint8_t  bbyte 
)

writes exactly one Pixel with one Byte for G,R,B

void Write_Pixel(unsigned char,unsigned char,unsigned char)

Definiert in Zeile 293 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Write_PXColors2Pixel ( void  )

Values stored in Array simple Testpattern to learn Pointer.

void Write_PXColors2stripe(void)

Definiert in Zeile 444 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Write_PXColors2pixel2 ( void  )
void Write_PXColors2Pixel2 ( void  )

Values stored in Array simple Testpattern to learn Pointer.

void Write_PXColors2stripe2(void)

Definiert in Zeile 465 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Write_Stripe ( uint8_t  gbyte,
uint8_t  rbyte,
uint8_t  bbyte 
)

writes whole stripe in runs ( 0 to 30)

void Write_Pixel(uint8_t gbyte,uint8_t rbyte,uint8_t bbyte) in: uint8_t gbyte,uint8_t rbyte,uint8_t bbyte GRB Values for Stripe out:

Definiert in Zeile 233 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

void Write_Stripe_Mono ( struct pxcolor rd_ptr)

writes whole stripe with pointer to array)monocolor

void write_stripe_mono

Definiert in Zeile 275 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

void Write_Stripe_New ( struct pxcolor rd_ptr)

writes whole stripe with pointer to array)monocolor

void write_stripe_new

Definiert in Zeile 258 der Datei Neopixelstripe.c.

Hier ist ein Graph, der zeigt, was diese Funktion aufruft:

Hier ist ein Graph der zeigt, wo diese Funktion aufgerufen wird:

Variablen-Dokumentation

uint8_t bbyte

Definiert in Zeile 54 der Datei Neopixelstripe.c.

uint8_t blues[30]

Definiert in Zeile 72 der Datei Neopixelstripe.c.

uint8_t bytetosend

Definiert in Zeile 55 der Datei Neopixelstripe.c.

uint8_t colorvalue

Definiert in Zeile 59 der Datei Neopixelstripe.c.

struct pxcolor* end_ptr = &pxcolors

Definiert in Zeile 128 der Datei Neopixelstripe.c.

uint8_t gbyte

Global Variables uintxxx Types needs <stdint.h>

Definiert in Zeile 52 der Datei Neopixelstripe.c.

uint8_t greens[30]

Arrays

Definiert in Zeile 70 der Datei Neopixelstripe.c.

uint16_t i

Definiert in Zeile 62 der Datei Neopixelstripe.c.

uint8_t j

Definiert in Zeile 57 der Datei Neopixelstripe.c.

uint8_t limit

Definiert in Zeile 58 der Datei Neopixelstripe.c.

uint16_t loops

Definiert in Zeile 64 der Datei Neopixelstripe.c.

uint8_t pixel

Definiert in Zeile 56 der Datei Neopixelstripe.c.

struct pixelcolor Pixelcolors[30]
struct pxcolor pxblue[30] ={0x00,0x00,0xff}
struct pxcolor pxcolors[30]
Initialisierung:
= {{0,0,0},{1,1,1},{2,2,2},{3,3,3},{4,4,4},{5,5,5},{6,6,6},
{7,7,7},{8,8,8},{9,9,9},{10,10,10},{11,11,11},{12,12,12},
{13,13,13},{14,14,14},{15,15,15},{16,16,16},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},}
struct pxcolor pxdark[30] ={0x00,0x00,0x00}
struct pxcolor pxgreen[30] ={0xff,0x00,0x00}
struct pxcolor pxpink[30] ={0x00,0xff,0xff}
struct pxcolor pxred[30] ={0x00,0xff,0x00}
struct pxcolor pxturkis[30] ={0xff,0x00,0xff}
struct pxcolor pxwhite[30] ={0xff,0xff,0xff}
struct pxcolor pxyellow[30] ={0xff,0xff,0x00}
uint8_t rbyte

Definiert in Zeile 53 der Datei Neopixelstripe.c.

struct pxcolor* rd_ptr = &pxcolors

Definiert in Zeile 127 der Datei Neopixelstripe.c.

uint8_t reds[30]

Definiert in Zeile 71 der Datei Neopixelstripe.c.

uint16_t runs

Definiert in Zeile 63 der Datei Neopixelstripe.c.

uint8_t stripe[30][3]

Arrays 2 Dimensiones

Definiert in Zeile 78 der Datei Neopixelstripe.c.

uint8_t stripelength = 30

Definiert in Zeile 60 der Datei Neopixelstripe.c.

struct temp_pixelcolor temp_pixelcolors
struct pxcolor* wr_ptr = &pxcolors

Definiert in Zeile 126 der Datei Neopixelstripe.c.