►
From YouTube: PDXRust October 2016: PSAS Flight Controller
Description
PDXRust: Capstone team who built flight controller in Rust shares their work
More on http://www.meetup.com/PDXRust/events/234601233/
Help us caption & translate this video!
http://amara.org/v/2Fi2/
B
C
B
B
Whatever
they
want
it,
but
really
go
through
the
formal
process
of
all
the
software
engineering
steps
in
all
of
the
software
methodology
that
one
might
theoretically
use
in
the
real
world.
So
who
is
PSS?
Pss
is
the
program
state,
aerospace
society
and
they
are
a
team
of
students
that
build
rockets
which.
B
B
B
Is
open
source
online
as
well
as
all
of
our
hardware
designs?
So
if
you're
following
piece
s,
you
can
go
on
see
how
they've
built
everything,
and
if
you
have
the
money,
actually
build.
One
yourself
which
is
kind
of
cool
and
the
their
eventual
goal
is
to
put
a
satellite
into
orbit,
which
is
a
very
tall
order.
It's
definitely
not
something
that
you
do
overnight.
B
A
B
B
A
B
To
be
testable
so
that
they
can
run
tests
on
laptops
instead
of
constantly
using
rockets
to
test
sort
of
flight
mode,
it
needs
to
be
fast.
It
also
needs
to
be
safe.
You
don't
want
your
code
crashing
in
the
middle
of
the
flight
or
when
it's
trying
to
make
a
turn
or
doing
something
critical.
So
the
decision
that
piece
asked
mate
was
that
they
were
going
to
use
this
product
called
JSP
sim
to
simulate.
A
B
On
the
laptop
so
that
they
can
do
mimic
mimicked
flights
without
ever
having
to
take
off
to
be
fast
and
safe,
they
decided
to
use
the
breast
language
and
they
needed
to
be
able
to
read
and
write
for
these
cold
gas
jets.
Using
these
libraries
called
aight
to
see
and
gpio,
which
we'll
talk
a
little
bit
more
about
later.
B
B
A
B
B
Two
libraries
and
it
integrates
with
the
simulation
software
JSP
sim,
so
to
test
it,
we
were
given
an
LED
prototype
which
has
some
videos
about
and
integrating
with
JSP
soon
we
were
able
to
test
our
flight
move
or
a
test
mode
locally
on
a
laptop.
So
let's
talk
a
little
bit,
let's
go
into
pieces,
so
this
is
PSS
his
most
recent
launch
and
launch
it's
one
of
my
favorite
videos
or
launch
12.
So
this
is
what
the
current
rocket
looks
like.
B
B
Yeah,
there's
actually
old
link
to
all
their
YouTube
videos,
there's
quite
a
few
just
on
this
launch
and
if
you
get
motion
sick
from
watching
videos
know
the
time
you
look
away
all
pops
it
right
there,
so
they
have
this
prototype
system
and
I
would
have
loved
to
say
that
we
got
a
chance
to
run
on
this,
but
it
by
the
time
we
were
done
with
a
code.
It
actually
had
some
repairs.
It
needed
to
happen,
so
we
couldn't
actually
run
on
this
at
the
time.
B
B
B
So,
like
I
said,
I
really
wish
you
could
have
run
on
it,
but
we
did
not
get
the
chance
so
jumping
into
he.
I
shall
do
this
with
a
mouse
jumping
into
the
folder
breakdown.
We
have
our
common
inside
of
our
main
source
folder.
We
have
a
common
folder,
a
flight
mode
folder
and
a
test
mode
folder.
So
one
of
the
primary
requirements
was
that
PSS
wanted
to
be
able
to
compile
the
flight
mode
and
test
mode
targets
independently,
because
they
didn't
want
some
sophomore
trigger
to,
like
accidentally
turn
the
flight
mode.
B
B
B
Do
it
the
easiest
way
to
do
this
was
to
break
down
flight
mode
and
test
mode
specific
code
into
their
own
directories
below
or
common
directory,
or
actually
next
to
the
comment
directory
and
then
have
it
referenced
the
common
directory
for
the
main
program,
the
main
flight
software
and
actually
data
for
matter
as
well.
We
needed
to
work
with
custom
UDP
packets
that
piece
ass
had
designed
so
that
we
can
send
it
to
limit
Raider
back
down
to
the
ground.
We
need
to
do
this
because
this
is
part
of
I'm
referencing
Jamie
vector.
B
D
D
B
B
C
A
B
B
B
Way
to
to
do
it,
but
it's
certainly
not
the
only
way,
some
interesting
bugs
that
we
came
across
two
bugs
and
I
had
two
videos
to
show
you
so
our
counter
clockwise
bias,
which
was
the
fact
that
the
LED
board,
based
on
temperature
and
slight
variations
of
where
it
might
be
sitting
in
on
the
axis
at
any
point
in
time.
It's
zero
point
wasn't
actually
zero,
and
then
we
actually
had
a
dual
spin
bug
I'm
going
to
show
both
of
these
off.
B
B
The
Midas
blink
red
and
it
blinks
in
the
opposite
direction
that
the
rocket,
if
you
can
imagine
this
being
a
piece
of
a
rocket
sort
of
lengthwise
where
the
cold
gas
jets
would
light
up.
The
cool
gifts
just
would
accelerate
in
the
direction
that
the
lights
were
going
in
the
opposite
of
the
direction.
Well,.
B
Sorry
about
that,
so
you'll
notice
that
I
think
we
have
a
bias
in
the
red
direction.
Red
is
blinking,
nice
and
consistently.
Green
is
blinking,
but
it
kind
of
doesn't
link
all
the
time.
So
we
have
a
bias
which
means
that
the
center
of
this
rocket
is
not
actually
the
center.
Once
we
fix
that
code,
we
you
can
see
here,
then
that
binds
it
seems
to
be
working.
Fine.
We
fixed
this
a
couple
of
different
ways:
the.
B
B
A
B
Controller
back
and
forth,
you
can
get
both
lights
to
go
on
at
the
same
time,
which
you
can
see
right
there,
and
that
should
never
happen.
So
if
the
rocket
is
experiencing
some
sort
of
jiggle
and
both
of
them
are
going
off
at
the
same
time,
it's
not
doing
anything
productive,
it's
wasting
gas,
but
it's
also
potentially
just
going
to
throw
your
rocket
out
of
whack.
We
did
end
up
fixing
that
bug,
and
this
is
actually
what
it
looks
like
so
to
actually
explain
here.
We
first
run
the
program.
B
B
B
And
that
was
the
watch
at
work
slide
already
did
that
so
code
time.
So
let's
go
ahead
and
jump
into
what
the
code
actually
looks
like,
and
now
these
microphones
make
more
sense
to
use
so
over.
On
the
left
side.
Here
we
have
the
common
directory,
the
flight
mode
directory
and
the
test
mode
directory.
Now
the
files
I
showed
you
before
was
just
a
subset
of
the
files.
There's
a
whole
lot
more
in
here,
for
example,
all
of
our
JSP
sim
integration
stuff.
All
of
these
work
off
of
you
XML,
but
it's
an
old
program.
B
That
is
what
it
is.
We
have
some
see
make
files
in
here
we
have
some
c++
wrapper
files
to
get
we
needed
to
use.
We
needed
to
run
the
rust
code
that
will
actually
run
C++
code
in
order
to
go
all
the
way
down
to
JSP
sim.
We
actually
had
to
write
a
rust
wrapper
and,
as
you
can
see,
I
didn't
actually
write
this
or
else
all
of
the
line.
Endings
would
not
be
showing.
Oh.
D
A
B
Thank
you.
So
we
have
a
rust
wrapper
that
calls
C++
wrappers
and
that
is
below
are
rust
code
and
above
the
JSP
send
code.
So
it
takes
a
little
bit
to
get
j's
PCM
integrated
with
rust,
but
fortunately
we
actually
we're
able
to
do
it.
I
to
see
in
gpio
I'm
not
going
to
dive
into
too
much,
because
I
don't
have
enough
time
to
talk
about
deeply
what
they
are,
but
we
basically
had
to
wrap
them
up
in
our
own
rusts
trucks
and
call
them
internally
in
flight
mode.
B
So
the
best
way
to
explain
this
is
the
common
code,
which
is
like,
where
our
main
program
is,
is
going
to
load
up
these
I
to
see
and
gpio
interfaces
and
start
talking
to
them,
but
in
our
flight
mode
we
need
them
to
talk
to
hardware
and
in
test
mode.
We
need
them
to
interact
with
JSP
sim.
So
we
had
to
write
wrappers
between
those
and
on
the
JSP
sim
side.
We
had
to
write
the
rest
in
the
c++
rapper,
but
we
had
to
write
our
own
modules
in
between
those
that
had
consistent.
B
For
example,
implementations
on
those
trucks
functions
that
we
implemented
ourselves.
So,
for
example,
we
have
in
flight
mode
gpio.
We
have
a
my
pens,
struct
and
in
the
test
mode
gpio
we
have
the
pipe
instruct
and
this
only
works
because
we're
compiling
them
to
different
one
of
these
gpios
is
being
compiled
at
a
time
or
else
we'd
have
similar
conflicts
and
we
didn't
do
anything
super
crazy.
With
our
rust
pode,
we
tried
to
keep
it
pretty
simple.
That's
also
pretty
much.
B
The
only
rest
we
knew
we
I
was
I
was
actually
pretty
happy
that
I
got
the
team
to
use
results
and
options
instead
of
just
returning
integers
that
had
error
codes
attached
to
them
like
you
would
do
in
see.
A
couple
of
our
programmers
were
old-school
seat
programmers,
so
they
sort
of
mimicked
what
they
were
doing
on
the
seaside,
which
isn't
really
idiomatic
rust.
It
works,
but
I
wanted
to
get
everybody
to
use
the
correct
sort
of
idiomatic
way
of
doing
things.
B
C
B
Started
talking
about
trades
and
how
to
implement
those,
and
at
the
time
that
we
were
designing
it,
we
didn't
know
enough
about
trades
when
we
prefer
speaking
looking
back
on
it.
I
probably
would
have
done
something
like
that.
I
would
have
designed
it
with
more
of
a
trade
system,
but
we
still
needed
to
keep
our
code
separate,
or
else
we
needed
some
really
complicated
make
file
to
make
it
all
work.
So
we
still.
C
B
Really
wish,
I
could
actually
show
you
she,
you
would
actually
work
on
this
laptop,
but
this
is
not
the
laptop
I
developed
on.
This
is
my
work
laptop
and
it
was
just
last
minute
my
laptop
wasn't
working
properly,
but
you
did
get
all
of
it
to
run.
I
have
the
videos
of
it
and
so
long
as
you
have
JSP
sim
installed
properly.
You
can
actually
get
this.