Subversion Repositories HomeAutomation

Rev

Rev 1757 | Rev 1832 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. #ifndef SNS_IRTRANSCEIVE
  2. #define SNS_IRTRANSCEIVE
  3.  
  4. /*-----------------------------------------------------------------------------
  5.  * Includes
  6.  *---------------------------------------------------------------------------*/
  7. /* system files */
  8. #include <avr/io.h>
  9. #include <avr/interrupt.h>
  10. #include <stdio.h>
  11. /* lib files */
  12. #include <config.h>
  13. #include <bios.h>
  14. #include <drivers/can/stdcan.h>
  15. #include <drivers/timer/timer.h>
  16.  
  17. /* delay.h must be declared after F_CPU */
  18. #include <util/delay.h>
  19.  
  20. #include <drivers/mcu/gpio.h>
  21. #include <drivers/ir/transceiver/irtransceiverMulti.h>
  22. #include <drivers/ir/protocols.h>
  23. #include <drivers/io/PCA95xx.h>
  24.  
  25. void sns_irTransceive_Init(void);
  26. void sns_irTransceive_Process(void);
  27. void sns_irTransceive_HandleMessage(StdCan_Msg_t *rxMsg);
  28. void sns_irTransceive_List(uint8_t ModuleSequenceNumber);
  29.  
  30. #define sns_irTransceive_STATE_IDLE             0
  31. #define sns_irTransceive_STATE_IR_REPEAT        1
  32. #define sns_irTransceive_STATE_START_RECEIVE    2
  33. #define sns_irTransceive_STATE_RECEIVING        3
  34. #define sns_irTransceive_STATE_START_PAUSE      4
  35. #define sns_irTransceive_STATE_PAUSING          5
  36. #define sns_irTransceive_STATE_START_IDLE       6
  37.  
  38. #define sns_irTransceive_STATE_START_TRANSMIT   7
  39. #define sns_irTransceive_STATE_TRANSMITTING     8
  40.  
  41. #define sns_irTransceive_STATE_DISABLED         0xff
  42.  
  43. #if sns_irTransceive_TX0_PWRl_PCA95xx==1 | sns_irTransceive_TX0_PWRh_PCA95xx==1 | sns_irTransceive_TX1_PWRl_PCA95xx==1 | sns_irTransceive_TX1_PWRh_PCA95xx==1 | sns_irTransceive_TX2_PWRl_PCA95xx==1 | sns_irTransceive_TX2_PWRh_PCA95xx==1
  44. #define sns_irTransceive_ENABLE_PCA95xx 1
  45. #else
  46. #define sns_irTransceive_ENABLE_PCA95xx 0
  47. #endif
  48.  
  49. #ifdef sns_irTransceive_USEEEPROM
  50.     struct sns_irTransceive_Data{
  51.         uint8_t ch0_config;
  52.         uint8_t ch0_txpower;
  53.         uint8_t ch0_modfreq;
  54.         uint8_t ch1_config;
  55.         uint8_t ch1_txpower;
  56.         uint8_t ch1_modfreq;
  57.         uint8_t ch2_config;
  58.         uint8_t ch2_txpower;
  59.         uint8_t ch2_modfreq;
  60.     }; 
  61. #endif
  62.  
  63.  
  64. #define TRUE 1
  65. #define FALSE 0
  66.  
  67. #endif // SNS_IRTRANSCEIVE
  68.