From e32a742c21d54d6390e82bbd34a99b61e130ecaa Mon Sep 17 00:00:00 2001 From: stephan Date: Thu, 27 Mar 2025 15:29:51 +0000 Subject: [PATCH 01/10] rpirena-3Diodes cgi: 8 L1 triggers git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9336 bc5caf13-1734-44f8-af43-603852e9ee25 --- www/cgi/rpirena-3Diodes | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/www/cgi/rpirena-3Diodes b/www/cgi/rpirena-3Diodes index 4148508..311c8b8 100755 --- a/www/cgi/rpirena-3Diodes +++ b/www/cgi/rpirena-3Diodes @@ -130,11 +130,11 @@ set ylab "[counts/min]" set y2lab "p [mbar]" set term png set out "${cfn}-new" -array CN[13] = ["T0", "-", "T2", "T3", "X0", "X2", "X3", "C23", "C03", "C02", "C023", "L2", "L3"] +array CN[17] = ["T0", "-", "T2", "T3", "H0", "-", "H2", "H3", "X0", "X2", "X3", "C23", "C03", "C02", "C023", "L2", "L3"] plot \ - " Date: Fri, 4 Apr 2025 10:42:33 +0000 Subject: [PATCH 02/10] =?UTF-8?q?RPi:=20Tsh=20NTC=20R=E2=82=82=E2=82=85=3D?= =?UTF-8?q?10k=CE=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9337 bc5caf13-1734-44f8-af43-603852e9ee25 --- RPi.awk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RPi.awk b/RPi.awk index 03b17ee..3f03b5c 100755 --- a/RPi.awk +++ b/RPi.awk @@ -164,7 +164,7 @@ function isH() { Vio = $5*Vref*2/4096 Vrpi = $6*Vref*2/4096 Tfpga = degC($7, 3.3, 3.3, 4500) - Tsh = degC($8, 3.3, 3.3, 4500) + Tsh = degC($8, 3.3, 10.0, 3940) Tair = degC($9, 3.3, 3.3, 4500) Ibias = $10*Vref/3.3*0.077 return 1 From 0cfaf9be43fb3ebb7180faf68753f481be538b78 Mon Sep 17 00:00:00 2001 From: stephan Date: Fri, 11 Apr 2025 14:35:36 +0000 Subject: [PATCH 03/10] refix mag vector offset bug, file_epoch git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9338 bc5caf13-1734-44f8-af43-603852e9ee25 --- sethat.awk | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sethat.awk b/sethat.awk index ec46d8d..8a92c1c 100755 --- a/sethat.awk +++ b/sethat.awk @@ -1,6 +1,10 @@ #! /usr/bin/gawk -i -/^H/ { Time= $2 - 3 } +BEGIN { + file_epoch = 0 +} + +/^H/ { Time= $2 - 3 + file_epoch } function magc(d) { if (d >= 0x8000) @@ -42,9 +46,9 @@ isI() { acc_adc[1] = adcc($11) acc_temp = tempc($12) for (i=1; i<=18; i++) { - mag[i][0] = magc($(13 + 3*i)) - mag[i][1] = magc($(14 + 3*i)) - mag[i][2] = magc($(15 + 3*i)) + mag[i][0] = magc($(10 + 3*i)) + mag[i][1] = magc($(11 + 3*i)) + mag[i][2] = magc($(12 + 3*i)) } acc_status_fifo = $67 acc_status = $68 @@ -62,7 +66,7 @@ function pr() { printf "IS %d 0x%04x 0x%04x 0x%04x 0x%04x %.2f %.2f %.4f %.4f\n", Time, \ mag_status, acc_status, acc_status_aux, acc_status_fifo, \ mag_temp, acc_temp, acc_adc[0], acc_adc[1] - for (i=0; i<20; i++) if (i != 18) { + for (i=0; i<20; i++) { printf "IV %.1f %7.4f %7.4f %7.4f %7.4f %7.4f %7.4f\n", Time+i/10, \ mag[i][0], mag[i][1], mag[i][2], \ acc[i][0], acc[i][1], acc[i][2] From 9bbf7721743b9fe5462c4e27bb25e700648ffa21 Mon Sep 17 00:00:00 2001 From: stephan Date: Fri, 13 Jun 2025 16:31:40 +0000 Subject: [PATCH 04/10] i2c.py: new argument .conf(a=0) git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9348 bc5caf13-1734-44f8-af43-603852e9ee25 --- i2c.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/i2c.py b/i2c.py index f326997..4117960 100644 --- a/i2c.py +++ b/i2c.py @@ -82,13 +82,13 @@ class i2c: s.cmdi(s.STOP) return 4 - def conf(self): - self.cmda(0) + def conf(self, a=0): + self.cmda(a) s = 0 for k, v in self.CONF.items(): s += self.conf1(k, v) self._log(2, f"I²C conf({self.name}), len={s}") - self.cmda(0, s) + self.cmda(a, s) def readi(s, k): s.cmdi(s.START, s.SAD) From 6bfe024677cfaeb3deaff9ff79640fd71fae7f8c Mon Sep 17 00:00:00 2001 From: stephan Date: Fri, 13 Jun 2025 16:32:28 +0000 Subject: [PATCH 05/10] nmrena make %.sethat git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9349 bc5caf13-1734-44f8-af43-603852e9ee25 --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index 33245c0..4f05d7c 100644 --- a/Makefile +++ b/Makefile @@ -90,3 +90,5 @@ data/MDDM.HRP1: $(patsubst %.EI,%.EI.HRP1,$(wildcard data/20*-MDDM-[0-9]*.EI)) %_BifA.2dhist: %.EI ./RPi.awk -v U=uM 'isuMlight(A1,A2) && is2D(B1,B2) && Ai<500 && Aj<500 {do_2DHIST(Ai,Aj)}' $< > $@ +%.sethat: %.EI %.epoch + ./sethat.awk 'isI(){pr()}' file_epoch=$(shell cat $*.epoch) $< > $@ From 1ece594e9ed5c1cdc1ab11a2947debe298d0130a Mon Sep 17 00:00:00 2001 From: stephan Date: Mon, 18 May 2026 12:48:57 +0000 Subject: [PATCH 06/10] rpirena: tanos-jr config git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9403 bc5caf13-1734-44f8-af43-603852e9ee25 --- auto_run.py | 2 ++ rpirena.py | 22 +++++++++++++--------- 2 files changed, 15 insertions(+), 9 deletions(-) create mode 100644 auto_run.py diff --git a/auto_run.py b/auto_run.py new file mode 100644 index 0000000..9f2b2b5 --- /dev/null +++ b/auto_run.py @@ -0,0 +1,2 @@ +import rpirena +from rpirena import tanos_jr as config diff --git a/rpirena.py b/rpirena.py index b585374..5ab9d03 100755 --- a/rpirena.py +++ b/rpirena.py @@ -269,24 +269,28 @@ threediodes = configuration("3Diodes", ) tanos_jr = configuration("TANOS", - nsamples=(1,), l1 = [ - dict(thr= 10.0*mV, flags=0b0110100001), # B2 - dict(thr= 12.0*mV, flags=0b0011100010), # CC - dict(thr= 12.0*mV, flags=0b0011100100), # AA - dict(thr= 10.0*mV, flags=0b0110001000), # B1 + dict(thr= 10.0*mV, flags=0b0000000001), # B2 + dict(thr= 12.0*mV, flags=0b0000000010), # CC + dict(thr= 12.0*mV, flags=0b0000000100), # AA + dict(thr= 10.0*mV, flags=0b0000001000), # B1 + dict(thr= 8.0*mV, flags=0b0000010000), # B2 + dict(thr= 10.0*mV, flags=0b0000100000), # CC + dict(thr= 10.0*mV, flags=0b0001000000), # AA + dict(thr= 8.0*mV, flags=0b0010000000), # B1 ], l2 = [ - dict(any=0b0000001110), # B1 & AA & CC - dict(any=0b0000001000, none = 0b0000100000), # B1 & ~(others) + dict(any=0b0011100000), # B1 & AA & CC + dict(any=0b0000001000, none = 0b0001110000), # B1 & ~(others) dict(any=0b0000000001), # B2 dict(any=0b0000000010), # CC dict(any=0b0000000100), # AA dict(any=0b0000001000), # B1 - dict(any=0b0000000110), # AA & CC - dict(any=0b0000001001), # B1 & B2 + dict(any=0b0001100000), # AA & CC + dict(any=0b0010010000), # B1 & B2 ], ) +tanos_jr.Vref = 3.337 mddm = configuration("MDDM", nsamples=(1,), From d23a34b653484efe1cc32b549a5ecd10fe8d503d Mon Sep 17 00:00:00 2001 From: stephan Date: Wed, 3 Jun 2026 12:56:04 +0000 Subject: [PATCH 07/10] rpirena: tanos_jr config w/ 8 L1 git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9404 bc5caf13-1734-44f8-af43-603852e9ee25 --- rpirena.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/rpirena.py b/rpirena.py index 5ab9d03..1b07d1c 100755 --- a/rpirena.py +++ b/rpirena.py @@ -196,6 +196,7 @@ class configuration(object): hk = True, counter = True ) + self.NTC=[dict()]*8 self.stream.update(stream) self.iniz() @@ -270,27 +271,28 @@ threediodes = configuration("3Diodes", tanos_jr = configuration("TANOS", l1 = [ - dict(thr= 10.0*mV, flags=0b0000000001), # B2 - dict(thr= 12.0*mV, flags=0b0000000010), # CC - dict(thr= 12.0*mV, flags=0b0000000100), # AA - dict(thr= 10.0*mV, flags=0b0000001000), # B1 - dict(thr= 8.0*mV, flags=0b0000010000), # B2 + dict(thr= 9.0*mV, flags=0b0100000001), # B2 + dict(thr= 12.0*mV, flags=0b1000000010), # CC + dict(thr= 12.0*mV, flags=0b1000000100), # AA + dict(thr= 10.0*mV, flags=0b0100001000), # B1 + dict(thr= 7.0*mV, flags=0b0000010000), # B2 dict(thr= 10.0*mV, flags=0b0000100000), # CC dict(thr= 10.0*mV, flags=0b0001000000), # AA dict(thr= 8.0*mV, flags=0b0010000000), # B1 ], l2 = [ dict(any=0b0011100000), # B1 & AA & CC - dict(any=0b0000001000, none = 0b0001110000), # B1 & ~(others) - dict(any=0b0000000001), # B2 + dict(any=0b0000001000, none=0b0001110000), # B1 & ~(others) + dict(any=0b0100000000), # B1 | B2 dict(any=0b0000000010), # CC dict(any=0b0000000100), # AA - dict(any=0b0000001000), # B1 + dict(any=0b1000000000, none=0b0010010000 ), # (AA|CC) & ~B1 & ~B2 dict(any=0b0001100000), # AA & CC dict(any=0b0010010000), # B1 & B2 ], ) tanos_jr.Vref = 3.337 +tanos_jr.NTC[4] = dict(R25=10e3) mddm = configuration("MDDM", nsamples=(1,), @@ -634,7 +636,7 @@ def monitor(): monitor_Vprim = 0; if "Tfpga" in monitor_flags and monitor_hk: hk = monitor_hk[-1] - Tfpga = degC(hk[4]) + Tfpga = degC(hk[4], **current.NTC[4]) global monitor_Tfpga, monitor_Tsleep print(f"T_fpga {Tfpga:.1f} °C" f" ({monitor_Tfpga_temp_sleep:.1f}/{monitor_Tfpga_temp_shutdown:.1f}" From ca2768c48a38245e3f7ef0bfa6237d3ee22ec31c Mon Sep 17 00:00:00 2001 From: stephan Date: Wed, 3 Jun 2026 18:35:07 +0000 Subject: [PATCH 08/10] cgi/rpirena-tjr git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9405 bc5caf13-1734-44f8-af43-603852e9ee25 --- www/cgi/rpirena-tjr | 184 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100755 www/cgi/rpirena-tjr diff --git a/www/cgi/rpirena-tjr b/www/cgi/rpirena-tjr new file mode 100755 index 0000000..a1280e5 --- /dev/null +++ b/www/cgi/rpirena-tjr @@ -0,0 +1,184 @@ +#! /bin/bash +# -*- sh -*- + +DATA="/tanos/data/" + +cat < + + + RPiRENA Data + + +

Live plots of TANOS-Jr on $(hostname)

+ +EOT + +exec 2>&1 +if [ -x ./rpirena.py ] +then + data=./data +else + data=../../www/data + cd /home/$(hostname)/stephan/rpirena || exit +fi +lf=${data}/rpirena-cgi.log +lkf=${data}/rpirena-cgi.lock + +declare -a QUERY=(${QUERY_STRING//&/ }) +ACTION=${QUERY[0]} +[ -z "$ACTION" ] && TARGET="" || TARGET=${QUERY[-1]} +[ "$TARGET" = "$ACTION" ] && TARGET="" +[ -z "$ACTION" ] && ACTION=old + +echo "$REMOTE_ADDR $HTTP_USER_AGENT $QUERY_STRING $ACTION $TARGET" >>$lf +[ -f "$lkf" ] && cat "$lkf" 2>/dev/null +[ -z "$TARGET" ] || cat <Actions for the selected old data file: +plot +old +trigger +replot +nomake +EOF +cat <Beware of the fake hwclock of the Raspberry Pi, the times in the filenames may be fake. +

You may need to reload the page in your browser to see the latest plots (Ctrl-Shift-R). +EOF + +if [ "$ACTION" = "trigger" ] +then + export QUERY_STRING="replot&$TARGET" + nohup ../../www/cgi/rpirena > ${data}/rpirena-trigger.log 2>&1 & + ACTION="old" +fi +if [ "$ACTION" = "restart" ] +then + echo restart > auto-run + export ACTION="old" +fi +if [ "$ACTION" = "stop" ] +then + echo stop > auto-run + export ACTION="old" +fi + +fn=${data}/$TARGET +[ -f $fn ] || fn=$(ls -1 ${data}/20??-??-??T??:??:??Z.EI | tail -1) +bfn=$(basename $fn .EI) +pfn=${data}/$bfn +sfn=${pfn}-spectra.png +hfn=${pfn}-hk.png +cfn=${pfn}-counts.png + +REPLOT=$ACTION +[ -f "$fn" -a "$fn" -nt "$sfn" -a "$ACTION" = "plot" ] && REPLOT=replot +if [ -f "$fn" -a "$REPLOT" = "replot" ] && dotlockfile -r 0 $lkf +then + trap "rm $lkf" EXIT + date +"Processing $bfn since %Y-%m-%d %H:%M:%S UTC" > $lkf + + date +"Plot $bfn %Y-%m-%d %H:%M:%S" >>$lf + + [ "$ACTION" = "nomake" ] || make UNIT=TANOS ${pfn}.EmV ${pfn}.hist ${pfn}.HK ${pfn}.CP >>$lf 2>&1 + + cat <>$lf 2>&1 + +print "plot spectra" +set title "$(hostname) RPiRENA $bfn" noenh +set xrange [-10:160] +set yrange [-10:160] +set y2range [0.9:*] +set log y2 +set ytics nomirror +set y2tics +set xlab "pulse height [mV]" +set ylab "pulse height [mV]" +set y2lab "[counts/mV]" +set grid +set timestamp "%Y-%m-%d %H:%M:%S" +set term png size 1024,768 +set out "${sfn}-new" +plot \ + "$pfn.EmV" u "AA":"CC" tit "A vs C" with d, \ + "$pfn.EmV" u "B1":"B2" tit "B_1 vs B_2" with d, \ + for [c in "AA CC B1 B2"] "$pfn.hist" u "mV":c axis x1y2 tit c w histeps +unset out + +print "plot HK" +set xrange [*:*] +set xtics timedate +set format x "%d.%m.\n%Hh%M" time +set yrange [0:10<*<100] +set y2range [*:*] +unset log y2 +set xlab "time [UTC]" +set ylab "[V] [10nA]" +set y2lab "[°C]" +set term png +set out "${hfn}-new" +array HN[8] = [ "V_{CORE}", "V_{CC}", "V_{IO}", "V_{PRIM}", "T_{FPGA}", "T_{OUT}", "T_{EBOX}", "I_{BIAS}" ] +plot \ + for [c=8:8] ">$lf 2>&1 + mv -v $hfn-new $hfn >>$lf 2>&1 + mv -v $cfn-new $cfn >>$lf 2>&1 + + rm -f $lkf + trap EXIT +fi + +cat <File: $bfn +

+

+

+

+ +

Older Spectra:

+
    +EOT +cd ${data} +ls -r1 20??-??-??T??:??:??Z.EI | xargs -i echo '
  • {}' +cat < + + + +EOT From 8c2462e42a08c94ffa4fb6feed6097bf631f324e Mon Sep 17 00:00:00 2001 From: stephan Date: Wed, 3 Jun 2026 18:42:37 +0000 Subject: [PATCH 09/10] cgi/rpirena-3diodes DATA git-svn-id: svn+ssh://asterix.ieap.uni-kiel.de/home/subversion/stephan/solo/eda/cospi/host@9406 bc5caf13-1734-44f8-af43-603852e9ee25 --- www/cgi/rpirena-3Diodes | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/www/cgi/rpirena-3Diodes b/www/cgi/rpirena-3Diodes index 311c8b8..6b110ef 100755 --- a/www/cgi/rpirena-3Diodes +++ b/www/cgi/rpirena-3Diodes @@ -1,6 +1,8 @@ #! /bin/bash # -*- sh -*- +DATA="/3diodes/data/" + cat <Process new data and show the plots. May time out for big files.
  • Start processing data, without waiting.
  • RPiRENA control. -
  • Data Files. +
  • Data Files.
EOT @@ -149,13 +151,13 @@ fi cat <File: $bfn -

-

-

+

+

+

Older Spectra: