Rev 1960 | Rev 1969 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1960 | Rev 1963 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
2 | // + Copyright (c) 04.2007 Holger Buss |
2 | // + Copyright (c) 04.2007 Holger Buss |
3 | // + Nur für den privaten Gebrauch |
3 | // + Nur f�r den privaten Gebrauch |
4 | // + www.MikroKopter.com |
4 | // + www.MikroKopter.com |
5 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
5 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
6 | // + Es gilt für das gesamte Projekt (Hardware, Software, Binärfiles, Sourcecode und Dokumentation), |
6 | // + Es gilt f�r das gesamte Projekt (Hardware, Software, Bin�rfiles, Sourcecode und Dokumentation), |
7 | // + dass eine Nutzung (auch auszugsweise) nur für den privaten und nicht-kommerziellen Gebrauch zulässig ist. |
7 | // + dass eine Nutzung (auch auszugsweise) nur f�r den privaten und nicht-kommerziellen Gebrauch zul�ssig ist. |
8 | // + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt |
8 | // + Sollten direkte oder indirekte kommerzielle Absichten verfolgt werden, ist mit uns (info@mikrokopter.de) Kontakt |
9 | // + bzgl. der Nutzungsbedingungen aufzunehmen. |
9 | // + bzgl. der Nutzungsbedingungen aufzunehmen. |
10 | // + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Bestückung und Verkauf von Platinen oder Bausätzen, |
10 | // + Eine kommerzielle Nutzung ist z.B.Verkauf von MikroKoptern, Best�ckung und Verkauf von Platinen oder Baus�tzen, |
11 | // + Verkauf von Luftbildaufnahmen, usw. |
11 | // + Verkauf von Luftbildaufnahmen, usw. |
12 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
12 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
13 | // + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder veröffentlicht, |
13 | // + Werden Teile des Quellcodes (mit oder ohne Modifikation) weiterverwendet oder ver�ffentlicht, |
14 | // + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright müssen dann beiliegen |
14 | // + unterliegen sie auch diesen Nutzungsbedingungen und diese Nutzungsbedingungen incl. Copyright m�ssen dann beiliegen |
15 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
15 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
16 | // + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts |
16 | // + Sollte die Software (auch auszugesweise) oder sonstige Informationen des MikroKopter-Projekts |
17 | // + auf anderen Webseiten oder Medien veröffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de" |
17 | // + auf anderen Webseiten oder Medien ver�ffentlicht werden, muss unsere Webseite "http://www.mikrokopter.de" |
18 | // + eindeutig als Ursprung verlinkt und genannt werden |
18 | // + eindeutig als Ursprung verlinkt und genannt werden |
19 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
19 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
20 | // + Keine Gewähr auf Fehlerfreiheit, Vollständigkeit oder Funktion |
20 | // + Keine Gew�hr auf Fehlerfreiheit, Vollst�ndigkeit oder Funktion |
21 | // + Benutzung auf eigene Gefahr |
21 | // + Benutzung auf eigene Gefahr |
22 | // + Wir übernehmen keinerlei Haftung für direkte oder indirekte Personen- oder Sachschäden |
22 | // + Wir �bernehmen keinerlei Haftung f�r direkte oder indirekte Personen- oder Sachsch�den |
23 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
23 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
24 | // + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur |
24 | // + Die Portierung der Software (oder Teile davon) auf andere Systeme (ausser der Hardware von www.mikrokopter.de) ist nur |
25 | // + mit unserer Zustimmung zulässig |
25 | // + mit unserer Zustimmung zul�ssig |
26 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
26 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
27 | // + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen |
27 | // + Die Funktion printf_P() unterliegt ihrer eigenen Lizenz und ist hiervon nicht betroffen |
28 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
28 | // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
29 | // + Redistributions of source code (with or without modifications) must retain the above copyright notice, |
29 | // + Redistributions of source code (with or without modifications) must retain the above copyright notice, |
30 | // + this list of conditions and the following disclaimer. |
30 | // + this list of conditions and the following disclaimer. |
Line 589... | Line 589... | ||
589 | switch (rxd_buffer[2]) { |
589 | switch (rxd_buffer[2]) { |
590 | case 'a':// request for labels of the analog debug outputs |
590 | case 'a':// request for labels of the analog debug outputs |
591 | request_DebugLabel = pRxData[0]; |
591 | request_DebugLabel = pRxData[0]; |
592 | if (request_DebugLabel > 31) |
592 | if (request_DebugLabel > 31) |
593 | request_DebugLabel = 31; |
593 | request_DebugLabel = 31; |
594 | externalControlActive = 255; |
- | |
595 | break; |
594 | break; |
Line 596... | Line 595... | ||
596 | 595 | ||
597 | case 'b': // submit extern control |
596 | case 'b': // submit extern control |
598 | memcpy(&externalControl, (uint8_t*) pRxData, sizeof(externalControl)); |
597 | memcpy(&externalControl, (uint8_t*) pRxData, sizeof(externalControl)); |
599 | ConfirmFrame = externalControl.frame; |
598 | ConfirmFrame = externalControl.frame; |
600 | externalControlActive = 255; |
599 | externalControlActive = 255; |
Line 601... | Line 600... | ||
601 | break; |
600 | break; |
602 | - | ||
603 | case 'h':// request for display columns |
601 | |
604 | externalControlActive = 255; |
602 | case 'h':// request for display columns |
605 | RemoteKeys |= pRxData[0]; |
603 | RemoteKeys |= pRxData[0]; |
606 | if (RemoteKeys) |
604 | if (RemoteKeys) |
607 | DisplayLine = 0; |
605 | DisplayLine = 0; |
Line 608... | Line 606... | ||
608 | request_Display = TRUE; |
606 | request_Display = TRUE; |
609 | break; |
- | |
610 | 607 | break; |
|
611 | case 'l':// request for display columns |
608 | |
612 | externalControlActive = 255; |
609 | case 'l':// request for display columns |
Line 613... | Line 610... | ||
613 | MenuItem = pRxData[0]; |
610 | MenuItem = pRxData[0]; |
Line 649... | Line 646... | ||
649 | RxDataLen = 0; |
646 | RxDataLen = 0; |
650 | rxd_buffer_locked = FALSE; |
647 | rxd_buffer_locked = FALSE; |
651 | } |
648 | } |
Line 652... | Line 649... | ||
652 | 649 | ||
653 | /************************************************************************/ |
650 | /************************************************************************/ |
654 | /* Routine für die Serielle Ausgabe */ |
651 | /* Routine f�r die Serielle Ausgabe */ |
655 | /************************************************************************/ |
652 | /************************************************************************/ |
656 | int16_t uart_putchar(int8_t c) { |
653 | int16_t uart_putchar(int8_t c) { |
657 | if (c == '\n') |
654 | if (c == '\n') |
658 | uart_putchar('\r'); |
655 | uart_putchar('\r'); |
Line 689... | Line 686... | ||
689 | SendOutData('L', FC_ADDRESS, 3, &MenuItem, sizeof(MenuItem), &MaxMenuItem, |
686 | SendOutData('L', FC_ADDRESS, 3, &MenuItem, sizeof(MenuItem), &MaxMenuItem, |
690 | sizeof(MaxMenuItem), DisplayBuff, sizeof(DisplayBuff)); |
687 | sizeof(MaxMenuItem), DisplayBuff, sizeof(DisplayBuff)); |
691 | request_Display1 = FALSE; |
688 | request_Display1 = FALSE; |
692 | } |
689 | } |
Line 693... | Line 690... | ||
693 | 690 | ||
694 | if (request_DebugLabel != 0xFF) { // Texte für die Analogdaten |
691 | if (request_DebugLabel != 0xFF) { // Texte f�r die Analogdaten |
695 | uint8_t label[16]; // local sram buffer |
692 | uint8_t label[16]; // local sram buffer |
696 | memcpy_P(label, ANALOG_LABEL[request_DebugLabel], 16); // read lable from flash to sram buffer |
693 | memcpy_P(label, ANALOG_LABEL[request_DebugLabel], 16); // read lable from flash to sram buffer |
697 | SendOutData('A', FC_ADDRESS, 2, (uint8_t *) &request_DebugLabel, |
694 | SendOutData('A', FC_ADDRESS, 2, (uint8_t *) &request_DebugLabel, |
698 | sizeof(request_DebugLabel), label, 16); |
695 | sizeof(request_DebugLabel), label, 16); |
699 | request_DebugLabel = 0xFF; |
696 | request_DebugLabel = 0xFF; |
Line 700... | Line 697... | ||
700 | } |
697 | } |
701 | 698 | ||
702 | if (ConfirmFrame && txd_complete) { // Datensatz ohne CRC bestätigen |
699 | if (ConfirmFrame && txd_complete) { // Datensatz ohne CRC best�tigen |
703 | SendOutData('B', FC_ADDRESS, 1, (uint8_t*) &ConfirmFrame, |
700 | SendOutData('B', FC_ADDRESS, 1, (uint8_t*) &ConfirmFrame, |
704 | sizeof(ConfirmFrame)); |
701 | sizeof(ConfirmFrame)); |