<rjo_>
sb0: i have done a couple of things with twisted and it is a very sound framework. the pain starts when you want/need mix event loops.
<rjo_>
sb0: whoa. i was gone over the weekend and didn't follow your commits. just discovering now.
<sb0>
next low-level steps are unit/timeline lowering in the compiler (implementing delay(), now(), etc.), rtio core, and dds chip programmer
<rjo_>
sb0: yes. i'll play with the current code later today. looks good so far.
<rjo_>
sb0: do you want to do asynchronous downstream things like rpcs to the coredev by polling in the kernel?
<sb0>
what do you mean?
<sb0>
right now, the kernel calls __syscall_rpc() in the runtime, and the later blocks until it gets the return value of the RPC from the serial port
<rjo_>
the other direction. e.g. an abort() call from the top layers to the core device.
sb0_ has joined #m-labs
sb0 has quit [Ping timeout: 264 seconds]
<sb0_>
ah. I'd rather handle abort() from an ISR so that we can stop long/infinite loops, and avoid polling overhead
<sb0_>
also, maybe exceptions aren't that hard to implement in the compiler. I'll have a look at that...
<sb0_>
llvm seems to have a bunch of tools for them
<rjo_>
sb0_: does the isr then handle all the cleanup (hardware, buffers etc)?
<sb0_>
yeah, or we can do that in a some sort of bottom half
<sb0_>
if we have exception support, the isr can just throw an exception
<rjo_>
sb0_: my C was never excellent. there is no real way to throw/catch/handle exceptions in C, right? and out of curiosity do people ever hook up ISR bottom halves to C++ exceptions?
<rjo_>
sb0_: but the bottom half would be polling, right?
<sb0_>
C doesn't support exceptions, no. but LLVM seems to do...
<rjo_>
sb0_: ah. now i get it.
<sb0_>
no, the BH would do the cleanup, if we don't want to do that in the ISR for some reason
<sb0_>
all the ISR really needs to do is take the control flow of the main "thread" away from the kernel
<rjo_>
ack.
kilae has quit [Quit: ChatZilla 0.9.90.1 [Firefox 30.0/20140605174243]]
Alain has quit [Remote host closed the connection]
larsc has quit [Ping timeout: 252 seconds]
sb0_ has quit [Quit: Leaving]
nicksydney has quit [Remote host closed the connection]