Work-in-progress native CANOpen protocol master implementation.
import qualified Network.CANOpen
main :: IO ()
main = do
runCANOpen <HOW> $ do
io <- addNode 1
forAllNodes waitBootup
forAllNodes setOperational
let outputAddr = VariableAddress (Index 0x6000) (SubIndex 1)
sdoWrite io outputAddr 0b1
sdoRead io outputAddr
>>= liftIO . print