Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/artiq
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 76fed11d59fc
Choose a base ref
...
head repository: m-labs/artiq
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 53b259b9a0c0
Choose a head ref
  • 2 commits
  • 2 files changed
  • 1 contributor

Commits on Oct 5, 2014

  1. Copy the full SHA
    5d8c53a View commit details
  2. Copy the full SHA
    53b259b View commit details
Showing with 13 additions and 7 deletions.
  1. +8 −5 soc/runtime/dds.c
  2. +5 −2 soc/runtime/exceptions.c
13 changes: 8 additions & 5 deletions soc/runtime/dds.c
Original file line number Diff line number Diff line change
@@ -28,25 +28,28 @@ static void fud_sync(void)
static void fud(long long int fud_time)
{
int r;
static int previous_fud_time;
long long int fud_end_time;
static long long int previous_fud_end_time;

r = rtio_reset_read();
if(r)
previous_fud_time = 0;
previous_fud_end_time = 0;
rtio_reset_write(0);

rtio_chan_sel_write(RTIO_FUD_CHANNEL);
if(fud_time < 0) {
rtio_counter_update_write(1);
fud_time = rtio_counter_read() + 3000;
fud_time = rtio_counter_read() + 4000;
}
if(fud_time < previous_fud_time)
fud_end_time = fud_time + 3*8;
if(fud_time < previous_fud_end_time)
exception_raise(EID_RTIO_SEQUENCE_ERROR);
previous_fud_end_time = fud_end_time;

rtio_o_timestamp_write(fud_time);
rtio_o_value_write(1);
rtio_o_we_write(1);
rtio_o_timestamp_write(fud_time+3*8);
rtio_o_timestamp_write(fud_end_time);
rtio_o_value_write(0);
rtio_o_we_write(1);
if(rtio_o_error_read())
7 changes: 5 additions & 2 deletions soc/runtime/exceptions.c
Original file line number Diff line number Diff line change
@@ -30,6 +30,9 @@ int exception_getid(void)

void exception_raise(int id)
{
stored_id = id;
exception_longjmp(exception_contexts[--ec_top].jb);
if(ec_top > 0) {
stored_id = id;
exception_longjmp(exception_contexts[--ec_top].jb);
} else
corecom_log("WARNING: uncaught exception, ID=%d\n", id);
}