CULFW 1.6 mit IR

Begonnen von Mitch, 02 Juli 2014, 21:36:28

Vorheriges Thema - Nächstes Thema

Mitch

Hallo Zusammen,

könnte mir jemand eine CLFW 1.6 inkl. IR Support erstellen?

Leider habe ich hier gar keine Ahnung, hätte aber gerne den SOMFY Support, benötige aber auch den IR Empfang.

Wäre super, wenn mir hier jemand weiter helfen könnte.
FHEM im Proxmox Container

Mitch

Hab jetzt mal selber "rumgespielt" und in der Datei board.h editiert:

#ifndef _BOARD_H
#define _BOARD_H

#define HAS_FHT_8v                      // PROGMEM:  434b, RAM: 19b
#define HAS_FHT_80b                     // PROGMEM: 1158b, RAM:  5b

#undef  FULL_CC1100_PA                  // PROGMEM:  108b

#undef  HAS_RAWSEND                     // PROGMEM:  198b     RAM:  4b
#undef  HAS_FASTRF                      // PROGMEM:  362+106  RAM:  1b
#undef  HAS_RF_ROUTER                   // PROGMEM:  920b  RAM: 38b
#undef  HAS_LONGMSG                     // CUR support     RAM: 20b
#undef  HAS_ONEWIRE                     // OneWire Support

#define SPI_PORT        PORTB
#define SPI_DDR         DDRB
#define SPI_SS          4
#define SPI_MISO        6
#define SPI_MOSI        5
#define SPI_SCLK        7

#define CC1100_CS_DDR       SPI_DDR
#define CC1100_CS_PORT          SPI_PORT
#define CC1100_CS_PIN       SPI_SS

#define CC1100_OUT_DDR      DDRB
#define CC1100_OUT_PORT         PORTB
#define CC1100_OUT_PIN          1

#define CC1100_IN_DDR       DDRB
#define CC1100_IN_PORT          PINB
#define CC1100_IN_PIN           2
#define CC1100_INT      INT2
#define CC1100_INTVECT          INT2_vect
#define CC1100_ISC      ISC20
#define CC1100_EICR             EICRA

#define LED_DDR                 DDRB
#define LED_PORT                PORTB
#define LED_PIN                 0

#define USART_RX_vect           USART0_RX_vect
#define USART_UDRE_vect         USART0_UDRE_vect

#define ENC28J60_CONTROL_PORT   PORTA
#define ENC28J60_CONTROL_DDR    DDRA
#define ENC28J60_CONTROL_CS     4
#define ENC28J60_RESET_PORT     PORTD
#define ENC28J60_RESET_DDR      DDRD
#define ENC28J60_RESET_BIT      4
#define ENC28J60_SPI_PORT       SPI_PORT
#define ENC28J60_SPI_DDR        SPI_DDR
#define ENC28J60_SPI_SCK        SPI_SCLK
#define ENC28J60_SPI_MOSI       SPI_MOSI
#define ENC28J60_SPI_MISO       SPI_MISO
#define ENC28J60_SPI_SS         SPI_SS

#define USB_MAX_POWER           250

#define FHTBUF_SIZE          174      //                 RAM: 174b
#define RCV_BUCKETS            4      //                 RAM: 25b * bucket
#define HAS_RF_ROUTER          1      // PROGMEM: 1106b, RAM: 43b
#define RFR_DEBUG                     // PROGMEM:  354b  RAM: 14b
#define FULL_CC1100_PA                // PROGMEM:  108b
#define HAS_RAWSEND                   //
#define HAS_FASTRF                    // PROGMEM:  468b  RAM:  1b
#define HAS_ASKSIN
#define HAS_ASKSIN_FUP
#define HAS_ESA
#define HAS_TX3
#define HAS_INTERTECHNO
#define HAS_HOERMANN
#define HAS_MORITZ
#define HAS_CC1101_RX_PLL_LOCK_CHECK_TASK_WAIT
#define HAS_CC1101_PLL_LOCK_CHECK_MSG
#define HAS_CC1101_PLL_LOCK_CHECK_MSG_SW

#define HAS_IRRX                                //IR Receiption
#define F_INTERRUPTS            15625   // interrupts per second, min: 10000, max: 20000
#define IRMP_PORT               PORTA
#define IRMP_DDR                DDRA
#define IRMP_PIN                PINA
#define IRMP_BIT                2       // use PA2 as IR input on AVR
#define HAS_IRRX

#define HAS_IRTX                                //IR-Transmission
#define IRSND_OCx               IRSND_OC2A          // use OC2A
#ifndef F_INTERRUPTS           
#define F_INTERRUPTS            15625   // interrupts per second, min: 10000, max: 20000
#endif
#define HAS_IRTX

#define HAS_MDNS "CUNO2"  // this has to be a unique id per network
#undef  HAS_MDNS                         // disable Bonjour at present

#define MULTI_FREQ_DEVICE       // available in multiple versions: 433MHz,868MHz,915MHz
#define BOARD_ID_STR            "CUNO868"
#define BOARD_ID_STR433         "CUNO433"
#define BOARD_ID_STR915         "CUNO915"

