Skip to content

nrfx_rng driver #43

Open
Open
@lilindian16

Description

@lilindian16

Board: generic_nrf52840

This is a dumb question. How do I enable the RNG driver (cores/nRF5/nordic/nrfx/drivers/include/nrfx_rng.h)? I have included the driver in my source file. I have added -DNRFX_RNG_ENABLED to the build_flags in my platformio.ini

Building results in undefined reference to nrfx_rng_init and undefined reference to nrfx_rng_uninit

My current code:

bool rngGenerated = false;
uint8_t rngNumber;

void rngEventHandler(uint8_t randomNumber)
{
  rngGenerated = true;
  rngNumber = randomNumber;
}

void generateRandomNumber(uint8_t *dataBuffer, uint8_t bytesToGenerate)
{
  uint8_t numbersGenerated = 0;
  nrfx_rng_config_t config = NRFX_RNG_DEFAULT_CONFIG;
  nrfx_rng_evt_handler_t eventHandler = &rngEventHandler;
  nrfx_rng_init(&config, eventHandler);

  while (numbersGenerated < bytesToGenerate)
  {
    if (rngGenerated)
    {
      dataBuffer[numbersGenerated] = rngNumber;
      rngGenerated = false;
      numbersGenerated++;
    }
    delay(1);
  }
  nrfx_rng_uninit();
}

Any help would be much appreciated :)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions