Hi Rob,

Yes, the whole system operates at 3v3.
I tried to make it work on a manufactured prototype (it's a part of a
bigger project), on a development board, and even a breadboard, with no
success... I buyed and tried several modules (the same as yours) but no
way  :-(


Le mar. 9 févr. 2021 à 19:52, Rob CJ <rob...@hotmail.com> a écrit :

> Hi Gilles,
>
> I can give it a try this weekend. I do not have a 18f45k22 but I may have
> a 18f25k22 (same family).
>
> One more question. This device operates at 3.3 Volt and in your schematic
> diagram you connect it to VCC and directly to the PIC but for that your PIC
> needs to work at 3.3. Volt too.
>
> If the PIC is operating at 5 Volt you need to have level shifters between
> the PIC and the nRF905. Also see the blog post: JAL Library for the
> nRF905 transceiver module | Just Another JAL Website
> (justanotherlanguage.org) <http://justanotherlanguage.org/node/322>
>
> I hope VCC is not +5Volt. If so then you may have damaged the device. Let
> me know if this is the case or not.
>
> I will let you know as soon as I have tested it with your program.
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* jallib@googlegroups.com <jallib@googlegroups.com> namens
> bar...@gmail.com <bart...@gmail.com>
> *Verzonden:* dinsdag 9 februari 2021 09:07
> *Aan:* jallib <jallib@googlegroups.com>
> *Onderwerp:* Re: [jallib] [jallib/jallib] 1dd7c1: Added new JAL library
> for the nRF905
>
> Hi Rob,
>
> thank you for your quick answer
> Yes you're right, I made a mistake while posting (I was a bit tired ;-) ,
> the correct code I tested with is this one:
>
> -- nRF905 pin definition.
> alias nrf905_spi_sck is pin_B3
> alias nrf905_spi_sck_direction is pin_B3_direction -- To SCK of nRF905
> alias nrf905_spi_sdi is pin_B1
> alias nrf905_spi_sdi_direction is pin_B1_direction -- To MISO of nRF905
> alias nrf905_spi_sdo is pin_B2
> alias nrf905_spi_sdo_direction is pin_B2_direction -- To MOSI of nRFF905
> alias nrf905_csn_pin is pin_A1
> alias nrf905_csn_pin_direction is pin_A1_direction -- To csn of nRF905
> alias nrf905_txen_pin is pin_B5
> alias nrf905_txen_pin_direction is pin_B5_direction -- To txen of nRF905
> alias nrf905_trx_ce_pin is pin_B4
> alias nrf905_trx_ce_pin_direction is pin_B4_direction  -- To (tx_)ce of
> nRF905
>
> the rest of the program remains unchanged.
>
> As you can see, it seems that the module always "sees" something to
> receive... Also some parameters appear to be incorrect, but I don't know
> what to change.
> Maybe there is something specific to add for the 18F45K22 ?
>
> Regards,
> Gilles
>
> Le lundi 8 février 2021 à 18:56:47 UTC+1, rob...@hotmail.com a écrit :
>
> Hi Gilles,
>
> Sorry to hear that.
>
> I had a quick look at you schematic diagram but there is something that I
> do not understand. You have made connections to the module using port B but
> the interface pins in your software for the communication are all on port C
> (and one on A).
>
> I am talking about these pin assignments in your program
> -- nRF905 pin definition.
> alias nrf905_spi_sck is pin_C0 -- Pin 10 for 14 pin DIP
> alias nrf905_spi_sck_direction is pin_C0_direction -- To SCK of nRF905
> alias nrf905_spi_sdi is pin_C1 -- Pin 9 for 14 pin DIP.
> alias nrf905_spi_sdi_direction is pin_C1_direction -- To MISO of nRF905
> alias nrf905_spi_sdo is pin_C2 -- Pin 8 for 14 pin DIP.
> alias nrf905_spi_sdo_direction is pin_C2_direction -- To MOSI of nRFF905
> alias nrf905_csn_pin is pin_C3 -- Pin 7 for 14 pin DIP.
> alias nrf905_csn_pin_direction is pin_C3_direction -- To csn of nRF905
> alias nrf905_txen_pin is pin_A5 -- Pin 2 for 14 pin DIP.
> alias nrf905_txen_pin_direction is pin_A5_direction -- To txen of nRF905
> alias nrf905_trx_ce_pin is pin_A4 -- Pin 3 for 14 pin DIP.
> alias nrf905_trx_ce_pin_direction is pin_A4_direction  -- To (tx_)ce of
> nRF905
>
> These aliases are still from the sample program. You have to change these
> aliases so that they match with your hardware schematig. Or am I missing
> something here?
>
> Kind regards,
>
> Rob
>
> ------------------------------
> *Van:* jal...@googlegroups.com <jal...@googlegroups.com> namens
> bar...@gmail.com <bar...@gmail.com>
> *Verzonden:* maandag 8 februari 2021 14:50
> *Aan:* jallib <jal...@googlegroups.com>
>
> *Onderwerp:* Re: [jallib] [jallib/jallib] 1dd7c1: Added new JAL library
> for the nRF905
> Hello Rob
>
> A bit late :-( but I never could make this library work for me.
>
> Here is my code, which is a simple copy of your sample, whithout the use
> of interruptions.
>
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
> -- %
>      %
> -- %                    Test Module nRF905
>      %
> -- %
>      %
> -- % Langage JALV2
>      %
> -- % GBA 01/2021
>      %
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>
> include 18f45k22                     -- target PICmicro
> --
> -- This program assumes that a 20 MHz resonator or crystal
> -- is connected to pins OSC1 and OSC2.
> pragma target clock 20_000_000      -- oscillator frequency
> --
> pragma target OSC      HSH                       -- crystal or resonator
> pragma target PLLEN    DISABLED                  -- PLL off
> pragma target WDT      DISABLED                  -- watchdog
> pragma target XINST    DISABLED                  -- do not use extended
> instructionset
> pragma target DEBUG    DISABLED                  -- no debugging
> pragma target BROWNOUT DISABLED                  -- no brownout reset
> pragma target FCMEN    DISABLED                  -- no clock monitoring
> pragma target IESO     DISABLED                  -- no int/ext osc
> switching
> pragma target LVP      ENABLED                  --  low voltage programming
> pragma target MCLR     INTERNAL                  -- no external reset
> --
> -- The configuration bit settings above are only a selection, sufficient
> -- for this program. Other programs may need more or different settings.
> --
> OSCCON_SCS = 0                      -- select primary oscillator
> OSCTUNE_PLLEN = FALSE               -- no PLL
>
> include delay
> include print                          -- formatted output library
>
> -- Active les résistances pull-up du port B
> INTCON2_NRBPU = 0
> -- Désactive les convertisseurs A/D
> enable_digital_io()
>
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
> -- % Traitement du port RS232
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
> -- -- Définition des valeurs du port série
> const USART_HW_Serial     = TRUE   -- TRUE = RS232, FALSE = SPI
> const Serial_HW_Baudrate  = 9600
>
> pin_c5_direction = output
> pin_c6_direction = output
> pin_c7_direction = input
> include Serial_Hardware
> Serial_HW_Init
>
> pin_c5 = HIGH
>
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
> -- % FIN Traitement du port RS232
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>
> enable_digital_io()
> -- Take some time to stabilize.
> _usec_delay(100_000)
>
> -- For debugging purposes this constant can be defined.
> const NRF905_DEBUG = TRUE
>
> -- nRF905 pin definition.
> alias nrf905_spi_sck is pin_C0 -- Pin 10 for 14 pin DIP
> alias nrf905_spi_sck_direction is pin_C0_direction -- To SCK of nRF905
> alias nrf905_spi_sdi is pin_C1 -- Pin 9 for 14 pin DIP.
> alias nrf905_spi_sdi_direction is pin_C1_direction -- To MISO of nRF905
> alias nrf905_spi_sdo is pin_C2 -- Pin 8 for 14 pin DIP.
> alias nrf905_spi_sdo_direction is pin_C2_direction -- To MOSI of nRFF905
> alias nrf905_csn_pin is pin_C3 -- Pin 7 for 14 pin DIP.
> alias nrf905_csn_pin_direction is pin_C3_direction -- To csn of nRF905
> alias nrf905_txen_pin is pin_A5 -- Pin 2 for 14 pin DIP.
> alias nrf905_txen_pin_direction is pin_A5_direction -- To txen of nRF905
> alias nrf905_trx_ce_pin is pin_A4 -- Pin 3 for 14 pin DIP.
> alias nrf905_trx_ce_pin_direction is pin_A4_direction  -- To (tx_)ce of
> nRF905
>
> -- We use software SPI. If not defined, hardware SPI is used.
> const bit NRF905_SOFTWARE_SPI = TRUE
>
> -- When using the power pin, define it here. If not used connect the power
> pin
> -- of the module to VCC.
> -- const NRF905_USE_PWR_PIN = TRUE
> if defined(NRF905_USE_PWR_PIN) then
>    alias nrf905_pwr_up_pin is pin_A1 -- Pin 12 for 14 pin DIP.
>    alias nrf905_pwr_up_pin_direction is pin_A1_direction
> end if
>
> -- This program uses the interrupt way of receiving new data which gives
> the
> -- main program more time before processing it. But since the main program
> does
> -- not do very much this feature is not really needed here.
> --const NRF905_USE_INTERRUPT = TRUE
> if defined(NRF905_USE_INTERRUPT) then
>    alias nrf905_dr_pin is pin_A2 -- Pin 11 for 14 pin DIP, external
> interrupt.
>    alias nrf905_dr_pin_direction is pin_A2_direction  -- To DR of nRF905
>    alias nrf905_external_interrupt_enable is INTCON_INTE
>    alias nrf905_global_interrupt_enable is INTCON_GIE
>    alias nrf905_external_interrupt_edge is OPTION_REG_INTEDG
>    alias nrf905_external_interrupt_flag is INTCON_INTF
>    alias nrf905_postive_interrupt_edge is TRUE
> end if
>
> -- nRF905 addresses. We use 4-bit addresses (default).
> const dword NRF905_RX_ADDR_1 = 0x11223344  -- My address.
> const dword NRF905_TX_ADDR_1 = 0x55667788  -- Address of device 1.
> const dword NRF905_TX_ADDR_2 = 0xBBCCDDEE  -- Address of device 1.
>
> -- We do not use the library default payload size (default is maximum of
> 32).
> const byte NRF905_TX_PAYLOAD_SIZE = 25
> const byte NRF905_RX_PAYLOAD_SIZE = 25
> -- The RX buffer size must be equal to or bigger than the highest payload
> size.
> const byte NRF905_RX_BUFFER_SIZE  = 25
> include nrf905
>
> -- Some text constants.
> const byte start[] = "Test program for nRF905.\r\n"
> const byte hello_1[] = "Hello World 1!"
> const byte hello_2[] = "Hello World 2!"
>
> -- Used variables.
> var word timer
> var byte counter, index, pipe
> var byte device_to_send_to
> var bit sending_data
>
> -- Initialize the bRF905 module with the default values.
> nrf905_init()
> -- Set receiver address of this device.
> nrf905_set_rx_address(NRF905_RX_ADDR_1)
> -- Our module has a 16 MHz clock (init value is 20 MHz)
> nrf905_set_crystal_clock(NRF905_CRYSTAL_CLK_16MHZ)
> -- Set a different payload width for this program.
> nrf905_set_rx_payload_width(NRF905_RX_PAYLOAD_SIZE)
> nrf905_set_tx_payload_width(NRF905_TX_PAYLOAD_SIZE)
> -- A little bit more power please.
> nrf905_set_power_level(NRF905_POWER_LEVEL_MAX)
>
> -- Show welcome message on the screen.
> print_string(serial_hw_data,start)
> print_crlf(serial_hw_data)
>
> timer = 0
> sending_data = FALSE
> device_to_send_to = 1
>
> nrf905_print_configuration_register()
>
> forever loop
>    -- Loop timer 1 ms.
>    _usec_delay(1_000)
>
>    -- Send a message to one of the devices and alternate devices..
>    timer = timer + 1
>    -- Wait 1 second before sending the next message.
>    if (timer >= 1_000) then
>       print_crlf(serial_hw_data)
>       if (device_to_send_to == 1)
>       then
>          -- Send to first device.
>          print_string(serial_hw_data,"Sending data to device 1 ... ")
>          nrf905_set_tx_address(NRF905_TX_ADDR_1)
>          nrf905_send_data(hello_1, count(hello_1))
>          device_to_send_to = 2
>       elsif (device_to_send_to == 2)
>       then
>          -- Send to second device.
>          print_string(serial_hw_data,"Sending data to device 2 ... ")
>          nrf905_set_tx_address(NRF905_TX_ADDR_2)
>          nrf905_send_data(hello_2, count(hello_2))
>          device_to_send_to = 1
>       end if
>       sending_data = TRUE
>       timer = 0
>     end if
>
>    -- Print the transmission status and enable the receiver.
>    if sending_data & nrf905_tx_ready() then
>       -- Transmission done, check if successful.
>       print_string(serial_hw_data,"Transmission Done! \r\n")
>       print_string(serial_hw_data,"Enabling receiver ... \r\n")
>       -- Enable receiver again.
>       nrf905_power_up_rx()
>       sending_data = FALSE
>    end if
>
>    -- Print the message from any of the 2 devices. Ignore the values 0x00
> which
>    -- can be added when the received message is shorter than the maximum
> payload.
>    if nrf905_get_data() then
>       print_crlf(serial_hw_data)
>       print_string(serial_hw_data,"Receiving data: ")
>       for NRF905_RX_PAYLOAD_SIZE using index loop
>          if nrf905_rx_buffer[index] != 0x00 then
>             serial_hw_data = nrf905_rx_buffer[index]
>          end if
>       end loop
>       print_crlf(serial_hw_data)
>   end if
>
> end loop
>
>
>
> The way it is connected to my pic:
> [image: Capture.JPG]
>
> And finally what it outputs:
>
> [image: Capture2.JPG]
>
> The library "nfR905.jal" is unchanged, I just added the status  return
> which is always 255
> Why is frequency illegal?
>
> I tried many many ways to make it run, but I'm a bit lost, since I don't
> undertand why it works for you...
> I need a help !!!
>
> Regards,
> Gilles
> Le dimanche 26 juillet 2020 à 17:30:02 UTC+2, rob...@hotmail.com a écrit :
>
> Hi Gilles,
>
> You're welcome.
>
> Let me know if you run into any issues using this library.
>
> Kind regards,
>
> Rob
>
>
> ------------------------------
> *Van:* jal...@googlegroups.com <jal...@googlegroups.com> namens Gilles
> BARTHELEMY <bar...@gmail.com>
> *Verzonden:* zondag 26 juli 2020 15:18
> *Aan:* jal...@googlegroups.com <jal...@googlegroups.com>
> *Onderwerp:* Re: [jallib] [jallib/jallib] 1dd7c1: Added new JAL library
> for the nRF905
>
> Thank you Rob !!
>
> Le dim. 26 juil. 2020 à 15:02, Rob Jansen <nor...@github.com> a écrit :
>
>   Branch: refs/heads/master
>   Home:   https://github.com/jallib/jallib
>   Commit: 1dd7c1bb5e824c27ec6928b1c4d4d98c192cde86
>
> https://github.com/jallib/jallib/commit/1dd7c1bb5e824c27ec6928b1c4d4d98c192cde86
>   Author: Rob Jansen <12682653+r...@users.noreply.github.com>
>   Date:   2020-07-26 (Sun, 26 Jul 2020)
>
>   Changed paths:
>     M CHANGELOG
>     M TORELEASE
>     R include/external/nrf24l01/nrf24l01.jal
>     R include/external/virtual_wire/virtual_wire.jal
>     R include/external/virtual_wire/virtual_wire_receiver.jal
>     R include/external/virtual_wire/virtual_wire_transmitter.jal
>     A include/external/wireless/nrf24l01.jal
>     A include/external/wireless/nrf905.jal
>     A include/external/wireless/virtual_wire.jal
>     A include/external/wireless/virtual_wire_receiver.jal
>     A include/external/wireless/virtual_wire_transmitter.jal
>     A sample/16f1823_nrf905.jal
>     A sample/16f1825_nrf905.jal
>
>   Log Message:
>   -----------
>   Added new JAL library for the nRF905
>
> Also moved all wireless libraries to a common wireless library on Github.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jallib+un...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/jallib/jallib/push/refs/heads/master/7db43a-1dd7c1%40github.com
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jallib+un...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/CACRWQHcbSFdTMk18BqOthygL3M4xYuyZVv9-O_F6LCOBFOyExA%40mail.gmail.com
> <https://groups.google.com/d/msgid/jallib/CACRWQHcbSFdTMk18BqOthygL3M4xYuyZVv9-O_F6LCOBFOyExA%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jallib+un...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/c5468e47-6b02-4e21-8177-4b4e77e0666cn%40googlegroups.com
> <https://groups.google.com/d/msgid/jallib/c5468e47-6b02-4e21-8177-4b4e77e0666cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jallib+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/b25014e5-d76d-4369-9d58-c6e41373d0e7n%40googlegroups.com
> <https://groups.google.com/d/msgid/jallib/b25014e5-d76d-4369-9d58-c6e41373d0e7n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "jallib" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to jallib+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jallib/AM0PR07MB6241E57C777595971AA6C0F1E68E9%40AM0PR07MB6241.eurprd07.prod.outlook.com
> <https://groups.google.com/d/msgid/jallib/AM0PR07MB6241E57C777595971AA6C0F1E68E9%40AM0PR07MB6241.eurprd07.prod.outlook.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jallib+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jallib/CACRWQHczWgjj1RZv4nTQ1v_HewSVF81Yg8L6G_--eoWJ6s4zRg%40mail.gmail.com.

Reply via email to