Random number generator for Ada on BBC MicroBit
Working on a little game for the BBC Microbit.
with Ada.Numerics.Discrete_Random
reports "Ada.Numerics" is not a predefined library unit.
Does Ada provide another way to generate random numbers on the BBC MicroBit? arch/ARM/Nordic/svd/nrf51/nrf51_svd-rng defines a random number generator record RNG_Peripheral. Is this what I'm searching for or only used with Bluetooth?
GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)
Active toolchain: arm-eabi
the GNAT Programming Studio
(c) 2001-2018 AdaCore
My code:
with Ada.Numerics.Discrete_Random;
package body Flip_A_Coin is
package Random_Coin is new Ada.Numerics.Discrete_Random(Coin);
G: Random_Coin.Generator;
------------------
-- Reset --
------------------
procedure Reset is
begin
Random_Coin.Reset(G);
end Reset;
------------------
-- Flip --
------------------
function Flip
return Coin is
begin
return Random_Coin.Random(G);
end Flip;
begin
Reset;
end Flip_A_Coin;
random ada bbc-microbit
add a comment |
Working on a little game for the BBC Microbit.
with Ada.Numerics.Discrete_Random
reports "Ada.Numerics" is not a predefined library unit.
Does Ada provide another way to generate random numbers on the BBC MicroBit? arch/ARM/Nordic/svd/nrf51/nrf51_svd-rng defines a random number generator record RNG_Peripheral. Is this what I'm searching for or only used with Bluetooth?
GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)
Active toolchain: arm-eabi
the GNAT Programming Studio
(c) 2001-2018 AdaCore
My code:
with Ada.Numerics.Discrete_Random;
package body Flip_A_Coin is
package Random_Coin is new Ada.Numerics.Discrete_Random(Coin);
G: Random_Coin.Generator;
------------------
-- Reset --
------------------
procedure Reset is
begin
Random_Coin.Reset(G);
end Reset;
------------------
-- Flip --
------------------
function Flip
return Coin is
begin
return Random_Coin.Random(G);
end Flip;
begin
Reset;
end Flip_A_Coin;
random ada bbc-microbit
add a comment |
Working on a little game for the BBC Microbit.
with Ada.Numerics.Discrete_Random
reports "Ada.Numerics" is not a predefined library unit.
Does Ada provide another way to generate random numbers on the BBC MicroBit? arch/ARM/Nordic/svd/nrf51/nrf51_svd-rng defines a random number generator record RNG_Peripheral. Is this what I'm searching for or only used with Bluetooth?
GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)
Active toolchain: arm-eabi
the GNAT Programming Studio
(c) 2001-2018 AdaCore
My code:
with Ada.Numerics.Discrete_Random;
package body Flip_A_Coin is
package Random_Coin is new Ada.Numerics.Discrete_Random(Coin);
G: Random_Coin.Generator;
------------------
-- Reset --
------------------
procedure Reset is
begin
Random_Coin.Reset(G);
end Reset;
------------------
-- Flip --
------------------
function Flip
return Coin is
begin
return Random_Coin.Random(G);
end Flip;
begin
Reset;
end Flip_A_Coin;
random ada bbc-microbit
Working on a little game for the BBC Microbit.
with Ada.Numerics.Discrete_Random
reports "Ada.Numerics" is not a predefined library unit.
Does Ada provide another way to generate random numbers on the BBC MicroBit? arch/ARM/Nordic/svd/nrf51/nrf51_svd-rng defines a random number generator record RNG_Peripheral. Is this what I'm searching for or only used with Bluetooth?
GPS 2018 (20180528) hosted on x86_64-pc-linux-gnu
GNAT Community 2018 (20180524-73)
Active toolchain: arm-eabi
the GNAT Programming Studio
(c) 2001-2018 AdaCore
My code:
with Ada.Numerics.Discrete_Random;
package body Flip_A_Coin is
package Random_Coin is new Ada.Numerics.Discrete_Random(Coin);
G: Random_Coin.Generator;
------------------
-- Reset --
------------------
procedure Reset is
begin
Random_Coin.Reset(G);
end Reset;
------------------
-- Flip --
------------------
function Flip
return Coin is
begin
return Random_Coin.Random(G);
end Flip;
begin
Reset;
end Flip_A_Coin;
random ada bbc-microbit
random ada bbc-microbit
asked Jan 1 at 14:01
Glen FlintGlen Flint
112
112
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
If you build using
for Runtime ("ada") use "ravenscar-full-microbit";
in your project or
--RTS=ravenscar-full-microbit
on the command line you will find the standard Ada RNGs.
You could also try, as you suggest, using the NRF51_SVD.RNG
from the Ada Drivers Library, which should do the trick.
add a comment |
If you have floating-point numbers available, you can use U_Rand available @ Mathpaqs.
add a comment |
There are a number of RNGs available in the PragmAda Reusable Components. Maybe one of them will suit you.
PragmARCs
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53996085%2frandom-number-generator-for-ada-on-bbc-microbit%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
If you build using
for Runtime ("ada") use "ravenscar-full-microbit";
in your project or
--RTS=ravenscar-full-microbit
on the command line you will find the standard Ada RNGs.
You could also try, as you suggest, using the NRF51_SVD.RNG
from the Ada Drivers Library, which should do the trick.
add a comment |
If you build using
for Runtime ("ada") use "ravenscar-full-microbit";
in your project or
--RTS=ravenscar-full-microbit
on the command line you will find the standard Ada RNGs.
You could also try, as you suggest, using the NRF51_SVD.RNG
from the Ada Drivers Library, which should do the trick.
add a comment |
If you build using
for Runtime ("ada") use "ravenscar-full-microbit";
in your project or
--RTS=ravenscar-full-microbit
on the command line you will find the standard Ada RNGs.
You could also try, as you suggest, using the NRF51_SVD.RNG
from the Ada Drivers Library, which should do the trick.
If you build using
for Runtime ("ada") use "ravenscar-full-microbit";
in your project or
--RTS=ravenscar-full-microbit
on the command line you will find the standard Ada RNGs.
You could also try, as you suggest, using the NRF51_SVD.RNG
from the Ada Drivers Library, which should do the trick.
edited Jan 5 at 11:52
answered Jan 1 at 17:41


Simon WrightSimon Wright
17k22245
17k22245
add a comment |
add a comment |
If you have floating-point numbers available, you can use U_Rand available @ Mathpaqs.
add a comment |
If you have floating-point numbers available, you can use U_Rand available @ Mathpaqs.
add a comment |
If you have floating-point numbers available, you can use U_Rand available @ Mathpaqs.
If you have floating-point numbers available, you can use U_Rand available @ Mathpaqs.
answered Jan 1 at 15:33
ZerteZerte
1334
1334
add a comment |
add a comment |
There are a number of RNGs available in the PragmAda Reusable Components. Maybe one of them will suit you.
PragmARCs
add a comment |
There are a number of RNGs available in the PragmAda Reusable Components. Maybe one of them will suit you.
PragmARCs
add a comment |
There are a number of RNGs available in the PragmAda Reusable Components. Maybe one of them will suit you.
PragmARCs
There are a number of RNGs available in the PragmAda Reusable Components. Maybe one of them will suit you.
PragmARCs
answered Jan 4 at 17:18
Jeffrey R. CarterJeffrey R. Carter
73134
73134
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53996085%2frandom-number-generator-for-ada-on-bbc-microbit%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown