Subversion Repositories MK3Mag

Rev

Rev 52 | Rev 54 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 52 Rev 53
Line 96... Line 96...
96
uint8_t RequestFlags = 0x00;
96
uint8_t RequestFlags = 0x00;
97
uint8_t RequestDebugLabel = 0;
97
uint8_t RequestDebugLabel = 0;
98
uint8_t ConfirmFrame = 0;
98
uint8_t ConfirmFrame = 0;
99
uint8_t RemoteKeys = 0;
99
uint8_t RemoteKeys = 0;
100
uint8_t DisplayLine = 0;
100
uint8_t DisplayLine = 0;
101
uint8_t DisplayBuff[80];
-
 
102
/*
-
 
103
const uint8_t DisplayBuff[4][20] =
-
 
104
{
101
 
105
        "++     MK3MAG     ++",
102
const uint8_t BoardString[20] = "++     MK3MAG     ++";
106
        "                    ",
103
const uint8_t EmptyString[20] = "                    ";
107
        "                    ",
104
const uint8_t VersionString[20] = {' ',' ',' ',' ',' ',' ',' ','V',(0x30 + VERSION_MAJOR),'.',('0' + VERSION_MINOR/10),('0' + VERSION_MINOR%10),('a' + VERSION_PATCH),' ',' ',' ',' ',' ',' ',' '};
108
        "                    "
-
 
109
};*/
-
 
Line 110... Line 105...
110
 
105
 
111
uint16_t PC_Connected = 0;
106
uint16_t PC_Connected = 0;
Line 161... Line 156...
161
/****************************************************************/
156
/****************************************************************/
162
/*              Initialization of the USART0                    */
157
/*              Initialization of the USART0                    */
163
/****************************************************************/
158
/****************************************************************/
164
void USART0_Init (void)
159
void USART0_Init (void)
165
{
160
{
166
        uint8_t i;
-
 
167
        uint8_t sreg = SREG;
161
        uint8_t sreg = SREG;
168
        uint16_t ubrr = (uint16_t) ((uint32_t) F_CPU/(8 * BAUD_RATE) - 1);
162
        uint16_t ubrr = (uint16_t) ((uint32_t) F_CPU/(8 * BAUD_RATE) - 1);
Line 169... Line 163...
169
 
163
 
170
        // disable all interrupts before configuration
164
        // disable all interrupts before configuration
Line 242... Line 236...
242
        USART0_putchar ('\n');
236
        USART0_putchar ('\n');
243
        USART0_putchar ('C');
237
        USART0_putchar ('C');
244
        USART0_putchar ('P');
238
        USART0_putchar ('P');
245
        USART0_putchar (':');
239
        USART0_putchar (':');
246
        USART0_putchar ('V');
240
        USART0_putchar ('V');
247
        USART0_putchar (0x30 + VERSION_MAJOR);
241
        USART0_putchar ('0' + VERSION_MAJOR);
248
        USART0_putchar ('.');
242
        USART0_putchar ('.');
249
        USART0_putchar (0x30 + VERSION_MINOR/10);
243
        USART0_putchar ('0' + VERSION_MINOR/10);
250
        USART0_putchar (0x30 + VERSION_MINOR%10);
244
        USART0_putchar ('0' + VERSION_MINOR%10);
251
        USART0_putchar ('a' + VERSION_PATCH);
245
        USART0_putchar ('a' + VERSION_PATCH);
252
    USART0_putchar ('\n');
246
    USART0_putchar ('\n');
Line 253... Line -...
253
 
-
 
254
        // prepare display buffer
-
 
255
        for(i=0; i < 80; i++) DisplayBuff[i] = ' ';
-
 
256
        DisplayBuff[0] = '+';
-
 
257
        DisplayBuff[1] = '+';
-
 
258
        DisplayBuff[7] = 'M';
-
 
259
        DisplayBuff[8] = 'K';
-
 
260
        DisplayBuff[9] = '3';
-
 
261
        DisplayBuff[10] = 'M';
-
 
262
        DisplayBuff[11] = 'A';
-
 
263
        DisplayBuff[12] = 'G';
-
 
264
        DisplayBuff[18] = '+';
-
 
265
        DisplayBuff[19] = '+';
-
 
266
 
-
 
267
        DisplayBuff[47] = 'V';
-
 
268
        DisplayBuff[48] = (0x30 + VERSION_MAJOR);
-
 
269
        DisplayBuff[49] = '.';
-
 
270
        DisplayBuff[50] = (0x30 + VERSION_MINOR/10);
-
 
271
        DisplayBuff[51] = (0x30 + VERSION_MINOR%10);
-
 
272
        DisplayBuff[52] = ('a' + VERSION_PATCH);
-
 
273
 
247
 
274
    // restore global interrupt flags
248
    // restore global interrupt flags
275
    SREG = sreg;
249
    SREG = sreg;
Line 276... Line 250...
276
}
250
}
Line 644... Line 618...
644
                RequestFlags &= ~RQST_DEBUG_DATA;
618
                RequestFlags &= ~RQST_DEBUG_DATA;
645
        }
619
        }
Line 646... Line 620...
646
 
620
 
647
        if((RequestFlags & RQST_DISPLAY_DATA) && txd_complete)
621
        if((RequestFlags & RQST_DISPLAY_DATA) && txd_complete)
-
 
622
        {
-
 
623
                switch(DisplayLine)
-
 
624
                {
-
 
625
                        case 0:
-
 
626
                        SendOutData('H', MK3MAG_ADDRESS, 2, &DisplayLine, sizeof(DisplayLine), BoardString, 20);
-
 
627
                        break;
-
 
628
 
648
        {
629
                        case 2:
-
 
630
                        SendOutData('H', MK3MAG_ADDRESS, 2, &DisplayLine, sizeof(DisplayLine), VersionString, 20);
-
 
631
                        break;
-
 
632
 
-
 
633
                        default:
-
 
634
                        SendOutData('H', MK3MAG_ADDRESS, 2, &DisplayLine, sizeof(DisplayLine), EmptyString, 20);
-
 
635
                        break;
649
                SendOutData('H', MK3MAG_ADDRESS, 2, &DisplayLine, sizeof(DisplayLine), &DisplayBuff[DisplayLine * 20], 20);
636
                }
650
                DisplayLine++;
637
                DisplayLine++;
651
                if(DisplayLine >= 4) DisplayLine = 0;
638
                if(DisplayLine >= 4) DisplayLine = 0;
652
                RequestFlags &= ~RQST_DISPLAY_DATA;
639
                RequestFlags &= ~RQST_DISPLAY_DATA;