#define MARK433_PORT PORTD
#define MARK433_PIN PIND
#define MARK433_BIT 5
#define MARK915_PORT PORTD
#define MARK915_PIN PIND
#define MARK915_BIT 6

#define HAS_XRAM                1

#define HAS_UART                1
#define UART_BAUD_RATE          38400
#define HAS_ETHERNET            1   
#define HAS_NTP                 1   

#define HAS_ONEWIRE         10      // OneWire Device Buffer, RAM: 10 * 8 Byte
#define OW_SPU     // enable StrongPullUp

#define HAS_VZ     // Volkszaehler IR-Head
#define VZ_MSG_SIZE 512             // required space to cache a complete message
#undef  HAS_VZ     // disable at present

#define HAS_HM485     // HM485 "Homematic Wired" support

#define HAS_DMX
#define DMX_CHANNELS           16
#define DMX_RESTING            1      // idle DMX for unsued channels (512-DMX_CHANNELS) bit times, rather than start over immediately
#define DMX_FS20EMU_HC         "2822" // This is the house code used to address DMX space while using F... commands
#undef  HAS_DMX

#define HAS_HELIOS
#define HELIOS_EMU_HC          "2823" // This is the house code used to address HELIOS space while using F... commands
#undef  HAS_HELIOS


#define TTY_BUFSIZE             1024

#define BUSWARE_CUNO2

#ifndef eeprom_update_byte
#define eeprom_update_byte eeprom_write_byte
#endif

#endif


Kann das hinkommen?
FHEM im Proxmox Container

kaihs

Dieser Abschnitt


#define HAS_IRRX                                //IR Receiption
#define F_INTERRUPTS            15625   // interrupts per second, min: 10000, max: 20000
#define IRMP_PORT               PORTA
#define IRMP_DDR                DDRA
#define IRMP_PIN                PINA
#define IRMP_BIT                2       // use PA2 as IR input on AVR
#define HAS_IRRX


ist der entscheidende für IR-Empfang.

Ich nehme an, du hast in der letzten Zeile aus
#undef HAS_IRRX

#define HAS_IRRX

gemacht?

Statt dessen hättest du diese Zeile auch auskommentieren oder löschen können, das sollte aber alles dazu führen, dass wie gewünscht der IR-Empfang aktiviert wird.

Gruß,

Kai
Banana Pi, Add-On Board mit 1.8" TFT LCD und IR-Sender, CULFW V1.61, div. Homematic Komponenten, Pollin Funksteckdosen, Selbstbau CUL433 MHz, Jeelink Clone, EC3000
Selbstbau CUL868MHz für Wireless M-Bus, SIGNALduino mit Logilink Temp.-sensoren und Auriol Wetterstation

Mitch

#3
Da war schon

#define HAS_IRRX                                //IR Receiption
#define F_INTERRUPTS            15625   // interrupts per second, min: 10000, max: 20000
#define IRMP_PORT               PORTA
#define IRMP_DDR                DDRA
#define IRMP_PIN                PINA
#define IRMP_BIT                2       // use PA2 as IR input on AVR


eingetragen, allerdings als letzte Zeile

#undef  HAS_IRRX

das habe ich gelöscht.

Zusätzlich war folgendes:

#ifdef HAS_DMX
#undef  HAS_IRTX
#undef  HAS_IRRX
#undef  HAS_HM485
#undef  HAS_HELIOS
#endif


Den Block habe ich komplett gelsöcht.

Was mir nicht ganz klar ist, mit define lege ich die "Protokolle" fest, mit undef schlate ich sie aus. Richtig?

Warum steht aber überall # davor, das heißt doch auskommentiert?

Kann ich eigentlich Dinge, die ich nicht brauche, wie z.B. DMX, einfach löschen?

Im Moment sieht die board.h jetzt so aus:
#ifndef _BOARD_H
#define _BOARD_H

#define HAS_FHT_8v                      // PROGMEM:  434b, RAM: 19b
#define HAS_FHT_80b                     // PROGMEM: 1158b, RAM:  5b

#undef  FULL_CC1100_PA                  // PROGMEM:  108b

#undef  HAS_RAWSEND                     // PROGMEM:  198b     RAM:  4b
#undef  HAS_FASTRF                      // PROGMEM:  362+106  RAM:  1b
#undef  HAS_RF_ROUTER                   // PROGMEM:  920b  RAM: 38b
#undef  HAS_LONGMSG                     // CUR support     RAM: 20b
#undef  HAS_ONEWIRE                     // OneWire Support

#define SPI_PORT        PORTB
#define SPI_DDR         DDRB
#define SPI_SS          4
#define SPI_MISO        6
#define SPI_MOSI        5
#define SPI_SCLK        7

#define CC1100_CS_DDR       SPI_DDR
#define CC1100_CS_PORT          SPI_PORT
#define CC1100_CS_PIN       SPI_SS

#define CC1100_OUT_DDR      DDRB
#define CC1100_OUT_PORT         PORTB
#define CC1100_OUT_PIN          1

#define CC1100_IN_DDR       DDRB
#define CC1100_IN_PORT          PINB
#define CC1100_IN_PIN           2
#define CC1100_INT      INT2
#define CC1100_INTVECT          INT2_vect
#define CC1100_ISC      ISC20
#define CC1100_EICR             EICRA

#define LED_DDR                 DDRB
#define LED_PORT                PORTB
#define LED_PIN                 0

#define USART_RX_vect           USART0_RX_vect
#define USART_UDRE_vect         USART0_UDRE_vect

#define ENC28J60_CONTROL_PORT   PORTA
#define ENC28J60_CONTROL_DDR    DDRA
#define ENC28J60_CONTROL_CS     4
#define ENC28J60_RESET_PORT     PORTD
#define ENC28J60_RESET_DDR      DDRD
#define ENC28J60_RESET_BIT      4
#define ENC28J60_SPI_PORT       SPI_PORT
#define ENC28J60_SPI_DDR        SPI_DDR
#define ENC28J60_SPI_SCK        SPI_SCLK
#define ENC28J60_SPI_MOSI       SPI_MOSI
#define ENC28J60_SPI_MISO       SPI_MISO
#define ENC28J60_SPI_SS         SPI_SS

#define USB_MAX_POWER           250

#define FHTBUF_SIZE          174      //                 RAM: 174b
#define RCV_BUCKETS            4      //                 RAM: 25b * bucket
#define HAS_RF_ROUTER          1      // PROGMEM: 1106b, RAM: 43b
#define RFR_DEBUG                     // PROGMEM:  354b  RAM: 14b
#define FULL_CC1100_PA                // PROGMEM:  108b
#define HAS_RAWSEND                   //
#define HAS_FASTRF                    // PROGMEM:  468b  RAM:  1b
#define HAS_ASKSIN
#define HAS_ASKSIN_FUP
#define HAS_ESA
#define HAS_TX3
#define HAS_INTERTECHNO
#define HAS_HOERMANN
#define HAS_MORITZ
#define HAS_CC1101_RX_PLL_LOCK_CHECK_TASK_WAIT
#define HAS_CC1101_PLL_LOCK_CHECK_MSG
#define HAS_CC1101_PLL_LOCK_CHECK_MSG_SW

#define HAS_IRRX                                //IR Receiption
#define F_INTERRUPTS            15625   // interrupts per second, min: 10000, max: 20000
#define IRMP_PORT               PORTA
#define IRMP_DDR                DDRA
#define IRMP_PIN                PINA
#define IRMP_BIT                2       // use PA2 as IR input on AVR

#define HAS_IRTX                                //IR-Transmission
#define IRSND_OCx               IRSND_OC2A          // use OC2A
#ifndef F_INTERRUPTS           
#define F_INTERRUPTS            15625   // interrupts per second, min: 10000, max: 20000
#endif
#undef  HAS_IRTX

#define HAS_MDNS "CUNO2"  // this has to be a unique id per network
#undef  HAS_MDNS                         // disable Bonjour at present

#define MULTI_FREQ_DEVICE       // available in multiple versions: 433MHz,868MHz,915MHz
#define BOARD_ID_STR            "CUNO868"
#define BOARD_ID_STR433         "CUNO433"
#define BOARD_ID_STR915         "CUNO915"

#define MARK433_PORT PORTD
#define MARK433_PIN PIND
#define MARK433_BIT 5
#define MARK915_PORT PORTD
#define MARK915_PIN PIND
#define MARK915_BIT 6

#define HAS_XRAM                1

#define HAS_UART                1
#define UART_BAUD_RATE          38400
#define HAS_ETHERNET            1   
#define HAS_NTP                 1   

#define HAS_ONEWIRE         10      // OneWire Device Buffer, RAM: 10 * 8 Byte
#define OW_SPU     // enable StrongPullUp

#define HAS_VZ     // Volkszaehler IR-Head
#define VZ_MSG_SIZE 512             // required space to cache a complete message
#undef  HAS_VZ     // disable at present

#define HAS_HM485     // HM485 "Homematic Wired" support

#define HAS_DMX
#define DMX_CHANNELS           16
#define DMX_RESTING            1      // idle DMX for unsued channels (512-DMX_CHANNELS) bit times, rather than start over immediately
#define DMX_FS20EMU_HC         "2822" // This is the house code used to address DMX space while using F... commands
#undef  HAS_DMX

#define HAS_HELIOS
#define HELIOS_EMU_HC          "2823" // This is the house code used to address HELIOS space while using F... commands
#undef  HAS_HELIOS

#ifdef HAS_DMX
#undef  HAS_IRTX
#undef  HAS_HM485
#undef  HAS_HELIOS
#endif

#define TTY_BUFSIZE             1024

#define BUSWARE_CUNO2

#ifndef eeprom_update_byte
#define eeprom_update_byte eeprom_write_byte
#endif

#endif


Würde das passen mit SOMFY und IR Empfang?
FHEM im Proxmox Container

Mitch

Mir ist jetzt gerade aufgefallen, dass ja im CUNO File gar kein SOMFY Support drinnen ist??

Habe es nur beim CUL gefunden.
FHEM im Proxmox Container