Subversion Repositories HomeAutomation

Rev

Rev 1830 | Rev 1835 | 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_TRANSMIT_PREPARING_PRONTO        9
  42. #define sns_irTransceive_STATE_TRANSMIT_START_TRANSMIT_PRONTO       10
  43.  
  44. #define sns_irTransceive_STATE_DISABLED         0xff
  45.  
  46. #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
  47. #define sns_irTransceive_ENABLE_PCA95xx 1
  48. #else
  49. #define sns_irTransceive_ENABLE_PCA95xx 0
  50. #endif
  51.  
  52. #ifdef sns_irTransceive_USEEEPROM
  53.     struct sns_irTransceive_Data{
  54.         uint8_t ch0_config;
  55.         uint8_t ch0_txpower;
  56.         uint8_t ch0_modfreq;
  57.         uint8_t ch1_config;
  58.         uint8_t ch1_txpower;
  59.         uint8_t ch1_modfreq;
  60.         uint8_t ch2_config;
  61.         uint8_t ch2_txpower;
  62.         uint8_t ch2_modfreq;
  63.     }; 
  64. #endif
  65.  
  66.  
  67. #define TRUE 1
  68. #define FALSE 0
  69.  
  70. #endif // SNS_IRTRANSCEIVE
  71.