Subversion Repositories HomeAutomation

Rev

Rev 1006 | Rev 1019 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed

Rev 1006 Rev 1017
Line 25... Line 25...
25
    glcdPowerOn();
25
    glcdPowerOn();
26
 
26
 
27
    uint16_t ixa = 0;
27
    uint16_t ixa = 0;
28
    uint8_t jxa = 0;
28
    uint8_t jxa = 0;
29
    for (jxa = 0; jxa< 8; jxa++){
29
    for (jxa = 0; jxa< 8; jxa++){
30
        glcdSetXY(0,jxa);
30
        glcdSetXY(0,jxa*8);
31
        for (ixa = 0; ixa < 128; ixa++){
31
        for (ixa = 0; ixa < 128; ixa++){
32
            glcdWriteData((uint8_t)pgm_read_byte((uint16_t)&Splash_left+ixa+jxa*128));
32
            glcdWriteData((uint8_t)pgm_read_byte((uint16_t)&Splash_left+ixa+jxa*128), GLCD_COLOR_CLEAR);
33
        }
-
 
34
    }
33
        }
-
 
34
    }
-
 
35
    glcdSetXY(0,0);
-
 
36
    glcdPutStrTransparent("=_-[]_-=",GLCD_COLOR_SET);
-
 
37
    glcdSetXY(0,8);
-
 
38
    glcdPutStrTransparent("--------",GLCD_COLOR_SET);
-
 
39
    glcdSetXY(0,16);
-
 
40
    glcdPutStr("-_=[]=-_",GLCD_COLOR_SET);
-
 
41
    glcdDrawRect(32, 32, 40, 16, GLCD_COLOR_SET);
-
 
42
    glcdDrawLine(10, 10, 100, 60, GLCD_COLOR_SET);
-
 
43
    glcdFillRect(90, 10, 20, 20, GLCD_COLOR_SET);
-
 
44
    glcdInvertRect(28, 10, 20, 20);
-
 
45
    glcdInvert();
-
 
46
    glcdDrawRoundRect(85, 5, 30, 30, 5, GLCD_COLOR_SET);
-
 
47
    glcdDrawCircle(64, 32, 10, 1);
-
 
48
    glcdSetXY(12,40);
-
 
49
    glcdPutStrTransparent("Hejsan",GLCD_COLOR_CLEAR);
-
 
50
    glcdDrawLine(10, 62, 50, 5, GLCD_COLOR_CLEAR);
-
 
51
   
35
}
52
}
36
 
53
 
37
void act_ks0108_Process(void)
54
void act_ks0108_Process(void)
38
{
55
{
39
    ///TODO: Stuff that needs doing is done here
56
    ///TODO: Stuff that needs doing is done here
40
}
57
}
41
 
58
 
42
void act_ks0108_HandleMessage(StdCan_Msg_t *rxMsg)
59
void act_ks0108_HandleMessage(StdCan_Msg_t *rxMsg)
43
{
60
{
44
    StdCan_Msg_t txMsg;
61
    StdCan_Msg_t txMsg;
45
    uint8_t n = 0;
62
    uint8_t n = 0;
Line 50... Line 67...
50
        rxMsg->Header.ModuleId == act_ks0108_ID)
67
        rxMsg->Header.ModuleId == act_ks0108_ID)
51
    {
68
    {
52
    switch (rxMsg->Header.Command)
69
    switch (rxMsg->Header.Command)
53
    {
70
    {
54
        case CAN_MODULE_CMD_KS0108_LCD_CLEAR:
71
        case CAN_MODULE_CMD_KS0108_LCD_CLEAR:
-
 
72
          glcdSetColor((0x7f&rxMsg->Data[0])>>7);
55
          glcdClear();
73
          glcdClear();
56
          break;
74
          break;
57
 
75
 
58
        case CAN_MODULE_CMD_KS0108_LCD_CURSOR:
76
        case CAN_MODULE_CMD_KS0108_LCD_CURSOR:
59
          glcdSetXY(rxMsg->Data[0], rxMsg->Data[1]);
77
          glcdSetXY(rxMsg->Data[0], rxMsg->Data[1]);
60
          break;
78
          break;
61
 
79
 
62
        case CAN_MODULE_CMD_KS0108_LCD_TEXTAT:
80
        case CAN_MODULE_CMD_KS0108_LCD_TEXTAT:
63
          glcdSetXY(rxMsg->Data[0], rxMsg->Data[1]);
81
          glcdSetXY((0x3f&rxMsg->Data[0])*6, rxMsg->Data[1]*8);
64
          for (n = 2; n < rxMsg->Length; n++)
82
          for (n = 2; n < rxMsg->Length; n++)
65
          {
83
          {
66
              glcdWriteChar((char)rxMsg->Data[n]);
84
              glcdWriteChar((char)rxMsg->Data[n], (0x7f&rxMsg->Data[0])>>7);
67
          }
85
          }
68
        break;
86
        break;
69
 
87
 
70
        case CAN_MODULE_CMD_KS0108_LCD_TEXT:
88
        case CAN_MODULE_CMD_KS0108_LCD_TEXT:
71
        for (n = 0; n < rxMsg->Length; n++)
89
        for (n = 0; n < rxMsg->Length; n++)
72
        {
90
        {
73
            glcdWriteChar((char)rxMsg->Data[n]);
91
            glcdWriteChar((char)rxMsg->Data[n], GLCD_COLOR_SET);
74
        }
92
        }
75
        break;
93
        break;
76
 
94
 
77
        case CAN_MODULE_CMD_KS0108_LCD_BACKLIGHT:
95
        case CAN_MODULE_CMD_KS0108_LCD_BACKLIGHT:
78
        if (rxMsg->Length > 0) {
96
        if (rxMsg->Length > 0) {
Line 86... Line 104...
86
#else
104
#else
87
            OCR0B = rxMsg->Data[0];
105
            OCR0B = rxMsg->Data[0];
88
#endif
106
#endif
89
*/
107
*/
90
        }
108
        }
91
 
-
 
92
        StdCan_Msg_t txMsg;
-
 
93
 
-
 
94
        StdCan_Set_class(txMsg.Header, CAN_MODULE_CLASS_ACT);
109
        StdCan_Set_class(txMsg.Header, CAN_MODULE_CLASS_ACT);
95
        StdCan_Set_direction(txMsg.Header, DIRECTIONFLAG_FROM_OWNER);
110
        StdCan_Set_direction(txMsg.Header, DIRECTIONFLAG_FROM_OWNER);
96
        txMsg.Header.ModuleType = CAN_MODULE_TYPE_ACT_KS0108;
111
        txMsg.Header.ModuleType = CAN_MODULE_TYPE_ACT_KS0108;
97
        txMsg.Header.ModuleId = act_ks0108_ID;
112
        txMsg.Header.ModuleId = act_ks0108_ID;
98
        txMsg.Header.Command = CAN_MODULE_CMD_KS0108_LCD_BACKLIGHT;
113
        txMsg.Header.Command = CAN_MODULE_CMD_KS0108_LCD_BACKLIGHT;