Compare commits
2 commits
89e699e4d1
...
5c9dfe072a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5c9dfe072a | ||
|
|
f47fb57243 |
2 changed files with 56 additions and 5 deletions
49
dlrena.py
Executable file
49
dlrena.py
Executable file
|
|
@ -0,0 +1,49 @@
|
|||
#! /usr/bin/ipython3 --profile=dlrena
|
||||
|
||||
import armlib, sys, math, time
|
||||
|
||||
def HK():
|
||||
Vcc = hk2mvolt("adc_Vp")*0.011
|
||||
Vss = hk2mvolt("adc_Vm")*(-0.011)
|
||||
Icc = hk2mvolt("adc_Ip")*0.1
|
||||
Iss = hk2mvolt("adc_Im")*(-0.1)
|
||||
Vprim = hk2mvolt("adc_Vprim")*(0.011)
|
||||
Iprim = hk2mvolt("adc_Iprim")
|
||||
r = (Vcc, Vss, Icc, Iss, Vprim, Iprim)
|
||||
print("Vcc:%4.2fV, Vss:%4.2fV, Icc:%6.1fmA, Iss:%6.1fmA, Vprim:%4.1fV, Iprim:%4.1fmV" % r)
|
||||
return r
|
||||
|
||||
def adc_gain(ch, gain=None, unipolar=False):
|
||||
c = ADC_prefix + "/addr=0x%04x/range[%d]" % adc_addr_ch(ch)
|
||||
if gain is None:
|
||||
return cmd(c)
|
||||
if gain>3:
|
||||
gain=0b1011
|
||||
if unipolar:
|
||||
gain |= 4
|
||||
return cmd("%s %d" % (c, gain))
|
||||
|
||||
def init_adc_features():
|
||||
for i,a in enumerate(ADC_ADDRS):
|
||||
f = (i<<6)|3
|
||||
r=cmd(ADC_prefix + "/addr=0x%04x/feature=0x%02x" % (a,f))
|
||||
try:
|
||||
ff = int(r.split()[-1], 0)
|
||||
if ff>>8 == f:
|
||||
armlib._ifc._log("found ADC %d at 0x%03x" % (i,a))
|
||||
else:
|
||||
armlib._ifc._log("no ADC %d at 0x%03x, response 0x%04x" % (i,a, ff))
|
||||
except ValueError:
|
||||
armlib._ifc._log("no ADC %d at 0x%03x, message %s" % (i,a,r))
|
||||
|
||||
def finddlrena():
|
||||
findxrena(prod=0xeed1)
|
||||
if connected_p():
|
||||
set_clock()
|
||||
messages()
|
||||
HK()
|
||||
|
||||
if __name__=="__main__":
|
||||
ifc,_oo = armlib.init_irena(scope = globals(), name = "DLRENA", prod = 0xeed1)
|
||||
if ifc.is_a("USB"):
|
||||
finddlrena()
|
||||
12
mainloop.c
12
mainloop.c
|
|
@ -103,8 +103,10 @@ static int echo_command(struct command *cmd, const struct command_par *par)
|
|||
message(val, "%s", txt);
|
||||
if (what & 0x40000)
|
||||
uart_submit_response(txt);
|
||||
if (what & 0x400000)
|
||||
if (what & 0x400000) {
|
||||
uart1_send(txt, strlen(txt));
|
||||
uart1_send("\n", 1);
|
||||
}
|
||||
if (what & 0x100000)
|
||||
printf(0, "%s\n", txt);
|
||||
if (what & 0x80000) {
|
||||
|
|
@ -835,12 +837,12 @@ static const struct keywords main_variable_names[] = {
|
|||
VARIABLE("adc1", (unsigned int *)&AD_1),
|
||||
VARIABLE("adc2", (unsigned int *)&AD_2),
|
||||
VARIABLE("adc3", (unsigned int *)&AD_3),
|
||||
VARIABLE("adc_Iplus", (unsigned int *)&AD_Ip ),
|
||||
VARIABLE("adc_Iminus", (unsigned int *)&AD_Im ),
|
||||
VARIABLE("adc_Vplus", (unsigned int *)&AD_Vp ),
|
||||
VARIABLE("adc_Vminus", (unsigned int *)&AD_Vm ),
|
||||
VARIABLE("adc_Iprim", (unsigned int *)&AD_Iprim),
|
||||
VARIABLE("adc_Vprim", (unsigned int *)&AD_Vprim),
|
||||
VARIABLE("adc_Ip", (unsigned int *)&AD_Ip ),
|
||||
VARIABLE("adc_Im", (unsigned int *)&AD_Im ),
|
||||
VARIABLE("adc_Vp", (unsigned int *)&AD_Vp ),
|
||||
VARIABLE("adc_Vm", (unsigned int *)&AD_Vm ),
|
||||
|
||||
VARIABLE("gpio1", &gpio1_status),
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue