Rev 1828 | Rev 1830 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | SVN | RSS feed
| Rev 1828 | Rev 1829 | ||
|---|---|---|---|
| Line 668... | Line 668... | ||
| 668 | StdCan_Ret_direction(rxMsg->Header) == DIRECTIONFLAG_TO_OWNER && |
668 | StdCan_Ret_direction(rxMsg->Header) == DIRECTIONFLAG_TO_OWNER && |
| 669 | rxMsg->Header.ModuleType == CAN_MODULE_TYPE_SNS_IRTRANSCEIVE && |
669 | rxMsg->Header.ModuleType == CAN_MODULE_TYPE_SNS_IRTRANSCEIVE && |
| 670 | rxMsg->Header.ModuleId == sns_irTransceive_ID) |
670 | rxMsg->Header.ModuleId == sns_irTransceive_ID) |
| 671 | { |
671 | { |
| 672 | uint8_t channel; |
672 | uint8_t channel; |
| - | 673 | uint8_t length = rxMsg->Length; |
|
| 673 | switch (rxMsg->Header.Command) |
674 | switch (rxMsg->Header.Command) |
| 674 | { |
675 | { |
| 675 | #if IR_TX_ENABLE==1 |
676 | #if IR_TX_ENABLE==1 |
| 676 | case CAN_MODULE_CMD_PHYSICAL_IR: |
677 | case CAN_MODULE_CMD_PHYSICAL_IR: |
| 677 | channel = rxMsg->Data[0]>>4; |
678 | channel = rxMsg->Data[0]>>4; |
| Line 698... | Line 699... | ||
| 698 | { |
699 | { |
| 699 | irTxChannel[channel].stopSend = TRUE; |
700 | irTxChannel[channel].stopSend = TRUE; |
| 700 | } |
701 | } |
| 701 | } |
702 | } |
| 702 | break; |
703 | break; |
| - | 704 | ||
| - | 705 | /* TODO: add struct which stores pronto info: |
|
| - | 706 | channel, pronto receive state, buffer length of once burst pairs, buffer length of repeat burst pairs */ |
|
| - | 707 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOSTART: |
|
| - | 708 | /* TODO: check pronto state, response is different if already sending data */ |
|
| - | 709 | if (((rxMsg->Data[0]&0xf) == 0) && rxMsg->Data[1] == 0) |
|
| - | 710 | { |
|
| - | 711 | uint8_t channel = (rxMsg->Data[0]>>4)&0xf; |
|
| - | 712 | /* TODO: add channel to pronto struct */ |
|
| - | 713 | /* TODO: find freqdiv, number of once burst pairs, number of repeat burst pairs */ |
|
| - | 714 | uint8_t modfreq; |
|
| - | 715 | uint8_t oncebursts; |
|
| - | 716 | uint8_t repeatbursts; |
|
| - | 717 | /* TODO: add to pronto struct */ |
|
| - | 718 | } |
|
| - | 719 | ||
| - | 720 | /* TODO: Send response frame */ |
|
| - | 721 | break; |
|
| - | 722 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOSTOP: |
|
| - | 723 | /* TODO: stop sending IR */ |
|
| - | 724 | ||
| - | 725 | /* TODO: Send response frame */ |
|
| - | 726 | break; |
|
| - | 727 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOCONTINUE: |
|
| - | 728 | /* TODO: reset timeout to continue sending repeat sequences */ |
|
| - | 729 | ||
| - | 730 | /* TODO: Send response frame */ |
|
| - | 731 | break; |
|
| - | 732 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA1: /* Fall through */ |
|
| - | 733 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA2: /* Fall through */ |
|
| - | 734 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA3: /* Fall through */ |
|
| - | 735 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA4: /* Fall through */ |
|
| - | 736 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA5: /* Fall through */ |
|
| - | 737 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA6: /* Fall through */ |
|
| - | 738 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA7: /* Fall through */ |
|
| - | 739 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA8: /* Fall through */ |
|
| - | 740 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA9: /* Fall through */ |
|
| - | 741 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA10: /* Fall through */ |
|
| - | 742 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA11: /* Fall through */ |
|
| - | 743 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA12: /* Fall through */ |
|
| - | 744 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA13: /* Fall through */ |
|
| - | 745 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA14: /* Fall through */ |
|
| - | 746 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA15: /* Fall through */ |
|
| - | 747 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA16: /* Fall through */ |
|
| - | 748 | ; /* Added to avoid compilation error "a label can only be part of a statement ..." */ |
|
| - | 749 | uint8_t dataindex = rxMsg->Header.Command - CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTODATA1; |
|
| - | 750 | for (uint8_t i=0; i<length; i++) |
|
| - | 751 | { |
|
| - | 752 | /* TODO: pack data into buffer irTxChannel[channel].txbuf */ |
|
| - | 753 | } |
|
| - | 754 | break; |
|
| - | 755 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND1: /* Fall through */ |
|
| - | 756 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND2: /* Fall through */ |
|
| - | 757 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND3: /* Fall through */ |
|
| - | 758 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND4: /* Fall through */ |
|
| - | 759 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND5: /* Fall through */ |
|
| - | 760 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND6: /* Fall through */ |
|
| - | 761 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND7: /* Fall through */ |
|
| - | 762 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND8: /* Fall through */ |
|
| - | 763 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND9: /* Fall through */ |
|
| - | 764 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND10: /* Fall through */ |
|
| - | 765 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND11: /* Fall through */ |
|
| - | 766 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND12: /* Fall through */ |
|
| - | 767 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND13: /* Fall through */ |
|
| - | 768 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND14: /* Fall through */ |
|
| - | 769 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND15: /* Fall through */ |
|
| - | 770 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND16: /* Fall through */ |
|
| - | 771 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND17: /* Fall through */ |
|
| - | 772 | ; /* Added to avoid compilation error "a label can only be part of a statement ..." */ |
|
| - | 773 | uint8_t endindex = rxMsg->Header.Command - CAN_MODULE_CMD_IRTRANSCEIVE_IRPRONTOEND1; |
|
| - | 774 | /* TODO: pack data, if any, into buffer irTxChannel[channel].txbuf */ |
|
| - | 775 | ||
| - | 776 | /* TODO: Last byte contains once/repeat information */ |
|
| - | 777 | ||
| - | 778 | /* TODO: Send response frame */ |
|
| - | 779 | ||
| - | 780 | /* TODO: start transmitt ir! */ |
|
| - | 781 | break; |
|
| - | 782 | ||
| - | 783 | /* TODO: In IR state machine add sending a response frame when ir stops sending, also implement pronto repeat */ |
|
| 703 | #endif |
784 | #endif |
| 704 | 785 | ||
| 705 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRCONFIG: |
786 | case CAN_MODULE_CMD_IRTRANSCEIVE_IRCONFIG: |
| 706 | channel = rxMsg->Data[0]>>4; |
787 | channel = rxMsg->Data[0]>>4; |
| 707 | uint8_t config = rxMsg->Data[0] & 0x0f; |
788 | uint8_t config = rxMsg->Data[0] & 0x0f; |