source: titan/titan/oled.h @ 30883

Last change on this file since 30883 was 30883, checked in by obi, 8 years ago

add debug for oled

  • Property svn:executable set to *
File size: 1.8 KB
Line 
1#ifndef OLED_H_
2#define OLED_H_
3
4void write2oled(unsigned char *buf, int xres, int yres)
5{
6        unsigned char* lfb1 = NULL;
7        int i = 0;
8        int bi = 0;
9       
10        lfb1 = malloc(xres * yres);
11        if(lfb1 == NULL)
12                return;
13               
14        for(i = 0; i <= xres*yres; i++)
15        {
16                //             R                           B                          G
17                lfb1[i] = ((76 * buf[bi+2]) / 255) + ((150 * buf[bi+1]) / 255) + ((28 * buf[bi]) / 255);
18                bi = bi + 4;
19        }
20       
21        int lcdfd1 = open("/dev/dbox/oled0", O_RDWR);
22        write(lcdfd1, lfb1, xres * yres);
23        close(lcdfd1);
24       
25        free(lfb1);
26        return;
27}
28
29int oledtext(char *value)
30{
31printf("b1: value: %s\n", value);
32
33        struct skin* OLED_nemesis = NULL;
34       
35        if(status.updatevfd == PAUSE)
36                OLED_nemesis = getscreen("OLED_nemesis_menu");
37        else if(status.standby == 1)
38                OLED_nemesis = getscreen("OLED_nemesis_standby");
39        else
40        {
41printf("b2: value: %s\n", value);
42                OLED_nemesis = getscreen(getskinconfig("OLED_nemesis", NULL));
43                if(status.skinerr == OLED_nemesis)
44                {
45                        OLED_nemesis = getscreen("OLED_nemesis");
46printf("b3: value: %s\n", value);
47                }
48        }
49       
50        struct skin* textbox = getscreennode(OLED_nemesis, "textbox");
51       
52        changetext(textbox, value);
53        drawscreen(OLED_nemesis, 0, 0);
54       
55        return 0;
56}
57
58struct fb* oledaddfb(int width, int height)
59{
60        struct fb *newnode = NULL;
61        char *name = ostrcat("oledskinfb", NULL, 0, 0);
62        newnode = (struct fb*)malloc(sizeof(struct fb));
63               
64        unsigned char *newskinfb = calloc(1, 4 * width * height);
65        if(newskinfb == NULL)
66                return NULL;
67        memset(newnode, 0, sizeof(struct fb));
68        newnode->name = name;
69        newnode->dev = 999;
70        newnode->width = width;
71        newnode->height = height;
72        newnode->colbytes = 4;
73        newnode->pitch = newnode->width * newnode->colbytes;
74        newnode->fb = newskinfb;
75        newnode->fblong = (unsigned long*)newnode->fb;
76        newnode->fd = -1;
77        newnode->fixfbsize = 4 * width * height;
78       
79        return newnode;
80}       
81       
82
83#endif 
84       
Note: See TracBrowser for help on using the repository browser.