comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Clubley <clubley@remove_me.eisner.decus.org-Earth.UFP>
Subject: Re: Ada, the best language with the not-so-best tool chain
Date: Wed, 10 Oct 2012 13:13:40 +0000 (UTC)
Date: 2012-10-10T13:13:40+00:00	[thread overview]
Message-ID: <k53sa4$rvd$1@dont-email.me> (raw)
In-Reply-To: nvt4san8t2mz$.1p4qujfarjib7.dlg@40tude.net

On 2012-10-10, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote:
> On Tue, 9 Oct 2012 23:23:11 +0000 (UTC), Simon Clubley wrote:
>
>> Let's make this discussion more tangible by using a specific example.
>> 
>> The scenario: a hobbyist/academic researcher/whoever is building a
>> small computer controlled model aircraft, in the order of up to about
>> a metre in length for the fuselage.
>
> I have no idea about controlling an aircraft. Can one do it without a
> multitude of analogue inputs and outputs, rotary encoders etc?
>

[Remember we are talking about model aircraft here, not large human
carrying multi-million dollar/euro/pound aircraft.]

The interface problem is actually two sub-problems: (1) gathering sensor
data and (2) commanding the aircraft to move as a result of processing
the sensor data.

The input sensors are generally (but not always) digital these days.
For example, the low cost gyros and accelerometers you would typically
use usually have a SPI or I2C interface.

Commanding a model aircraft to move is done in exactly one way: by
sending command pulses to a standard R/C aircraft servo. The following
explains how these servos work:

http://en.wikipedia.org/wiki/Servo_%28radio_control%29

The length of the pulse determines the position of the servo.

Electronic speed controllers (the controller used to regulate power
to the electric motor driving the propeller) work in the same way;
pulses are sent along a command line.

These pulses are digital in nature; driven to logic 1 for a period of
time and then driven to logic 0 to end the pulse. They are ideally
suited to be connected to a GPIO line in output mode.

>> Question 1: if you could not use GPIO lines to control commodity
>> R/C components, how would you have the onboard computer control the
>> engine and flight control surfaces ?
>
> ARM boards look very much like a compromise. That rarely pays off. Likely
> there exist better solutions for a model aircraft, but I cannot judge that.
>

I would welcome suggestions as I cannot currently think of any viable
alternatives to a small and low power general purpose onboard computer.

>> To make this on topic for this newsgroup, this seems to be a common
>> hobbyist or researcher project in a number of circles, and is _exactly_
>> the type of project for which Ada would be very well suited indeed.
>
> How many people spend their time building model aircrafts? Could rail
> transport modeling be a better candidate?
>

When you look around, it seems a surprising amount of people do (or at
least they consider it). Compared to making a aircraft fly through the
air, rail transport modeling seems kind of boring in comparison. :-)

> Anyway, if you need an altimeter instrument for the ground control system,
> let me know. I maintain an instrumentation library in Ada.
>
>> Question 2: how would you put the idea of using Ada for this project
>> into someone's head and what changes to the Ada ecosystem would be
>> needed to make it viable for people with different ranges of embedded
>> experience to actually use Ada in this case ?
>
> I would tell him that he could use the same software during modeling and
> deployment phases, basically, doing much of the work in doors rather than
> in field.
>

The answer would need to be more specific than that; there already exist
testing environments which allow you to do some work on your control systems
indoors. For example, have a look at Flightgear: http://www.flightgear.org/

Quite a few people use it for developing parts of their system within a
simulated environment.

A person would generally need to be using arguments along the lines of
suggesting that Ada based development would result in more robust and/or
quicker to develop code.

Simon.

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



  reply	other threads:[~2012-10-16  1:57 UTC|newest]

Thread overview: 170+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-07 17:34 Ada, the best language with the not-so-best tool chain Patrick
2012-10-07 18:43 ` Dmitry A. Kazakov
2012-10-07 22:35   ` Simon Clubley
2012-10-08  7:35     ` Dmitry A. Kazakov
2012-10-08 12:10       ` The Ada community's attitude, was: " Simon Clubley
2012-10-09  9:20     ` pavel.klinkovsky
2012-10-12 12:09     ` Lucretia
2012-10-12 12:47       ` Simon Clubley
2012-10-12 12:59         ` Lucretia
2012-10-16 20:05           ` Simon Clubley
2012-10-16 20:10             ` phone.john.kern
2012-10-18 14:14             ` Lucretia
2012-10-18 17:05               ` Simon Clubley
2012-10-12 13:28       ` kalvin.news
2012-10-11  4:04   ` Yannick Duchêne (Hibou57)
2012-10-07 18:49 ` Shark8
2012-10-07 20:21   ` Patrick
2012-10-08  7:31     ` Dmitry A. Kazakov
2012-10-08 11:28       ` Simon Clubley
2012-10-08 12:49         ` Dmitry A. Kazakov
2012-10-08 12:40       ` Georg Bauhaus
2012-10-08 13:00         ` Dmitry A. Kazakov
2012-10-08 13:57           ` Patrick
2012-10-08 14:02             ` Patrick
2012-10-08 19:53             ` Rego, P.
2012-10-08 20:27             ` Niklas Holsti
2012-10-08 14:00           ` Georg Bauhaus
2012-10-08 14:22             ` Dmitry A. Kazakov
2012-10-08 14:30               ` Georg Bauhaus
2012-10-08 16:12                 ` Dmitry A. Kazakov
2012-10-08 16:54                   ` Patrick
2012-10-08 18:22                     ` Dmitry A. Kazakov
2012-10-08 18:29                       ` Patrick
2012-10-08 19:27                         ` Dmitry A. Kazakov
2012-10-08 20:44                           ` Simon Clubley
2012-10-09  9:13                             ` Dmitry A. Kazakov
2012-10-09  9:59                               ` Georg Bauhaus
2012-10-09 12:16                                 ` Dmitry A. Kazakov
2012-10-09 15:06                                   ` Georg Bauhaus
2012-10-09 16:53                                     ` Dmitry A. Kazakov
2012-10-18 21:53                             ` Randy Brukardt
2012-10-19 11:23                               ` Mark Lorenzen
2012-10-19 14:09                               ` Patrick
2012-10-19 14:47                                 ` Yannick Duchêne (Hibou57)
2012-10-19 14:56                                   ` Patrick
2012-10-19 15:04                                     ` Vinzent Höfler
2012-10-19 17:30                                     ` Simon Clubley
2012-10-19 18:07                                       ` Yannick Duchêne (Hibou57)
2012-10-19 19:05                                       ` Georg Bauhaus
2012-10-19 19:14                                       ` Jeffrey Carter
2012-10-19 18:24                                     ` Anh Vo
2012-10-19 18:40                                       ` Adam Beneschan
2012-10-19 21:44                                     ` Jeffrey Carter
2012-10-19 22:28                                     ` Brian Drummond
2012-10-20 10:57                                       ` Yannick Duchêne (Hibou57)
2012-10-20 23:08                                         ` Brian Drummond
2012-10-19 15:38                                 ` Dmitry A. Kazakov
2012-10-19 22:08                                 ` Brian Drummond
2012-10-24  9:56                               ` Paul Rubin
2012-10-24 11:21                                 ` Simon Clubley
2012-10-24 13:13                                   ` kalvin.news
2012-10-24 16:16                                     ` Paul Rubin
2012-10-24 16:27                                       ` Yannick Duchêne (Hibou57)
2012-10-24 16:41                                         ` Paul Rubin
2012-10-24 16:57                                           ` Yannick Duchêne (Hibou57)
2012-10-24 17:36                                             ` Paul Rubin
2012-10-24 17:55                                             ` Niklas Holsti
2012-10-24 21:17                                           ` Brian Drummond
2012-10-24 22:08                                             ` Paul Rubin
     [not found]                                               ` <4dqg885bcf05isnup07a28jrq8lbq5fknd@invalid.netcom.com>
2012-10-24 22:31                                                 ` Paul Rubin
2012-10-25  8:42                                               ` Brian Drummond
2012-10-29 14:51                                   ` mjsilva
2012-10-08 23:04                           ` Patrick
2012-10-08 23:07                           ` Patrick
2012-10-09  8:35                             ` Dmitry A. Kazakov
2012-10-08 21:28                         ` Ludovic Brenta
2012-10-08 23:58                           ` Patrick
2012-10-09  5:59                           ` Niklas Holsti
2012-10-09  8:02                             ` kalvin.news
2012-10-09  8:06                               ` kalvin.news
2012-10-10  5:56                               ` Stephen Leake
2012-10-10  6:48                                 ` Niklas Holsti
2012-10-10  7:06                                   ` Ludovic Brenta
2012-10-10  8:17                                     ` Niklas Holsti
2012-10-12 12:27                               ` Lucretia
2012-10-12 12:45                                 ` Simon Clubley
2012-10-12 12:58                                   ` Lucretia
2012-10-09  8:10                             ` Brian Drummond
2012-10-10 15:26                               ` Tero Koskinen
2012-11-08  9:36                               ` Jacob Sparre Andersen
2012-11-08 13:52                                 ` Rego, P.
2012-11-08 21:50                                 ` Brian Drummond
2012-11-09  1:24                                 ` Randy Brukardt
2012-11-09 10:16                                   ` Brian Drummond
2012-11-10  8:05                                     ` Randy Brukardt
     [not found]                                       ` <ulat9855qcom15kt7lk68rsidf44uau4q5@invalid.netcom.com>
2012-11-15  1:21                                         ` Randy Brukardt
2012-12-17 16:33                                 ` Brian Drummond
2012-12-17 17:57                                   ` Shark8
2012-12-25  9:29                                   ` Paul Rubin
2012-12-26 10:38                                     ` Brian Drummond
2012-12-25 10:11                                   ` Niklas Holsti
2012-12-26 10:40                                     ` Brian Drummond
2012-10-08 19:17                       ` kalvin.news
2012-10-08 20:16                       ` Simon Clubley
2012-10-09  9:33                         ` Dmitry A. Kazakov
2012-10-09  9:57                           ` kalvin.news
2012-10-09 12:31                             ` Dmitry A. Kazakov
2012-10-09 12:51                               ` kalvin.news
2012-10-09 13:01                                 ` Dmitry A. Kazakov
2012-10-09 12:04                           ` Simon Clubley
2012-10-09 13:18                             ` Dmitry A. Kazakov
2012-10-09 15:53                               ` kalvin.news
2012-10-09 17:08                                 ` Dmitry A. Kazakov
2012-10-09 18:26                                   ` kalvin.news
2012-10-09 20:40                                     ` Dmitry A. Kazakov
2012-10-09 23:23                                   ` Simon Clubley
2012-10-10  7:36                                     ` Dmitry A. Kazakov
2012-10-10 13:13                                       ` Simon Clubley [this message]
2012-10-10 13:45                                         ` kalvin.news
2012-10-10 15:44                                         ` Rego, P.
2012-10-10 17:52                                           ` Simon Clubley
2012-10-10 15:40                                       ` Rego, P.
2012-10-10 16:09                                         ` Dmitry A. Kazakov
2012-10-11  9:41                               ` Yannick Duchêne (Hibou57)
2012-10-11 12:01                                 ` Dmitry A. Kazakov
2012-10-09 12:29                           ` Vinzent Hoefler
2012-10-09 12:55                             ` Dmitry A. Kazakov
     [not found]                           ` <hok878l1k7s5i37k8uejv91t82ad41pipg@invalid.netcom.com>
2012-10-09 17:23                             ` Dmitry A. Kazakov
2012-10-11 15:44                           ` mjsilva
2012-10-11 16:20                             ` Dmitry A. Kazakov
2012-10-11 16:55                               ` mjsilva
2012-10-08 20:29                       ` Simon Clubley
2012-10-08 20:49                         ` Simon Clubley
2012-10-11 15:22                       ` mjsilva
2012-10-11 15:52                         ` Yannick Duchêne (Hibou57)
2012-10-11 16:00                           ` Patrick
2012-10-11 16:31                         ` Dmitry A. Kazakov
2012-10-11 16:52                           ` Niklas Holsti
2012-10-16 20:15                         ` phone.john.kern
2012-10-18 22:33                         ` Randy Brukardt
2012-10-18 22:52                           ` Jeffrey Carter
2012-10-18 23:14                             ` Randy Brukardt
2012-10-19  0:46                               ` Jeffrey Carter
2012-10-18 23:58                             ` Yannick Duchêne (Hibou57)
2012-10-19 22:49                           ` Tero Koskinen
2012-10-22 14:25                           ` mjsilva
     [not found]                             ` <be26881c-6662-4830-b86f-34a7d8b25bf4@googlegroups.com>
2012-10-22 15:04                               ` Yannick Duchêne (Hibou57)
2012-10-16 20:08                       ` phone.john.kern
2012-10-08 18:34                     ` Simon Wright
2012-10-08 18:57                       ` Patrick
2012-10-08 20:13             ` Rego, P.
2012-10-07 20:33 ` Niklas Holsti
2012-10-11 16:22   ` mjsilva
2012-10-08 12:02 ` kalvin.news
2012-10-08 20:48   ` Niklas Holsti
2012-10-09  3:03 ` Stephen Leake
2012-10-09  3:24   ` Patrick
2012-10-09  5:44     ` Niklas Holsti
2012-10-10  5:52     ` Stephen Leake
2012-11-08  8:07       ` Jacob Sparre Andersen
2012-11-09 12:29         ` Stephen Leake
2012-11-09 12:56           ` Dmitry A. Kazakov
2012-11-20 21:25         ` Tero Koskinen
2012-11-20 22:15           ` Niklas Holsti
2012-11-21 16:18           ` Lucretia
2012-10-10 11:04 ` kalvin.news
2012-10-11 17:44 ` mjsilva
2012-10-16 20:13   ` phone.john.kern
2012-11-07 14:02 ` Kristoffer Nyborg Gregertsen
2013-01-02  7:01 ` Diogenes
replies disabled

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