scp main.hex root@jspc55:/local.1/mwiebusch/stm32/ && ssh root@jspc57 "vsprog -cstm32_hd -ms -oe -owf -I /d/jspc55.1/mwiebusch/stm32/main.hex"
remote_program: all
- scp main.bin root@jspc55:/local.1/mwiebusch/stm32/ && ssh root@jspc57 "st-flash write /d/jspc55.1/mwiebusch/stm32/main.bin 0x8000000"
+ scp main.bin maps@jspc57:/local/trbsoft/mvd_firmware/ && ssh maps@jspc57 "st-flash write /local/trbsoft/mvd_firmware/main.bin 0x8000000"
program_jan: all
ssh hadaq@jspc57 "st-flash write /d/jspc22/trb/git/mvd_firmware/firmware/main.bin 0x8000000"
break;
case 0x2: //DAC CurLimA 0
usart3_word_to_dac(((*thisRegister&0xFFFF)>>4) | (0<<12));
+ break;
case 0x3: //DAC CurLimD 0
usart3_word_to_dac(((*thisRegister&0xFFFF)>>4) | (1<<12));
+ break;
case 0x4: //DAC VClp 0
usart3_word_to_dac(((*thisRegister&0xFFFF)>>4) | (2<<12));
+ break;
case 0x6: // Switches1
CB_GPIO_Out(ENAA1,*thisRegister & 1<<5);
break;
case 0x7: //DAC CurLimA 1
usart3_word_to_dac(((*thisRegister&0xFFFF)>>4) | (4<<12));
+ break;
case 0x8: //DAC CurLimD 1
usart3_word_to_dac(((*thisRegister&0xFFFF)>>4) | (5<<12));
+ break;
case 0x9: //DAC VClp 1
usart3_word_to_dac(((*thisRegister&0xFFFF)>>4) | (6<<12));
-
- case 0xF: //SPI Debug
-
-// // ADC0 Test block
-// adc_conv0_pulse();
-// delay_us(4); // wait conversion time
-// spi1_writeWord(*thisRegister);
-// delay_ms(2);
-// uC_regs[0x10]=spi1DataBuffer[0];
-// report_register(0x10);
-
- adc0_read();
+ break;
+ case 0xF: //CompileDate register (ro)
break;
+ case 0x10: //CompileTime register (ro)
+ break;
+
+// case 0xF: //SPI Debug
+//
+// // // ADC0 Test block
+// // adc_conv0_pulse();
+// // delay_us(4); // wait conversion time
+// // spi1_writeWord(*thisRegister);
+// // delay_ms(2);
+// // uC_regs[0x10]=spi1DataBuffer[0];
+// // report_register(0x10);
+//
+// adc0_read();
+//
+// break;
case 0x11: // LEDs
if(*thisRegister & 1<<7) {
OBJS+=spi3.o
OBJS+=dac.o
OBJS+=misc_utils.o
+OBJS+=version.o
# OBJS+=keypins.o
-all: src
+all: src
src: app.a
-app.a: $(OBJS)
+app.a: version $(OBJS)
$(AR) cr app.a $(OBJS)
.PHONY: src clean
clean:
rm -f app.a $(OBJS)
+
+.PHONY:
+version:
+ ./version.sh
#include "dac.h"
#include "periph_conf.h"
#include "misc_utils.h"
-
+#include "version.h"
CB_GPIO_Out_Hi(LED4);
uC_regs[0x0b] |= 1; // enable cyclic ADC readout by default
+ write_timestamp(); // write compile time and date to dedicated registers
+
report_all_registers();
while(1) {
--- /dev/null
+/**
+ ********************************************************
+ *
+ * version control timestamp file
+ *
+ ********************************************************
+ */
+
+#include "stm32f10x.h"
+#include "stm32f10x_conf.h" // contains all std periph includes
+#include "core_cm3.h"
+
+#include "version.h"
+
+extern uint16_t uC_regs[];
+
+
+void write_timestamp(void){
+
+ // timestamp constants are loaded from version.h
+ // write compilation date to dedicated register
+ uC_regs[0x0F] = (COMPILE_YEAR<<9) | (COMPILE_MONTH<<5) | (COMPILE_DAY);
+ // write compilation time to dedicated register
+ uC_regs[0x10] = (COMPILE_HOUR<<6) | (COMPILE_MINUTE);
+
+}
+
--- /dev/null
+/**
+ ********************************************************
+ *
+ * version control timestamp file
+ * (do not edit by hand, this file is created during make)
+ *
+ ********************************************************
+ */
+
+#define COMPILE_YEAR 14
+#define COMPILE_MONTH 06
+#define COMPILE_DAY 10
+#define COMPILE_HOUR 11
+#define COMPILE_MINUTE 42
+
+void write_timestamp(void);
+
--- /dev/null
+#!/bin/bash
+
+# generate some constants that define the compile time of the firmware
+# so we get some version control
+
+
+cat <<EOF > version.h
+/**
+ ********************************************************
+ *
+ * version control timestamp file
+ * (do not edit by hand, this file is created during make)
+ *
+ ********************************************************
+ */
+
+#define COMPILE_YEAR $(date '+%y')
+#define COMPILE_MONTH $(date '+%m')
+#define COMPILE_DAY $(date '+%d')
+#define COMPILE_HOUR $(date '+%H')
+#define COMPILE_MINUTE $(date '+%M')
+
+void write_timestamp(void);
+
+EOF
+touch version.c
\ No newline at end of file