comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP>
Subject: Re: Help with embedded hardware/software platform selection for ADA
Date: Tue, 2 Jul 2013 19:29:52 +0000 (UTC)
Date: 2013-07-02T19:29:52+00:00	[thread overview]
Message-ID: <kqv9ng$g4g$1@dont-email.me> (raw)
In-Reply-To: p5xco0werqaf.ma0hhjlbtacy.dlg@40tude.net

On 2013-07-02, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On Tue, 2 Jul 2013 16:52:59 +0000 (UTC), Simon Clubley wrote:
>> 
>> It's not just systems programming, but hard realtime programming.
>> 
>> If you are using a "normal" OS, can I assume you don't have a hard
>> real-time requirement (at least within the Ada code itself) ?
>
> Hard realtime is to a great extent a fiction. If your system becomes
> fragile upon us jitter there should be something wrong with the
> architecture.
>

[snip]

>
>> A number of the project areas which interest hobbyists have a realtime
>> component to them and a number of those have a hard realtime component.
>
> Unless you are dealing with burning processes (a bomb? (:-)) you do not
> need cycles tighter than 1ms. And jitter is not an issue anyway.
> Furthermore, a good AD/DA converter is not quicker than 40us. Which adds
> 80us to the loop no matter what. Don't tell me that the GPIO ARM has is
> anywhere close to this. So 100us would be the theoretical minimum.
>

I don't understand why you think the only way to get data into a board
is via a A/D converter. Much of the I/O in the hobbyist world and elsewhere
is pure digital; even when you connect devices such as gyros and compasses
they tend to have a digital interface these days; SPI is a common interface.

The problem is that there's the world you occupy when designing something
for a safety critical production environment with it's set of requirements
and there's the world the hobbyists occupy which has a different set of
tradeoffs.

If you want to attract hobbyists to Ada, you need to do it in ways they
can relate to. One of the things common in the hobbyist world is to use
low cost components and to implement functionality in software. In a
production environment, you would just buy a more expensive widget and
not spend time (which you are paying for) writing software making the
cheaper widget do the job of the more expensive widget.

I'm a professional commercial programmer by day, but my embedded work is
just a hobby and I pay for the cost of the components out of my own pocket.
If I can buy a much cheaper widget and spend time writing software to make
it more capable then I am probably going to do that. Besides, it's usually
a fun project.

One example: I needed a low rate (a few hundred bytes/second) full duplex
RF interface operating in the 433MHz band for some hobbyist projects.
Rather than just buy a expensive full duplex radio, what I did was to
buy a couple of cheap half duplex Radiometrix transceiver modules and then
build a couple of AVR based circuits around them which turned the half
duplex modules into a pseudo full duplex device. (The AVRs synchronise
the timeslots between themselves automatically.)

The software on those AVRs (written in C, not Ada; sorry :-)) generates
about 10,000 interrupts per second generating and sampling the bitstream
for the transceivers. So yes, I _do_ need <1ms :-) and I need all of the
interrupts to be on time or the packet will be corrupted during transmission
or reception.

Simon.

-- 
Simon Clubley, clubley@remove_me.eisner.decus.org-Earth.UFP
Microsoft: Bringing you 1980s technology to a 21st century world


  reply	other threads:[~2013-07-02 19:29 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-14 15:39 Help with embedded hardware/software platform selection for ADA Max Herman
2013-06-14 17:05 ` Dmitry A. Kazakov
2013-06-17 15:51   ` Max Herman
2013-06-17 17:12     ` Dmitry A. Kazakov
2013-06-14 17:45 ` G.B.
2013-06-14 20:52   ` Simon Wright
2013-06-14 20:16 ` RasikaSrinivasan
2013-06-14 20:51   ` Simon Wright
2013-06-17 16:00   ` Max Herman
2013-06-17  0:38 ` Luke A. Guest
2013-06-17 16:05   ` Max Herman
2013-07-04 16:13     ` Lucretia
2013-06-17  6:55 ` Help with embedded hardware/software platform selection for Ada Jacob Sparre Andersen
2013-06-17 16:15   ` Max Herman
2013-06-26 23:58   ` Luke A. Guest
2013-06-17 21:46 ` Help with embedded hardware/software platform selection for ADA Marcus F
2013-07-01 18:45   ` mjsilva
2013-07-01 19:32     ` Dmitry A. Kazakov
2013-07-01 23:35       ` Simon Clubley
2013-07-02  7:27         ` Georg Bauhaus
2013-07-02  8:46           ` Dmitry A. Kazakov
2013-07-02  9:09             ` Georg Bauhaus
2013-07-02 14:50               ` Shark8
2013-07-02 15:08             ` mjsilva
2013-07-02 16:53               ` Robert A Duff
2013-07-02 22:47               ` Randy Brukardt
2013-07-03  0:22                 ` Luke A. Guest
2013-07-03 19:13                   ` Randy Brukardt
2013-07-03 19:19                     ` Randy Brukardt
2013-07-03 20:50                       ` Georg Bauhaus
2013-07-08 12:53                         ` Eryndlia Mavourneen
2013-07-03 21:29                       ` Luke A. Guest
2013-07-03 22:02                       ` Niklas Holsti
2013-07-04 16:02                     ` Luke A. Guest
2013-07-05 21:08                       ` Randy Brukardt
2013-07-03  1:01                 ` mjsilva
2013-07-03  2:41                   ` Luke A. Guest
2013-07-03  7:17                     ` Shark8
2013-07-02 16:52             ` Simon Clubley
2013-07-02 17:27               ` Dmitry A. Kazakov
2013-07-02 19:29                 ` Simon Clubley [this message]
2013-07-02 20:21                   ` Dmitry A. Kazakov
2013-07-03 12:08                     ` Simon Clubley
2013-07-03 12:47                       ` Dmitry A. Kazakov
2013-07-03 16:56                         ` Simon Clubley
2013-07-02 22:21                 ` mjsilva
2013-07-03  7:18                   ` Dmitry A. Kazakov
2013-07-03  8:03                     ` Georg Bauhaus
2013-07-03 11:11                       ` Dmitry A. Kazakov
2013-07-03 12:49                         ` G.B.
2013-07-03 16:14                           ` Dmitry A. Kazakov
2013-07-03 14:50                     ` mjsilva
2013-07-02  8:26         ` Dmitry A. Kazakov
2013-07-02 10:44           ` Bill Findlay
2013-07-02 13:02             ` Dmitry A. Kazakov
2013-07-02 13:59               ` Bill Findlay
2013-07-02 14:41                 ` Dmitry A. Kazakov
2013-07-02 16:45                   ` Simon Clubley
2013-07-02 17:40                     ` Dmitry A. Kazakov
2013-07-02 16:57           ` Simon Clubley
2013-07-02 17:44             ` Dmitry A. Kazakov
2013-07-02 14:55         ` mjsilva
2013-07-02 15:20           ` Dmitry A. Kazakov
2013-07-02 15:58             ` mjsilva
2013-07-02 16:58               ` Dmitry A. Kazakov
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox