Commit Graph

5968 Commits

Author SHA1 Message Date
whitequark
9347f6e00c firmware: use a dedicated error type in the scheduler.
After this commit, error handling does not normally allocate
(session::Error::{Load,Unexpected} still allocate, but those two
are very rare).

Good riddance to libstd_artiq.
2018-05-15 14:19:44 +00:00
whitequark
479cb9a857 firmware: use dedicated error types for every protocol and thread.
Good riddance to io::Error::Unrecognized.
2018-05-15 13:27:23 +00:00
whitequark
514eab3d39 Update Rust to 1.26.0. 2018-05-15 12:47:51 +00:00
whitequark
26faaad2b7 firmware: remove io::Result<T, E> in favor of Result<T, impl Fail>.
This doesn't yet use impl Fail since std_artiq::io::Error doesn't
impl it.
2018-05-15 08:29:03 +00:00
whitequark
140ca729aa firmware: rename io::Error::{UnexpectedEof→UnexpectedEnd}.
We don't even have files.
2018-05-15 08:27:45 +00:00
whitequark
ce0593315b firmware: move {ProtoRead,ProtoWrite} to the root of libio. 2018-05-15 08:16:09 +00:00
whitequark
4416c04ae1 firmware: use the failure crate in libio. 2018-05-15 07:40:13 +00:00
whitequark
9e8f8bb669 firmware: extract io::Cursor into its own file.
Also remove unused io::CursorError.
2018-05-15 06:24:04 +00:00
whitequark
a4ab236af3 firmware: simplify some uses. 2018-05-14 19:24:14 +00:00
whitequark
d93aa13fd6 firmware: use upstream compiler_builtins again.
I've fixed i128 in LLVM, so there is no need in our fork anymore.
2018-05-14 19:11:57 +00:00
whitequark
5ead27f2e1 firmware: eliminate uses of std_artiq::io::{Read,Write} from runtime. 2018-05-14 19:11:57 +00:00
whitequark
cf33ba748d firmware: eliminate non-io uses of std_artiq from runtime.
Just replace these with references to alloc.
2018-05-14 19:11:57 +00:00
a100c73dfe suservo: support pure-I 2018-05-14 18:48:27 +00:00
whitequark
ae50196186 firmware: rename libproto to libproto_artiq.
libproto_artiq only has ARTIQ-specific protocols.
2018-05-14 18:09:44 +00:00
whitequark
02b8426f60 firmware: rename libboard to libboard_misoc.
By analogy with libbuild_misoc. Hopefully one day it actually gets
moved to misoc...
2018-05-14 18:09:44 +00:00
whitequark
1ff42683d9 firmware: merge libamp into libboard_artiq.
All gateware interfaces live in libboard_artiq, but libamp predates
libboard_artiq.
2018-05-14 17:33:25 +00:00
whitequark
764386c9e3 firmware: split libdrtioaux into libproto and libboard_artiq modules.
All other protocol code lives in libproto, and all other gateware
interfaces live in libboard_artiq.
2018-05-14 17:26:59 +00:00
whitequark
6a10d54432 firmware: migrate rpc_proto to new libio.
This closes an old and horrible issue in that some code in ksupport
may implicitly try to allocate and we'll never know until it crashes
at runtime inside liballoc_stub.

This also removes liballoc_stub.
This also removes ReadExt and WriteExt from libproto.
Hooray!
2018-05-14 17:26:59 +00:00
whitequark
9a1bd66d2c compiler: add test for int64(round(1.0)). 2018-05-14 15:57:27 +00:00
019c92aa02 manual: fix title underline warning 2018-05-14 23:49:01 +08:00
e121a81f21 ad9914: fix frequency_to_xftw and xftw_to_frequency 2018-05-14 23:49:00 +08:00
80df86f700 ad9914: set_mu_x -> set_x_mu 2018-05-14 23:49:00 +08:00
whitequark
09617c9f5e firmware: migrate session_proto to new libio. 2018-05-14 15:17:32 +00:00
whitequark
e9c88e32e6 firmware: migrate moninj_proto to new libio. 2018-05-14 15:17:32 +00:00
whitequark
e292c8ab65 firmware: migrate mgmt_proto to new libio. 2018-05-14 15:17:32 +00:00
0c1caf0744 suservo: clean up and beautify example 2018-05-14 15:22:47 +02:00
4ddb29fa02 suservo: document class arguments 2018-05-14 15:22:47 +02:00
whitequark
976bb5e935 firmware: migrate analyzer_proto to new libio. 2018-05-14 12:51:59 +00:00
whitequark
2999756493 firmware: impl std_artiq::io::{Read,Write} for io::{Read,Write}. 2018-05-14 12:51:59 +00:00
whitequark
bfc8fd0807 firmware: add io::Error::Unrecognized variant and use it in drtioaux. 2018-05-14 12:51:59 +00:00
504d37b66b suservo: add SI units functions and document
m-labs/artiq#788
2018-05-14 12:26:49 +00:00
4993ceec35 sampler: unroll conversion for speed 2018-05-14 12:26:49 +00:00
d71e4e60a9 suservo: use addition for offset 2018-05-14 12:26:49 +00:00
27f975e7bb kasli: eem DifferentialInputs need DIFF_TERM
cleanup some formatting on the way
2018-05-14 12:26:49 +00:00
2a47b934ea suservo: remove adc return clock gating 2018-05-14 12:26:49 +00:00
74c0b4452b suservo: clkout and sdo[b-d] are inverted 2018-05-14 12:26:49 +00:00
04240cdc08 suservo: sampler channels are reversed 2018-05-14 12:25:09 +00:00
whitequark
7e299563df firmware: mark many functions in libio as #[inline]. 2018-05-14 11:22:56 +00:00
whitequark
368d6f9bfb satman: remove useless _Unwind_Resume. 2018-05-14 11:22:56 +00:00
whitequark
42420e094a satman: don't unwrap so much in process_aux_packet.
This shrinks the code by almost 4K.
2018-05-14 11:22:56 +00:00
ba1d137d19 ad9914: fix FTW write in regular resolution mode 2018-05-14 18:47:23 +08:00
whitequark
56a29b91fc firmware: implement ConsoleLogger, use it in satman. 2018-05-14 10:45:11 +00:00
whitequark
5d43d457d2 satman: eliminate heap. 2018-05-14 10:05:02 +00:00
whitequark
46c8afc56c firmware: implement libio and use in in drtioaux. 2018-05-14 10:02:39 +00:00
whitequark
d543c9aa63 firmware: backtrace_artiq → unwind_backtrace.
This crate isn't ARTIQ-specific.
2018-05-14 07:33:00 +00:00
b04c7abde8 ad9914: fix kernel_invariants 2018-05-14 14:02:11 +08:00
56a18682a7 ad9914: minor fixes 2018-05-14 10:37:50 +08:00
194d6462ee ad9914: fix set_mu 2018-05-14 00:19:09 +08:00
hartytp
00cb31b804 sampler: remove v_ref parameter (#988) 2018-05-13 18:00:57 +02:00
3027951dd8 integrate new AD9914 driver
moninj, analyzer, docs, examples, tests.
2018-05-13 23:29:35 +08:00