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);
|
message(val, "%s", txt);
|
||||||
if (what & 0x40000)
|
if (what & 0x40000)
|
||||||
uart_submit_response(txt);
|
uart_submit_response(txt);
|
||||||
if (what & 0x400000)
|
if (what & 0x400000) {
|
||||||
uart1_send(txt, strlen(txt));
|
uart1_send(txt, strlen(txt));
|
||||||
|
uart1_send("\n", 1);
|
||||||
|
}
|
||||||
if (what & 0x100000)
|
if (what & 0x100000)
|
||||||
printf(0, "%s\n", txt);
|
printf(0, "%s\n", txt);
|
||||||
if (what & 0x80000) {
|
if (what & 0x80000) {
|
||||||
|
|
@ -835,12 +837,12 @@ static const struct keywords main_variable_names[] = {
|
||||||
VARIABLE("adc1", (unsigned int *)&AD_1),
|
VARIABLE("adc1", (unsigned int *)&AD_1),
|
||||||
VARIABLE("adc2", (unsigned int *)&AD_2),
|
VARIABLE("adc2", (unsigned int *)&AD_2),
|
||||||
VARIABLE("adc3", (unsigned int *)&AD_3),
|
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_Iprim", (unsigned int *)&AD_Iprim),
|
||||||
VARIABLE("adc_Vprim", (unsigned int *)&AD_Vprim),
|
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),
|
VARIABLE("gpio1", &gpio1_status),
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue