[SOLVED !] Has anyone used the RFM22 wireless transceiver fro Hope Electronics


Closed Thread
Results 1 to 8 of 8
  1. #1
    mhanley
    Guest mhanley's Avatar

    0 Not allowed!

    Default Has anyone used the RFM22 wireless transceiver fro Hope Electronics

    I am trying to get the Hope RFM22 module working. I think I have it transmitting (I can hear it on a scanner) but can't confirm this because I can't get the receiver to work.

    My configuration is to use it in FIFO mode where the packet is transmitted and then received by a second module into its internal FIFO buffer. I should then be able to read its contents.

    I'm able to set and read all the registers.

    Maybe someone out there has got these working and could post some sample TX and RX code.

    Thanks..

  2. Attention
    ×

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  3. #2
    Derk vd Wal
    Guest Derk vd Wal's Avatar

    0 Not allowed!

    Default Re: Has anyone used the RFM22 wireless transceiver fro Hope Electronics

    Did you make progress?
    Can you give me some more information?
    I've bought a couple of Hope RFM modules but I can't find some source code to start with.

  4. Attention
    ×

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  5. #3
    mhanley
    Guest mhanley's Avatar

    0 Not allowed!

    Default Re: Has anyone used the RFM22 wireless transceiver fro Hope Electronics

    Hi Derk,

    Yes, I got them working after a lot of late nights and some help from their support department. Their sample Excel spreadsheet for configuring the registers does not cover all of the registers requred so be careful if you are using it.

    Below is some sample code that I used to get the modules working. For test purposes I setup one module for transmitting and one module for receiving and each has its own PIC.

    This is not optomised code but it does work. Have fun!

    'TX Code Start- This code is running on its own PIC
    Symbol RFM_SDN = PORTA.4 ' Shutdown input pin. 0–VCC V digital input. SDN should be = 0 in all modes except Shutdown mode. When SDN =1 the chip will be completely shutdown and the contents of the registers will be lost.
    Output RFM_SDN
    Low RFM_SDN

    Symbol RFM_nIRQ = PORTA.3 'General Microcontroller Interrupt Status output. When the RFM22 exhibits anyone of the Interrupt Events the nIRQ pin will be set low=0.
    Input RFM_nIRQ

    Symbol RFM_nSEL = PORTA.2 'Serial Interface Select input. 0– VCC V digital input. This pin provides the Select/Enable function for the 4-line serial data bus.
    Output RFM_nSEL

    Symbol RFM_SP_SCK = PORTC.3 'Serial Clock input. 0–VDD V digital input. This pin provides the serial data clock function for the 4-line serial data bus
    Output RFM_SP_SCK
    Low RFM_SP_SCK

    Symbol RFM_SP_SDI = PORTC.4 'Serial Data input. 0–VCC V digital input. This pin provides the serial data stream for the 4-line serial data bus.
    Output RFM_SP_SDI

    Symbol RFM_SP_SDO = PORTC.5 '0–VCC V digital output that provides a serial readback function of the internal control registers.
    Input RFM_SP_SDO

    Dim D9600inv As Byte
    D9600inv = 84 '9600 Baud Inverted - Used to send data to Bluetooth module and Diags on PC

    Symbol PCDiags = PORTB.4
    Output PCDiags
    Dim R As Bit ' Read Bit
    R = 0
    Dim W As Bit ' Write Bit
    W = 1

    Dim RFM_Reg_Add As Byte 'Register address in RFM module
    RFM_Reg_Add = $00

    Dim RFM_Reg_Value As Byte
    RFM_Reg_Value = $00

    SerOut PCDiags , D9600inv , [ "Test RFM22 Module" , 13 , 10]
    GoSub RFM_Reg_Settings
    Start:
    'SerOut PCDiags , D9600inv , [ "Start" , 13 , 10]
    Low PORTD.0
    DelayMS 300
    'Pulseout PORTD.0, 1000
    'GoSub Write_RFM_Registers
    DelayMS 100
    GoSub Read_RFM_Registers
    GoSub Send_RFM_Data

    GoTo Start
    Read_RFM_Registers:
    'If RFM_Reg_Add = 127 Then RFM_Reg_Add = $00
    RFM_Reg_Value = $00
    RFM_Reg_Add = RFM_Reg_Add + $01
    RFM_Reg_Add.7 = R

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [RFM_Reg_Add]
    SHIn RFM_SP_SDO, RFM_SP_SCK, msbpre, [RFM_Reg_Value]
    High RFM_nSEL
    SerOut PCDiags , D9600inv , [ "Read - RFM_Reg_Add ",Hex RFM_Reg_Add,":", Bin RFM_Reg_Add, " - RFM_Reg_Value " ,Hex RFM_Reg_Value,":", Bin RFM_Reg_Value, 13 , 10]
    Return
    Send_RFM_Data:
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$88,$03] '08h clear RX FIFO Reset/Clear
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$88,$00] '08h Clear RX FIFO Reset/Clear
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$BE,$40] '3E - 64byte?? packet length
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$FF, "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S",0,1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4 ,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0,1,2,3,4]
    High RFM_nSEL
    DelayMS 1
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$87,$0B] '07h
    High RFM_nSEL
    SerOut PCDiags , D9600inv , [ "Data TXd", 13, 10]
    Return
    RFM_Reg_Settings:
    RFM_Reg_Add = $05
    RFM_Reg_Value = $00 '05 - Clear all Interrupts on Enable 1
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $06
    RFM_Reg_Value = $00 '06 - Clear all Interrupts On Enable 2
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $07
    RFM_Reg_Value = $81 '07 - Operating Mode and Function Control 1. 81=10000001. Software Register Reset Bit.... READY Mode (Xtal is ON).
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $09
    RFM_Reg_Value = $7F '09 - 30 MHz Crystal Oscillator Load Capacitance.
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0A
    RFM_Reg_Value = $05 '0A - Microcontroller Output Clock. 05=101. Microcontroller Clock = 2Mhz
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0B
    RFM_Reg_Value = $F4 '0B - GPIO Configuration 0. F4=11110100. GPIO Driving Capability Setting.Pullup Resistor Enable on GPIO0.10100: RX Data (output)
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0C
    RFM_Reg_Value = $EF '0C - GPIO Configuration 1. EF=11101111. GPIO Driving Capability Setting.Pullup Resistor Enable on GPIO1. TX/RX Data CLK output to be used in conjunction with TX/RX Data pin (output)
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0D
    RFM_Reg_Value = $14 '0D - GPIO Configuration 2. 14=10100: RX Data (output)
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0E
    RFM_Reg_Value = $00 '0E - I/O Port Configuration. All reset to 0/disabled
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $73
    RFM_Reg_Value = $00 '73 - Frequency Offset 1. 00=No offset
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $74
    RFM_Reg_Value = $00 '74 - Frequency Offset 2. 00=No offset
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $30
    RFM_Reg_Value = $8C '30 - Data Access Control. 8C=10001100.Enable Packet RX Handling.Enable Packet TX Handling.CRC Enable.
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $32
    RFM_Reg_Value = $00 '32 - Header Control 1. No broadcast address enable.No Received Header check
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $33
    RFM_Reg_Value = $02 '33 - Header Control 2. Synchronization Word Length. Synchronization Word 3 and 2.MSB of Preamble Length
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $34
    RFM_Reg_Value = $14 '34 - Preamble Length. 14h=20. 20 x nibble = 20*4 = 80bits or 10bytes
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $35
    RFM_Reg_Value = $14 '35 - Preamble Detection Control 1. Number of nibbles processed during detection. 14h=20. 20 x nibble = 20*4 = 80bits Or 10bytes
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $36
    RFM_Reg_Value = $2D '36 - Synchronization Word 3. 4th byte of the synchronization word.
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $37
    RFM_Reg_Value = $D4 '37 - Synchronization Word 2. 3rd byte of the synchronization word
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $38
    RFM_Reg_Value = $2D '38 - Synchronization Word 1. 2nd byte of the synchronization word
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $39
    RFM_Reg_Value = $D4 '39 - Synchronization Word 0. 1st byte of the synchronization word
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $6D
    RFM_Reg_Value = $D4 '6D - TX Power. D4=11010100.(D1=10=1)=+17dBm, (D1=00=0)=+8dBm
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $75
    RFM_Reg_Value = $53 '75 - Frequency Band Select. 53=434Mhz 73=868Mhz
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $76
    RFM_Reg_Value = $64 '76 - Nominal Carrier Frequency. 64=434Mhz 64=868Mhz
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $77
    RFM_Reg_Value = $00 '77 - Nominal Carrier Frequency. 00=434Mhz 00=868Mhz
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $6E
    RFM_Reg_Value = $27 '6E - TX Data Rate 1. This setting is for 9600
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $6F
    RFM_Reg_Value = $52 '6F - TX Data Rate 0. This setting is For 9600
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $70
    RFM_Reg_Value = $2C '70 - Modulation Mode Control 1. 2C=101100. This bit should be set for Data Rates below 30 kbps.Manchester Preamble Polarity. Manchester Data Inversion is Enabled if this bit is set
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $58
    RFM_Reg_Value = $80 '58 - Charge Pump Current Trimming/Override
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $72
    RFM_Reg_Value = $30 '72 - Frequency Deviation
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $71
    RFM_Reg_Value = $22 '71 - Modulation Mode Control 2
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $1C
    RFM_Reg_Value = $1A '1C - IF Filter Bandwidthl
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $20
    RFM_Reg_Value = $A1 '20 - Clock Recovery Oversampling Rate
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $21
    RFM_Reg_Value = $20 '21 - Clock Recovery Offset 2
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $22
    RFM_Reg_Value = $4E '22 - Clock Recovery Offset 1
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $23
    RFM_Reg_Value = $A5 '23 - Clock Recovery Offset 0
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $24
    RFM_Reg_Value = $00 '24 - Clock Recovery Timing Loop Gain 1
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $25
    RFM_Reg_Value = $1B '25 - Clock Recovery Timing Loop Gain 0
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $1D
    RFM_Reg_Value = $40 '1D - Battery Voltage Level
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $1E
    RFM_Reg_Value = $0A '1E - AFC Timing Control
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $2A
    RFM_Reg_Value = $1E '2A - Not documented
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $1F
    RFM_Reg_Value = $03 '1F - Clock Recovery Gearshift Override
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $69
    RFM_Reg_Value = $60 '69 - AGC Override 1
    GoSub Write_RFM_Registers

    Return
     
    Write_RFM_Registers:
    RFM_Reg_Add.7 = 1 'Set Bit 8 to 1 to indicate a write. 0=read

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [RFM_Reg_Add, RFM_Reg_Value]
    High RFM_nSEL
    SerOut PCDiags , D9600inv , [ "Write - RFM_Reg_Add ", $09 ,Hex RFM_Reg_Add, $09 , " - RFM_Reg_Value " ,Hex RFM_Reg_Value,$09, Bin RFM_Reg_Value, 13 , 10]Return


    '****** RX Code Start- This is running on its own PIC
    Symbol RFM_SDN = PORTB.5 ' Shutdown input pin. 0–VCC V digital input. SDN should be = 0 in all modes except Shutdown mode. When SDN =1 the chip will be completely shutdown and the contents of the registers will be lost.
    Output RFM_SDN
    Low RFM_SDN

    Symbol RFM_nIRQ = PORTB.1 'General Microcontroller Interrupt Status output. When the RFM22 exhibits anyone of the Interrupt Events the nIRQ pin will be set low=0.
    Input RFM_nIRQ

    Symbol RFM_nSEL = PORTC.5 'Serial Interface Select input. 0– VCC V digital input. This pin provides the Select/Enable function for the 4-line serial data bus.
    Output RFM_nSEL

    Symbol RFM_SP_SCK = PORTD.3 'Serial Clock input. 0–VDD V digital input. This pin provides the serial data clock function for the 4-line serial data bus
    Output RFM_SP_SCK
    Low RFM_SP_SCK

    Symbol RFM_SP_SDI = PORTC.6 'Serial Data input. 0–VCC V digital input. This pin provides the serial data stream for the 4-line serial data bus.
    Output RFM_SP_SDI

    Symbol RFM_SP_SDO = PORTC.7 '0–VCC V digital output that provides a serial readback function of the internal control registers.
    Input RFM_SP_SDO

    Dim D9600inv As Byte
    D9600inv = 84 '9600 Baud Inverted - Used to send data to Bluetooth module and Diags on PC

    Symbol PCDiags = PORTE.0
    Output PCDiags
    Dim R As Bit ' Read Bit
    R = 0
    Dim W As Bit ' Write Bit
    W = 1

    Dim RFM_Reg_Add As Byte 'Register address in RFM module
    RFM_Reg_Add = $00

    Dim RFM_Reg_Value As Byte
    RFM_Reg_Value = $00

    High PORTC.2
    Dim X As Word
    X = 0

    SerOut PCDiags , D9600inv , [ "Test RFM22 Module" , 13 , 10]
    GoSub RFM_Reg_Settings
    GoSub Clear_Int_Registers
    'GoSub Read_RFM_Registers

    Start:
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$87,$07]
    High RFM_nSEL

    If RFM_nIRQ = 0 Then
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$05] 'Clear Interrupt Enable 1
    SHIn RFM_SP_SDO, RFM_SP_SCK, msbpre, [RFM_Reg_Value]
    High RFM_nSEL
    'Note : Check that the value in Reg 05 is 10=2 to indicated that it is a valid packet.
    SerOut PCDiags , D9600inv , [ "IRQ RX " , Bin RFM_Reg_Value, 13 , 10]
    GoSub Read_RFM_Data
    GoSub Clear_Int_Registers

    End If
    'GoSub Clear_Int_Registers

    Low PORTD.0
    DelayMS 100
    GoTo Start
    Clear_Int_Registers:
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$03] 'Clear Int. register 1. This must be done after each nIRQ signal
    SHIn RFM_SP_SDO, RFM_SP_SCK, msbpre, [RFM_Reg_Value]
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$04] 'Clear Int. register 2. This must be done after each nIRQ signal
    SHIn RFM_SP_SDO, RFM_SP_SCK, msbpre, [RFM_Reg_Value]
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$88,$03] '08h clear RX FIFO Reset/Clear
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$88,$00] '08h Clear RX FIFO Reset/Clear
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$BE,$40] '3E - 64byte?? packet length
    High RFM_nSEL
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$FE,$01] '7E - 64byte?? RX FIFO Almost Full Threshold
    High RFM_nSEL
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$87,$07] '07 - RX on in Manual Receiver Mode.
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$85,$02] '07 - Enable Valid Packet Received.
    High RFM_nSEL

    Return
    Read_RFM_Registers:
    X = 0
    For X = 0 To 127
    'If RFM_Reg_Add = 127 Then RFM_Reg_Add = $00
    RFM_Reg_Value = $00
    RFM_Reg_Add = X 'RFM_Reg_Add + $01
    RFM_Reg_Add.7 = R

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [RFM_Reg_Add]
    SHIn RFM_SP_SDO, RFM_SP_SCK, msbpre, [RFM_Reg_Value]
    High RFM_nSEL
    SerOut PCDiags , D9600inv , [ "Read - Address ",Hex RFM_Reg_Add,09, "Value" ,09, Hex RFM_Reg_Value," - ",09, Bin RFM_Reg_Value, 13 , 10]
    Next X
    Return
    Read_RFM_Data:
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$87,$07]
    High RFM_nSEL
    DelayMS 1
    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$02]
    SHIn RFM_SP_SDO, RFM_SP_SCK, msbpre, [RFM_Reg_Value]
    High RFM_nSEL
    SerOut PCDiags , D9600inv , [ "Read - RFM_Reg_Add 02h"," - RFM_Reg_Value " ,Hex RFM_Reg_Value,":", Bin RFM_Reg_Value, 13 , 10]

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$FF, 1,2,3,4,5,6,7,8,9,0]
    High RFM_nSEL

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [$7F]
    X = 0
    SerOut PCDiags , D9600inv , [ "Data RX "]
    For X = 0 To 63
    SHIn RFM_SP_SDO, RFM_SP_SCK, msbpre, [RFM_Reg_Value]

    SerOut PCDiags , D9600inv , [ Dec RFM_Reg_Value, " "]
    Next X
    SerOut PCDiags , D9600inv , [ Dec RFM_Reg_Value, " "]
    High RFM_nSEL
    SerOut PCDiags , D9600inv , [ 13,10]
    Return
    RFM_Reg_Settings:
    RFM_Reg_Add = $05
    RFM_Reg_Value = $00 '05 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $06
    RFM_Reg_Value = $00 '06 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $07
    RFM_Reg_Value = $81 '07 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $09
    RFM_Reg_Value = $7F '09 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0A
    RFM_Reg_Value = $05 '0A -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0B
    RFM_Reg_Value = $F4 '0B -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0C
    RFM_Reg_Value = $EF '0C -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0D
    RFM_Reg_Value = $14 '0D -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $0E
    RFM_Reg_Value = $00 '0E -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $73
    RFM_Reg_Value = $00 '73 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $74
    RFM_Reg_Value = $00 '74 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $30
    RFM_Reg_Value = $8C '30 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $32
    RFM_Reg_Value = $00 '32 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $33
    RFM_Reg_Value = $02 '33 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $34
    RFM_Reg_Value = $14 '34 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $35
    RFM_Reg_Value = $14 '35 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $36
    RFM_Reg_Value = $2D '36 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $37
    RFM_Reg_Value = $D4 '37 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $38
    RFM_Reg_Value = $2D '38 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $39
    RFM_Reg_Value = $D4 '39 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $6D
    RFM_Reg_Value = $D4 '6D -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $75
    RFM_Reg_Value = $53 '75 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $76
    RFM_Reg_Value = $64 '76 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $77
    RFM_Reg_Value = $00 '77 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $6E
    RFM_Reg_Value = $27 '6E -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $6F
    RFM_Reg_Value = $52 '6F -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $70
    RFM_Reg_Value = $2C '70 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $58
    RFM_Reg_Value = $80 '58 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $72
    RFM_Reg_Value = $30 '72 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $71
    RFM_Reg_Value = $22 '71 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $1C
    RFM_Reg_Value = $1A '1C -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $20
    RFM_Reg_Value = $A1 '20 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $21
    RFM_Reg_Value = $20 '21 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $22
    RFM_Reg_Value = $4E '22 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $23
    RFM_Reg_Value = $A5 '23 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $24
    RFM_Reg_Value = $00 '24 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $25
    RFM_Reg_Value = $1B '25 -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $1D
    RFM_Reg_Value = $40 '1D -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $1E
    RFM_Reg_Value = $0A '1E -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $2A
    RFM_Reg_Value = $1E '2A -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $1F
    RFM_Reg_Value = $03 '1F -
    GoSub Write_RFM_Registers

    RFM_Reg_Add = $69
    RFM_Reg_Value = $60 '69 -
    GoSub Write_RFM_Registers

    Return
    Write_RFM_Registers:
    RFM_Reg_Add.7 = 1 'Set Bit 8 to 1 to indicate a write. 0=read

    Low RFM_nSEL
    SHOut RFM_SP_SDI, RFM_SP_SCK, msbfirst, [RFM_Reg_Add, RFM_Reg_Value]
    High RFM_nSEL
    SerOut PCDiags , D9600inv , [ "Write - RFM_Reg_Add ", $09 ,Hex RFM_Reg_Add, $09 , " - RFM_Reg_Value " ,Hex RFM_Reg_Value,$09, Bin RFM_Reg_Value, 13 , 10]
    Return

  6. Attention
    ×

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  7. #4
    Derk vd Wal
    Guest Derk vd Wal's Avatar

    0 Not allowed!

    Default Re: Has anyone used the RFM22 wireless transceiver fro Hope Electronics

    Thank you very much for the code.
    I'm gonna study it.

  8. Attention
    ×

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  9. #5
    VaGyver
    Guest VaGyver's Avatar

    0 Not allowed!

    Default Re: Has anyone used the RFM22 wireless transceiver fro Hope Electronics

    Hello!

    Thank you very much for your working demo!
    I am waiting for two RFM22B-S2 modules to test it.

    But i have one question:
    Where did you connected the TX-ANT and RX-ANT pins? Did you connected to modules' GPIOs?
    If yes, in which pins?

    Thank you very much in advance!

  10. Attention
    ×

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  11. #6
    moonshadow
    Guest moonshadow's Avatar

    0 Not allowed!

    Default Re: Has anyone used the RFM22 wireless transceiver fro Hope Electronics

    I have been wondering ... I suppose they test these modules after manufacture and I assume that to do that they have to program at least some of the registers with default values ?. If that were so, are they useable 'out of the box' ?. Cheers ....

  12. Attention
    ×

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  13. #7
    VaGyver
    Guest VaGyver's Avatar

    0 Not allowed!

    Default Re: Has anyone used the RFM22 wireless transceiver fro Hope Electronics

    Quote Originally Posted by moonshadow View Post
    I assume that to do that they have to program at least some of the registers with default values ?
    I don't know what the manufacter does, but you have to program the registers in order to make the module to work. There are no exact default settings. Settings are custom.



    Quote Originally Posted by moonshadow View Post
    If that were so, are they useable 'out of the box' ?. Cheers ....
    No. It does not store the settings. Each time you power up the module, you need the set the values.

  14. Attention
    ×

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

  15. #8
    moonshadow
    Guest moonshadow's Avatar

    0 Not allowed!

    Default Re: Has anyone used the RFM22 wireless transceiver fro Hope Electronics

    Thank you for the reply. I found AN440 which gives the POR default settings in the right hand column.

  16. Attention
    ×

    This valuable resource relies upon the very small amount of revenue generated by displaying online advertisements to our visitors.

    The advertisements we display are relevant to this web site and your browsing history

    Please consider supporting us by disabling your ad blocker.


    Note: Some users have reported issues related to ad-blockers rendering parts of this wesite unusable,
    where possible we will rectify the issues to enable you to use this resource with adblocking enabled.

    If you can, please report issues in the forum area WebSite / Forum Issues


    Thank you for your attention.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

     

Similar Threads

  1. HumDT Series Wireless UART Data RF Transceiver Module
    By normnet in forum New devices and techniques
    Replies: 0
    Last Post: 1st July 2015, 11:56
  2. Hope RF Transceiver sample code
    By Derk vd Wal in forum Website / Forum Issues
    Replies: 1
    Last Post: 23rd March 2011, 23:14
  3. Replies: 5
    Last Post: 16th February 2010, 18:11
  4. How to read value when stylus is lifted fro touch panel?
    By Barry in forum Proton Plus Compiler v3
    Replies: 0
    Last Post: 9th January 2010, 17:48

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts