From c022d208a9af5b8d16b8ce1b406f56157d369852 Mon Sep 17 00:00:00 2001 From: Jonas Schumacher Date: Mon, 11 Mar 2024 08:49:47 +0100 Subject: [PATCH] Issue warnings when the wrong DIO direction is set (#74) * Issue warnings when the wrong DIO direction is set * Fix docs (#75) (#76) * Add compat for Documenter * Update client.md * Update installation.md * Update generation.md * Update acquisition.md * Update scpi.md * Update Acquisition.jl * Update ADC.jl * Update Acquisition.jl * Turn missing docs to warnings * WIP --- src/client/julia/src/SlowIO.jl | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/client/julia/src/SlowIO.jl b/src/client/julia/src/SlowIO.jl index 83d431bf..f3c80011 100644 --- a/src/client/julia/src/SlowIO.jl +++ b/src/client/julia/src/SlowIO.jl @@ -153,7 +153,12 @@ julia> DIO!(rp, DIO7_P, true) true ``` """ -DIO!(rp::RedPitaya, pin, val) = query(rp, scpiCommand(DIO!, pin, val), scpiReturn(DIO!)) +function DIO!(rp::RedPitaya, pin, val) + if DIODirection(rp, pin) == DIO_IN + @warn "The pin $pin is currently set as input. The value is applied anyways!" + end + return query(rp, scpiCommand(DIO!, pin, val), scpiReturn(DIO!)) +end scpiCommand(::typeof(DIO!), pin::DIOPins, val::Bool) = string("RP:DIO:", DIOPinToCommand(pin), " ", (val ? "ON" : "OFF")) scpiReturn(::typeof(DIO!)) = Bool @@ -168,7 +173,12 @@ julia>DIO(rp, DIO7_P) true ``` """ -DIO(rp::RedPitaya, pin) = parseReturn(DIO, query(rp, scpiCommand(DIO, pin), scpiReturn(DIO))) +function DIO(rp::RedPitaya, pin) + if DIODirection(rp, pin) == DIO_OUT + @warn "The pin $pin is currently set as output. The value is read anyways but might be wrong!" + end + return parseReturn(DIO, query(rp, scpiCommand(DIO, pin), scpiReturn(DIO))) +end scpiCommand(::typeof(DIO), pin) = string("RP:DIO:", DIOPinToCommand(pin), "?") scpiReturn(::typeof(DIO)) = String -parseReturn(::typeof(DIO), ret) = occursin("ON", ret) \ No newline at end of file +parseReturn(::typeof(DIO), ret) = occursin("ON", ret)