From 18cfb42f3c2137c36d21a82b4209ba4c9e01f863 Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Mon, 27 May 2019 10:33:12 +0300 Subject: MERGE --- Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c') diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c index 265c751c6..0acb587b2 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c @@ -22,7 +22,7 @@ MotorDriverConfigStruc MotorsCfg[NUM_OF_MOTORS]={0}; HardwarePidControl MotorsControl[MAX_THREAD_MOTORS_NUM] = {0}; -int32_t MotorSpeedSamples[MAX_THREAD_MOTORS_NUM][MAX_CONTROL_SAMPLES] = {0}; +double MotorSpeedSamples[MAX_THREAD_MOTORS_NUM][MAX_CONTROL_SAMPLES] = {0}; int MotorSpeedSamplePointer[MAX_THREAD_MOTORS_NUM] = {0}; int32_t MotorSamples[MAX_THREAD_MOTORS_NUM][MAX_CONTROL_SAMPLES] = {0}; -- cgit v1.3.1 From a12577b0c2a81435ce8a9ca72cc21411c15321eb Mon Sep 17 00:00:00 2001 From: Avi Levkovich Date: Thu, 30 May 2019 15:03:01 +0300 Subject: change the motors drivers ditection logic --- .../Embedded_SW/Embedded/.config/.productview.dat | Bin 0 -> 24477 bytes .../Embedded/.config/xconfig_Embedded/.buildtime | 1 + .../Embedded/.config/xconfig_Embedded/.interfaces | 0 .../Embedded/.config/xconfig_Embedded/.xdcenv.mak | 16 ++ .../.config/xconfig_Embedded/compiler.opt.defs | 1 + .../Embedded/.config/xconfig_Embedded/config.bld | 24 ++ .../Embedded/.config/xconfig_Embedded/custom.mak | 11 + .../Embedded/.config/xconfig_Embedded/package.bld | 78 ++++++ .../Embedded/.config/xconfig_Embedded/package.mak | 256 ++++++++++++++++++++ .../Embedded/.config/xconfig_Embedded/package.xdc | 7 + .../Embedded/.config/xconfig_Embedded/package.xs | 20 ++ .../.config/xconfig_Embedded/package/.vers_b160 | 0 .../.config/xconfig_Embedded/package/.vers_g180 | 0 .../.config/xconfig_Embedded/package/.vers_r170 | 0 .../.config/xconfig_Embedded/package/.xdc-B06 | 0 .../.config/xconfig_Embedded/package/build.cfg | 9 + .../package/cfg/Embedded.xem4f.mak | 11 + .../package/cfg/Embedded_pem4f.cfg | 268 +++++++++++++++++++++ .../package/cfg/Embedded_pem4f.mak | 46 ++++ .../xconfig_Embedded/package/package.bld.xml | 84 +++++++ .../xconfig_Embedded/package/package.defs.h | 13 + .../xconfig_Embedded/package/package.xdc.dep | 53 ++++ .../xconfig_Embedded/package/package.xdc.inc | 12 + .../package/package_xconfig_Embedded.c | 21 ++ .../package/rel/xconfig_Embedded.xdc.inc | 3 + .../package/rel/xconfig_Embedded.xdc.ninc | 0 .../xconfig_Embedded/package/xconfig_Embedded.ccs | Bin 0 -> 1245 bytes .../package/xconfig_Embedded.class | Bin 0 -> 6801 bytes .../xconfig_Embedded/package/xconfig_Embedded.java | 143 +++++++++++ .../xconfig_Embedded/package/xconfig_Embedded.sch | 0 Software/Embedded_SW/Embedded/DataDef.h | 19 +- .../Embedded/Drivers/FPGA/FPGA_SPI_Comm.c | 76 +++++- .../Drivers/I2C_Communication/DAC/Blower.c | 76 ++++++ .../Embedded_SW/Embedded/Drivers/Motors/Motor.c | 21 ++ .../Embedded_SW/Embedded/Drivers/Motors/Motor.h | 6 +- .../Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c | 7 + .../Embedded/Modules/Control/MillisecTask.c | 5 + .../Embedded/Modules/Thread/Thread_init.c | 2 +- 38 files changed, 1273 insertions(+), 16 deletions(-) create mode 100644 Software/Embedded_SW/Embedded/.config/.productview.dat create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.buildtime create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.interfaces create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.xdcenv.mak create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/compiler.opt.defs create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/config.bld create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/custom.mak create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.bld create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.mak create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.xdc create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.xs create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_b160 create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_g180 create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_r170 create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.xdc-B06 create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/build.cfg create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded.xem4f.mak create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.cfg create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.mak create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.bld.xml create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.defs.h create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.xdc.dep create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.xdc.inc create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package_xconfig_Embedded.c create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/rel/xconfig_Embedded.xdc.inc create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/rel/xconfig_Embedded.xdc.ninc create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.ccs create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.class create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.java create mode 100644 Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.sch (limited to 'Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c') diff --git a/Software/Embedded_SW/Embedded/.config/.productview.dat b/Software/Embedded_SW/Embedded/.config/.productview.dat new file mode 100644 index 000000000..01bba8454 Binary files /dev/null and b/Software/Embedded_SW/Embedded/.config/.productview.dat differ diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.buildtime b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.buildtime new file mode 100644 index 000000000..7f6d56957 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.buildtime @@ -0,0 +1 @@ +C:\Tango\Software\Embedded_SW\Embedded\.config\xconfig_Embedded\.buildtime \ No newline at end of file diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.interfaces b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.interfaces new file mode 100644 index 000000000..e69de29bb diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.xdcenv.mak b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.xdcenv.mak new file mode 100644 index 000000000..7654ecd27 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.xdcenv.mak @@ -0,0 +1,16 @@ +# +_XDCBUILDCOUNT = +ifneq (,$(findstring path,$(_USEXDCENV_))) +override XDCPATH = C:/TI/tirtos_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/tidrivers_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages;C:/TI/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages;C:/TI/tirtos_tivac_2_16_00_08/products/uia_2_00_05_50/packages;C:/TI/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages;C:/TI/TivaWare_C_Series-2.1.2.111;C:/TI/ccsv7/ccs_base;C:/Tango/Software/Embedded_SW/Embedded/.config +override XDCROOT = C:/TI/xdctools_3_32_00_06_core +override XDCBUILDCFG = ./config.bld +endif +ifneq (,$(findstring args,$(_USEXDCENV_))) +override XDCARGS = +override XDCTARGETS = +endif +# +ifeq (0,1) +PKGPATH = C:/TI/tirtos_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/tidrivers_tivac_2_16_00_08/packages;C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages;C:/TI/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages;C:/TI/tirtos_tivac_2_16_00_08/products/uia_2_00_05_50/packages;C:/TI/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages;C:/TI/TivaWare_C_Series-2.1.2.111;C:/TI/ccsv7/ccs_base;C:/Tango/Software/Embedded_SW/Embedded/.config;C:/TI/xdctools_3_32_00_06_core/packages;.. +HOSTOS = Windows +endif diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/compiler.opt.defs b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/compiler.opt.defs new file mode 100644 index 000000000..c48b1a33d --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/compiler.opt.defs @@ -0,0 +1 @@ +-I"C:/TI/tirtos_tivac_2_16_00_08/packages" -I"C:/TI/tirtos_tivac_2_16_00_08/products/tidrivers_tivac_2_16_00_08/packages" -I"C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages" -I"C:/TI/tirtos_tivac_2_16_00_08/products/ndk_2_25_00_09/packages" -I"C:/TI/tirtos_tivac_2_16_00_08/products/uia_2_00_05_50/packages" -I"C:/TI/tirtos_tivac_2_16_00_08/products/ns_1_11_00_10/packages" -I"C:/TI/TivaWare_C_Series-2.1.2.111" -I"C:/TI/ccsv7/ccs_base" -I"C:/Tango/Software/Embedded_SW/Embedded/.config" -I"C:/TI/xdctools_3_32_00_06_core/packages" -I"C:/Tango/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/.." -IC:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/include/rts -IC:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/include -Dxdc_target_types__="ti/targets/arm/elf/std.h" -Dxdc_target_name__=M4F -Dxdc_cfg__xheader__="\"C:/Tango/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.h\"" diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/config.bld b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/config.bld new file mode 100644 index 000000000..74ff6d21b --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/config.bld @@ -0,0 +1,24 @@ +/* THIS IS A GENERATED FILE -- DO NOT EDIT */ + +var target; /* the target used for this build */ + +/* configuro was passed the target's name explicitly */ +try { + target = xdc.module('ti.targets.arm.elf.M4F'); +} +catch (e) { + throw new Error("Can't find the target named '" + 'ti.targets.arm.elf.M4F' + + "' along the path '" + environment["xdc.path"] + + "': please check the spelling of the target's name and that it exists along this path."); +} +if (!(target instanceof xdc.module("xdc.bld.ITarget").Module)) { + throw new Error("The module named 'ti.targets.arm.elf.M4F' exists but it's not a target: please check the spelling of the target's name"); +} + +/* configuro was passed compiler options explicitly */ +target.ccOpts.prefix = unescape("%22--code_state%3D16%20--float_support%3DFPv4SPD16%20-me%20") + target.ccOpts.prefix; + +/* configuro was passed the target's rootDir explicitly */ +target.rootDir = 'C:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS'; + +Build.targets = [target]; diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/custom.mak b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/custom.mak new file mode 100644 index 000000000..776a3cb74 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/custom.mak @@ -0,0 +1,11 @@ +## THIS IS A GENERATED FILE -- DO NOT EDIT +.configuro: .libraries,em4f linker.cmd package/cfg/Embedded_pem4f.oem4f + +# To simplify configuro usage in makefiles: +# o create a generic linker command file name +# o set modification times of compiler.opt* files to be greater than +# or equal to the generated config header +# +linker.cmd: package/cfg/Embedded_pem4f.xdl + $(SED) 's"^\"\(package/cfg/Embedded_pem4fcfg.cmd\)\"$""\"C:/Tango/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/\1\""' package/cfg/Embedded_pem4f.xdl > $@ + -$(SETDATE) -r:max package/cfg/Embedded_pem4f.h compiler.opt compiler.opt.defs diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.bld b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.bld new file mode 100644 index 000000000..30e81adf6 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.bld @@ -0,0 +1,78 @@ +/* THIS IS A GENERATED FILE -- DO NOT EDIT */ + +var targ = xdc.module('ti.targets.arm.elf.M4F'); +/* configuro was told the platform explicitly */ +var platform = 'ti.platforms.tiva:TM4C129XNCZAD'; + +/* decide whether to make an assembly or an executable */ +var makeAssembly = false; + + +var Executable = xdc.module('xdc.bld.Executable'); + +var exeOpts = new Executable.Attrs({ + cfgScript: 'C:/Tango/Software/Embedded_SW/Embedded/Embedded.cfg', + profile: 'release', + cfgHome: 'xconfig_Embedded', +}); + +exeOpts.cfgArgs = 'null'; +exeOpts.cfgArgsEncoded = true; + +var exe = Pkg[makeAssembly ? 'addAssembly': 'addExecutable']( + 'Embedded', + targ, + platform, + exeOpts +); + +/* + * Generate the compiler.opt file + * Do this here instead of during the initial creation of the configuro + * package, because the contents of any config.bld script are unknown + * at that time. Config.bld can't be executed until the XDC build phase. + */ +if (makeAssembly) { + var suffix = targ.dllExt || '.p' + targ.suffix; +} +else { + var suffix = '.p' + targ.suffix; +} + +var thisObj = { + cfg: 'C:/Tango/Software/Embedded_SW/Embedded/Embedded.cfg', + outputPath: 'C:/Tango/Software/Embedded_SW/Embedded/.config/xconfig_Embedded', + exeName: 'Embedded' + suffix, + exeIntName: 'Embedded' + suffix.replace('.', '_'), + targ: targ, + linkerCommandFile: 'linker.cmd', + compilerOptFile: 'compiler.opt', + compilerDefsFile: 'compiler.opt' + ".defs", + makeAssembly: makeAssembly +}; +var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/compiler.opt.xdt'); +tmpl.genFile('compiler.opt', thisObj, [], false); + +/* + * Generate the custom makefile. + */ +var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/' + + (makeAssembly? 'custom.mak.asm.xdt' : 'custom.mak.exe.xdt')); +tmpl.genFile('custom.mak', thisObj, [], false); +Pkg.makeEpilogue = "include custom.mak"; + +/* + * Generate the package script. + */ +var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/package.xs.xdt'); +tmpl.genFile('package.xs', thisObj, [], false); + +if (makeAssembly) { +/* + * Generate the linker options into a staging file, so that the presence or + * age of the advertised linker command file can be the makefile trigger to + * rebuild the package from the user's config script. + */ + var tmpl = xdc.loadTemplate('xdc/tools/configuro/template/linker.cmd.asm.xdt'); + tmpl.genFile('linker.cmd.cp', thisObj, [], false); +} diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.mak b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.mak new file mode 100644 index 000000000..6f18e8d3b --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.mak @@ -0,0 +1,256 @@ +# +# Do not edit this file. This file is generated from +# package.bld. Any modifications to this file will be +# overwritten whenever makefiles are re-generated. +# + +unexport MAKEFILE_LIST +MK_NOGENDEPS := $(filter clean,$(MAKECMDGOALS)) +override PKGDIR = xconfig_Embedded +XDCINCS = -I. -I$(strip $(subst ;, -I,$(subst $(space),\$(space),$(XPKGPATH)))) +XDCCFGDIR = package/cfg/ + +# +# The following dependencies ensure package.mak is rebuilt +# in the event that some included BOM script changes. +# +ifneq (clean,$(MAKECMDGOALS)) +C:/TI/xdctools_3_32_00_06_core/packages/xdc/utils.js: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/utils.js +C:/TI/xdctools_3_32_00_06_core/packages/xdc/xdc.tci: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/xdc.tci +C:/TI/xdctools_3_32_00_06_core/packages/xdc/template.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/template.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/om2.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/om2.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/xmlgen.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/xmlgen.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/xmlgen2.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/xmlgen2.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/Warnings.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/Warnings.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/IPackage.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/IPackage.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/package.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/package.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/global/Clock.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/global/Clock.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/global/Trace.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/global/Trace.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/bld.js: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/bld.js +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/BuildEnvironment.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/BuildEnvironment.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/PackageContents.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/PackageContents.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/_gen.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/_gen.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Library.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Library.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Executable.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Executable.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Repository.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Repository.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Configuration.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Configuration.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Script.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Script.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Manifest.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Manifest.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Utils.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/Utils.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget2.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget2.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget3.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/ITarget3.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/ITargetFilter.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/ITargetFilter.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/package.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/bld/package.xs +package.mak: config.bld +C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/ITarget.xs: +package.mak: C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/ITarget.xs +C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/C28_large.xs: +package.mak: C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/C28_large.xs +C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/C28_float.xs: +package.mak: C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/C28_float.xs +C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/package.xs: +package.mak: C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/package.xs +C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/arm/elf/IArm.xs: +package.mak: C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/arm/elf/IArm.xs +C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/arm/elf/package.xs: +package.mak: C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/arm/elf/package.xs +package.mak: package.bld +C:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/compiler.opt.xdt: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/compiler.opt.xdt +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/io/File.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/io/File.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/io/package.xs: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/io/package.xs +C:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/compiler.defs.xdt: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/compiler.defs.xdt +C:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/custom.mak.exe.xdt: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/custom.mak.exe.xdt +C:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/package.xs.xdt: +package.mak: C:/TI/xdctools_3_32_00_06_core/packages/xdc/tools/configuro/template/package.xs.xdt +endif + +ti.targets.arm.elf.M4F.rootDir ?= C:/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS +ti.targets.arm.elf.packageBase ?= C:/TI/tirtos_tivac_2_16_00_08/products/bios_6_45_01_29/packages/ti/targets/arm/elf/ +.PRECIOUS: $(XDCCFGDIR)/%.oem4f +.PHONY: all,em4f .dlls,em4f .executables,em4f test,em4f +all,em4f: .executables,em4f +.executables,em4f: .libraries,em4f +.executables,em4f: .dlls,em4f +.dlls,em4f: .libraries,em4f +.libraries,em4f: .interfaces + @$(RM) $@ + @$(TOUCH) "$@" + +.help:: + @$(ECHO) xdc test,em4f + @$(ECHO) xdc .executables,em4f + @$(ECHO) xdc .libraries,em4f + @$(ECHO) xdc .dlls,em4f + + +all: .executables +.executables: .libraries .dlls +.libraries: .interfaces + +PKGCFGS := $(wildcard package.xs) package/build.cfg +.interfaces: package/package.xdc.inc package/package.defs.h package.xdc $(PKGCFGS) + +-include package/package.xdc.dep +package/%.xdc.inc package/%_xconfig_Embedded.c package/%.defs.h: %.xdc $(PKGCFGS) + @$(MSG) generating interfaces for package xconfig_Embedded" (because $@ is older than $(firstword $?))" ... + $(XSRUN) -f xdc/services/intern/cmd/build.xs $(MK_IDLOPTS) -m package/package.xdc.dep -i package/package.xdc.inc package.xdc + +.dlls,em4f .dlls: Embedded.pem4f + +-include package/cfg/Embedded_pem4f.mak +-include package/cfg/Embedded_pem4f.cfg.mak +ifeq (,$(MK_NOGENDEPS)) +-include package/cfg/Embedded_pem4f.dep +endif +Embedded.pem4f: package/cfg/Embedded_pem4f.xdl + @ + + +ifeq (,$(wildcard .libraries,em4f)) +Embedded.pem4f package/cfg/Embedded_pem4f.c: .libraries,em4f +endif + +package/cfg/Embedded_pem4f.c package/cfg/Embedded_pem4f.h package/cfg/Embedded_pem4f.xdl: override _PROG_NAME := Embedded.xem4f +package/cfg/Embedded_pem4f.c: package/cfg/Embedded_pem4f.cfg +package/cfg/Embedded_pem4f.xdc.inc: package/cfg/Embedded_pem4f.xdl +package/cfg/Embedded_pem4f.xdl package/cfg/Embedded_pem4f.c: .interfaces + +clean:: clean,em4f + -$(RM) package/cfg/Embedded_pem4f.cfg + -$(RM) package/cfg/Embedded_pem4f.dep + -$(RM) package/cfg/Embedded_pem4f.c + -$(RM) package/cfg/Embedded_pem4f.xdc.inc + +clean,em4f:: + -$(RM) Embedded.pem4f +.executables,em4f .executables: Embedded.xem4f + +Embedded.xem4f: |Embedded.pem4f + +-include package/cfg/Embedded.xem4f.mak +Embedded.xem4f: package/cfg/Embedded_pem4f.oem4f + $(RM) $@ + @$(MSG) lnkem4f $@ ... + $(RM) $(XDCCFGDIR)/$@.map + $(ti.targets.arm.elf.M4F.rootDir)/bin/armcl -fs $(XDCCFGDIR)$(dir $@). -q -u _c_int00 --silicon_version=7M4 -z --strict_compatibility=on -o $@ package/cfg/Embedded_pem4f.oem4f package/cfg/Embedded_pem4f.xdl -w -c -m $(XDCCFGDIR)/$@.map -l $(ti.targets.arm.elf.M4F.rootDir)/lib/libc.a + +Embedded.xem4f: export C_DIR= +Embedded.xem4f: PATH:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH) +Embedded.xem4f: Path:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH) + +Embedded.test test,em4f test: Embedded.xem4f.test + +Embedded.xem4f.test:: Embedded.xem4f +ifeq (,$(_TESTLEVEL)) + @$(MAKE) -R -r --no-print-directory -f $(XDCROOT)/packages/xdc/bld/xdc.mak _TESTLEVEL=1 Embedded.xem4f.test +else + @$(MSG) running $< ... + $(call EXEC.Embedded.xem4f, ) +endif + +clean,em4f:: + -$(RM) $(wildcard .tmp,Embedded.xem4f,*) + + +clean:: clean,em4f + +clean,em4f:: + -$(RM) Embedded.xem4f +%,copy: + @$(if $<,,$(MSG) don\'t know how to build $*; exit 1) + @$(MSG) cp $< $@ + $(RM) $@ + $(CP) $< $@ +Embedded_pem4f.oem4f,copy : package/cfg/Embedded_pem4f.oem4f +Embedded_pem4f.sem4f,copy : package/cfg/Embedded_pem4f.sem4f + +$(XDCCFGDIR)%.c $(XDCCFGDIR)%.h $(XDCCFGDIR)%.xdl: $(XDCCFGDIR)%.cfg $(XDCROOT)/packages/xdc/cfg/Main.xs | .interfaces + @$(MSG) "configuring $(_PROG_NAME) from $< ..." + $(CONFIG) $(_PROG_XSOPTS) xdc.cfg $(_PROG_NAME) $(XDCCFGDIR)$*.cfg $(XDCCFGDIR)$* + +.PHONY: release,xconfig_Embedded +ifeq (,$(MK_NOGENDEPS)) +-include package/rel/xconfig_Embedded.tar.dep +endif +package/rel/xconfig_Embedded/xconfig_Embedded/package/package.rel.xml: package/package.bld.xml +package/rel/xconfig_Embedded/xconfig_Embedded/package/package.rel.xml: package/build.cfg +package/rel/xconfig_Embedded/xconfig_Embedded/package/package.rel.xml: package/package.xdc.inc +package/rel/xconfig_Embedded/xconfig_Embedded/package/package.rel.xml: .force + @$(MSG) generating external release references $@ ... + $(XS) $(JSENV) -f $(XDCROOT)/packages/xdc/bld/rel.js $(MK_RELOPTS) . $@ + +xconfig_Embedded.tar: package/rel/xconfig_Embedded.xdc.inc package/rel/xconfig_Embedded/xconfig_Embedded/package/package.rel.xml + @$(MSG) making release file $@ "(because of $(firstword $?))" ... + -$(RM) $@ + $(call MKRELTAR,package/rel/xconfig_Embedded.xdc.inc,package/rel/xconfig_Embedded.tar.dep) + + +release release,xconfig_Embedded: all xconfig_Embedded.tar +clean:: .clean + -$(RM) xconfig_Embedded.tar + -$(RM) package/rel/xconfig_Embedded.xdc.inc + -$(RM) package/rel/xconfig_Embedded.tar.dep + +clean:: .clean + -$(RM) .libraries $(wildcard .libraries,*) +clean:: + -$(RM) .dlls $(wildcard .dlls,*) +# +# The following clean rule removes user specified +# generated files or directories. +# + +ifneq (clean,$(MAKECMDGOALS)) +ifeq (,$(wildcard package)) + $(shell $(MKDIR) package) +endif +ifeq (,$(wildcard package/cfg)) + $(shell $(MKDIR) package/cfg) +endif +ifeq (,$(wildcard package/lib)) + $(shell $(MKDIR) package/lib) +endif +ifeq (,$(wildcard package/rel)) + $(shell $(MKDIR) package/rel) +endif +ifeq (,$(wildcard package/internal)) + $(shell $(MKDIR) package/internal) +endif +endif +clean:: + -$(RMDIR) package + +include custom.mak diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.xdc b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.xdc new file mode 100644 index 000000000..5ae1a0aa5 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.xdc @@ -0,0 +1,7 @@ +/*! + * Package generated by xdc.tools.configuro + * + * @_nodoc + */ +package xconfig_Embedded { +} diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.xs b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.xs new file mode 100644 index 000000000..373d44f5e --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package.xs @@ -0,0 +1,20 @@ +/* THIS IS A GENERATED FILE -- DO NOT EDIT */ + +/* return the names of the generated config objects */ +function getLibs(prog) { + /* for programs, push the generated config object file into the + * generated linker command file. + */ + /* replace the last period in the name by an underscore */ + var name = "package/cfg/" + prog.name.replace(/\.([^.]*)$/, "_$1"); + /* base is a hack until we add cfgName to Program */ + var base = "package/cfg/" + prog.name.replace(/\.([^.]*)$/, ""); + var suffix = prog.build.target.suffix; + + var libs = [ +// name + '.o' + suffix, + base + '_p' + suffix + '.o' + suffix + ]; + + return libs.join(';'); +} diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_b160 b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_b160 new file mode 100644 index 000000000..e69de29bb diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_g180 b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_g180 new file mode 100644 index 000000000..e69de29bb diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_r170 b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.vers_r170 new file mode 100644 index 000000000..e69de29bb diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.xdc-B06 b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/.xdc-B06 new file mode 100644 index 000000000..e69de29bb diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/build.cfg b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/build.cfg new file mode 100644 index 000000000..5ec1eb102 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/build.cfg @@ -0,0 +1,9 @@ +if (pkg.$vers.length >= 3) { + pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..')); +} + +pkg.build.libraries = [ +]; + +pkg.build.libDesc = [ +]; diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded.xem4f.mak b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded.xem4f.mak new file mode 100644 index 000000000..f7ad36e1c --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded.xem4f.mak @@ -0,0 +1,11 @@ +# +# Do not edit this file. This file is generated from +# package.bld. Any modifications to this file will be +# overwritten whenever makefiles are re-generated. +# +# target compatibility key = ti.targets.arm.elf.M4F{1,0,16.9,4 +# +Embedded.xem4f: package/cfg/Embedded.xem4f.mak + +clean:: + -$(RM) package/cfg/Embedded.xem4f.mak diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.cfg b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.cfg new file mode 100644 index 000000000..5e7fdeb7d --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.cfg @@ -0,0 +1,268 @@ +/* + * ======== package/cfg/Embedded_pem4f.cfg ======== + * This generated configuration script runs the user's configuration script + * the context of a specific target and platform in order to generate + * all the files necessary to create an executable; e.g., linker command + * files, static C/C++ data structures, etc. + */ + +/* + * ======== _applyChanges ======== + * Changes that bring the build target to the state at the end of the build + * model + */ +function _applyChanges(obj, chgObj) { + var wasSealed = false; + if (obj.$sealed) { + wasSealed = true; + obj.$unseal(); + } + for (var prop in chgObj) { + if (typeof obj[prop] == 'object' && obj[prop] != undefined) { + if ("$category" in obj[prop] && obj[prop].$category == "Vector") { + obj[prop].length = chgObj[prop].length; + for (var i = 0; i < chgObj[prop].length; i++) { + if (obj[prop].length < i + 1) { + obj[prop].length++; + } + obj[prop][i] = chgObj[prop][i]; + } + } + else { + _applyChanges(obj[prop], chgObj[prop]); + } + } + else { + obj[prop] = chgObj[prop]; + } + } + if (wasSealed) { + obj.$seal(); + } +} + +/* + * ======== _runescape ======== + * Recursive unescape to decode serialized strings + */ +function _runescape(obj) { + for (var i in obj) { + if (obj[i] != null) { + if (typeof obj[i] == 'string') { + obj[i] = unescape(obj[i]); + } + else if (typeof obj[i] == 'object') { + _runescape(obj[i]); + } + } + } +} + +/* + * ======== _getPlatCfg ======== + */ +function _getPlatCfg() { + var tmp = {}; + _runescape(tmp); + return (tmp); +} +/* + * ======== _cfginit ======== + */ +function _cfginit() { + xdc.loadPackage('xdc.services.intern.cmd'); + var prog = xdc.om['xdc.cfg.Program']; + + /* initialize prog attrs from build model */ + var build = { + profile: "release", + cfgScript: "C%3A/Tango/Software/Embedded_SW/Embedded/Embedded.cfg", + cfgHome: "xconfig_Embedded", + cfgArgs: "null", + cfgArgsEncoded: true, + releases: { + 0: { + name: "xconfig_Embedded", + attrs: { + prefix: "", + label: "default" + }, + otherFiles: {}, + excludeDirs: {} + } + }, + prelink: false + }; + _runescape(build); + build.cfgArgs = null; + build.target = xdc.module("ti.targets.arm.elf.M4F"); + var targChange = { + platforms: [ + "ti.platforms.tiva%3ATM4C1294NCPDT%3A1" + ], + version: "ti.targets.arm.elf.M4F%7B1%2C0%2C16.9%2C4", + extensions: { + ".sem4fe": { + suf: ".sem4fe", + typ: "asm" + }, + ".sem4f": { + suf: ".sem4f", + typ: "asm" + }, + ".sv7M4": { + suf: ".sv7M4", + typ: "asm" + }, + ".sv7M": { + suf: ".sv7M", + typ: "asm" + } + }, + rootDir: "C%3A/TI/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS", + ccOpts: { + prefix: "%22--code_state%3D16%20--float_support%3DFPv4SPD16%20-me%20-qq%20-pdsw225" + }, + rawVersion: "16.9.4" + }; + _runescape(targChange); + _applyChanges(build.target, targChange); + + prog.build = build; + + prog.name = "Embedded.xem4f"; + prog.cfgBase = "package/cfg/Embedded_pem4f"; + + prog.endian = prog.build.target.model.endian; + prog.codeModel = prog.build.target.model.codeModel; + + /* use the platform package's Platform module */ + var Platform = xdc.useModule("ti.platforms.tiva.Platform"); + var platParams = _getPlatCfg(); + var invalidParams = []; + for (var prop in platParams) { + if (!(prop in Platform.PARAMS)) { + delete platParams[prop]; + invalidParams.push(prop); + } + } + prog.platformName = "ti.platforms.tiva:TM4C129XNCZAD"; + prog.platform = Platform.create("TM4C129XNCZAD", platParams); + for (var i = 0; i < invalidParams.length; i++) { + Platform.$logWarning("The parameter '" + invalidParams[i] + "' is " + + "passed to this platform instance through Build.platformTable, " + + "but the instance does not have a configuration parameter with " + + "that name.", prog.platform, "TM4C129XNCZAD"); + } + + /* record the executable's package name */ + prog.buildPackage = "xconfig_Embedded"; + + /* record build-model information required during config generation */ + prog.$$bind("$$isasm", 0); + prog.$$bind("$$isrom", 0); + prog.$$bind("$$gentab", [ + ]); + + /* bind prog to an appropriate execution context */ + prog.cpu = prog.platform.getExeContext(prog); + + /* import the target's run-time support pkg */ + xdc.loadPackage("ti.targets.arm.rtsarm"); +} + +/* function to import the cfg script's package */ +function _userscript(script) { + var home; + var spath; + home = xdc.loadPackage("xconfig_Embedded"); + + xdc.om.$$bind('$homepkg', home); + + var cfgScript = "C:/Tango/Software/Embedded_SW/Embedded/Embedded.cfg"; + if (!script) { + utils.loadCapsule(cfgScript, false, spath); + } + else { + /* set up the same environment that loadCapsule would */ + var $saveCsd = utils.csd; + var $cfgFile = utils.findFile(cfgScript, spath); + var cname = cfgScript; + if ($cfgFile) { + $cfgFile = java.io.File($cfgFile); + utils.csd = $cfgFile.getParentFile().getCanonicalPath(); + cname = "" + $cfgFile.getCanonicalPath(); + } + + /* create the capsule object */ + var cap = { + prototype: utils.global, + $path: cname, + $private: {path: cname}, + $capsule: undefined, /* set to cap below */ + }; + + /* 'this.$capsule' is always cap object */ + cap.$capsule = cap; + + /* save the capsule object */ + utils.$$capmap[cname] = cap; + + try { + var cx = + Packages.org.mozilla.javascript.Context.getCurrentContext(); + var rdr = new + java.io.BufferedReader(new java.io.StringReader(script)); + Packages.config.Shell.evaluateLoad(cx, cap, rdr, cname, 1); + } + finally { + rdr.close(); + utils.csd = $saveCsd; + } + } +} + +function _postinit() { + var cout = null; + + var Program = xdc.om['xdc.cfg.Program']; + /* get the exec command for this executable */ + if (Program.execCmd == null) { + Program.execCmd = Program.platform.getExecCmd(Program, + xdc.om["ti.platforms.tiva"].packageBase); + } + cout = "define EXEC." + Program.name + '\n\n'; + cout += Program.execCmd; + cout += "\nendef\n\n"; + + /* if SourceDir generates a makefile, we need to run it */ + _genSourceDirMak("package/cfg/Embedded_pem4f", "Embedded.pem4f"); + + utils.genDep("package/cfg/Embedded_pem4f", "xconfig_Embedded", utils.loadedFiles, cout, null); +} + +function _genSourceDirMak(cfgBase, cfgName) +{ + var SourceDir = xdc.om['xdc.cfg.SourceDir']; + + if (SourceDir && SourceDir.$instances.length > 0) { + /* construct rule to run SourceDir generated makefile */ + var make = "\t$(MAKE) -f " + + SourceDir.outputDir + "/" + SourceDir.makefileName; + + /* this file is included by package.mak (if it exists) */ + var file = new java.io.File(cfgBase + ".cfg.mak"); + file["delete"](); + var out = new java.io.BufferedWriter(new java.io.FileWriter(file)); + + /* add rules to run SourceDir generated makefile */ + out.write("# invoke SourceDir generated makefile for " + cfgName + + "\n" + cfgName + ": .libraries," + cfgName + + "\n.libraries," + cfgName + ": " + cfgBase + ".xdl\n" + + make + "\n\n" + + "clean::\n" + make + " clean\n\n" + ); + out.close(); + out = null; + } +} diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.mak b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.mak new file mode 100644 index 000000000..ba42567df --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/cfg/Embedded_pem4f.mak @@ -0,0 +1,46 @@ +# +# Do not edit this file. This file is generated from +# package.bld. Any modifications to this file will be +# overwritten whenever makefiles are re-generated. +# +# target compatibility key = ti.targets.arm.elf.M4F{1,0,16.9,4 +# +ifeq (,$(MK_NOGENDEPS)) +-include package/cfg/Embedded_pem4f.oem4f.dep +package/cfg/Embedded_pem4f.oem4f.dep: ; +endif + +package/cfg/Embedded_pem4f.oem4f: | .interfaces +package/cfg/Embedded_pem4f.oem4f: package/cfg/Embedded_pem4f.c package/cfg/Embedded_pem4f.mak + @$(RM) $@.dep + $(RM) $@ + @$(MSG) clem4f $< ... + $(ti.targets.arm.elf.M4F.rootDir)/bin/armcl -c "--code_state=16 --float_support=FPv4SPD16 -me -qq -pdsw225 -ms --fp_mode=strict --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f -Dxdc_cfg__xheader__='"xconfig_Embedded/package/cfg/Embedded_pem4f.h"' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_16_9_4 -O2 $(XDCINCS) -I$(ti.targets.arm.elf.M4F.rootDir)/include/rts -I$(ti.targets.arm.elf.M4F.rootDir)/include -fs=./package/cfg -fr=./package/cfg -fc $< + $(MKDEP) -a $@.dep -p package/cfg -s oem4f $< -C "--code_state=16 --float_support=FPv4SPD16 -me -qq -pdsw225 -ms --fp_mode=strict --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f -Dxdc_cfg__xheader__='"xconfig_Embedded/package/cfg/Embedded_pem4f.h"' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_16_9_4 -O2 $(XDCINCS) -I$(ti.targets.arm.elf.M4F.rootDir)/include/rts -I$(ti.targets.arm.elf.M4F.rootDir)/include -fs=./package/cfg -fr=./package/cfg + -@$(FIXDEP) $@.dep $@.dep + +package/cfg/Embedded_pem4f.oem4f: export C_DIR= +package/cfg/Embedded_pem4f.oem4f: PATH:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH) +package/cfg/Embedded_pem4f.oem4f: Path:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH) + +package/cfg/Embedded_pem4f.sem4f: | .interfaces +package/cfg/Embedded_pem4f.sem4f: package/cfg/Embedded_pem4f.c package/cfg/Embedded_pem4f.mak + @$(RM) $@.dep + $(RM) $@ + @$(MSG) clem4f -n $< ... + $(ti.targets.arm.elf.M4F.rootDir)/bin/armcl -c -n -s --symdebug:none "--code_state=16 --float_support=FPv4SPD16 -me -qq -pdsw225 --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f -Dxdc_cfg__xheader__='"xconfig_Embedded/package/cfg/Embedded_pem4f.h"' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_16_9_4 -O2 $(XDCINCS) -I$(ti.targets.arm.elf.M4F.rootDir)/include/rts -I$(ti.targets.arm.elf.M4F.rootDir)/include -fs=./package/cfg -fr=./package/cfg -fc $< + $(MKDEP) -a $@.dep -p package/cfg -s oem4f $< -C -n -s --symdebug:none "--code_state=16 --float_support=FPv4SPD16 -me -qq -pdsw225 --endian=little -mv7M4 --abi=eabi --float_support=fpv4spd16 -eo.oem4f -ea.sem4f -Dxdc_cfg__xheader__='"xconfig_Embedded/package/cfg/Embedded_pem4f.h"' -Dxdc_target_name__=M4F -Dxdc_target_types__=ti/targets/arm/elf/std.h -Dxdc_bld__profile_release -Dxdc_bld__vers_1_0_16_9_4 -O2 $(XDCINCS) -I$(ti.targets.arm.elf.M4F.rootDir)/include/rts -I$(ti.targets.arm.elf.M4F.rootDir)/include -fs=./package/cfg -fr=./package/cfg + -@$(FIXDEP) $@.dep $@.dep + +package/cfg/Embedded_pem4f.sem4f: export C_DIR= +package/cfg/Embedded_pem4f.sem4f: PATH:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH) +package/cfg/Embedded_pem4f.sem4f: Path:=$(ti.targets.arm.elf.M4F.rootDir)/bin/;$(PATH) + +clean,em4f :: + -$(RM) package/cfg/Embedded_pem4f.oem4f + -$(RM) package/cfg/Embedded_pem4f.sem4f + +Embedded.pem4f: package/cfg/Embedded_pem4f.oem4f package/cfg/Embedded_pem4f.mak + +clean:: + -$(RM) package/cfg/Embedded_pem4f.mak diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.bld.xml b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.bld.xml new file mode 100644 index 000000000..b80ad50de --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.bld.xml @@ -0,0 +1,84 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.defs.h b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.defs.h new file mode 100644 index 000000000..0a0250f07 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.defs.h @@ -0,0 +1,13 @@ +/* + * Do not modify this file; it is automatically + * generated and any modifications will be overwritten. + * + * @(#) xdc-B06 + */ + +#ifndef xconfig_Embedded__ +#define xconfig_Embedded__ + + + +#endif /* xconfig_Embedded__ */ diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.xdc.dep b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.xdc.dep new file mode 100644 index 000000000..f3d85fb1c --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.xdc.dep @@ -0,0 +1,53 @@ +clean:: + $(RM) package/xconfig_Embedded.sch + $(RM) package/.vers_g180 + $(RM) package/.vers_r170 + $(RM) package/.vers_b160 + $(RM) package/.xdc-B06 + $(RM) package/xconfig_Embedded.java + $(RM) package/xconfig_Embedded.class + $(RM) package/package_xconfig_Embedded.c + $(RM) package/package.defs.h + $(RM) package/xconfig_Embedded.ccs + +.interfaces: package/xconfig_Embedded.sch package/.vers_g180 package/.vers_r170 package/.vers_b160 package/.xdc-B06 package/xconfig_Embedded.java package/package_xconfig_Embedded.c package/package.defs.h package/xconfig_Embedded.ccs +package/package.xdc.inc: package/.vers_g180 +package/.vers_g180: +package/package.xdc.inc: package/.vers_r170 +package/.vers_r170: +package/package.xdc.inc: package/.vers_b160 +package/.vers_b160: + +.interfaces: + +# schema include file dependencies +package.xs: +package/package.xdc.inc: package.xs + +# schema update dependencies +package/package.xdc.inc: xdc/IPackage.xdc +xdc/IPackage.xdc: +vpath xdc/IPackage.xdc $(XPKGVPATH) + +ifneq (clean,$(MAKECMDGOALS)) +C:/TI/xdctools_3_32_00_06_core/packages/xdc/shelf/java/antlr.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/shelf/java/antlr.jar +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/intern/gen/java/package.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/intern/gen/java/package.jar +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/intern/cmd/java/package.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/intern/cmd/java/package.jar +C:/TI/xdctools_3_32_00_06_core/packages/xdc/shelf/java/js.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/shelf/java/js.jar +C:/TI/xdctools_3_32_00_06_core/packages/xdc/shelf/java/tar.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/shelf/java/tar.jar +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/global/java/package.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/global/java/package.jar +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/spec/java/package.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/spec/java/package.jar +C:/TI/xdctools_3_32_00_06_core/packages/xdc/shelf/java/ecj.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/shelf/java/ecj.jar +C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/intern/xsr/java/package.jar: +package/package.xdc.inc: C:/TI/xdctools_3_32_00_06_core/packages/xdc/services/intern/xsr/java/package.jar +endif +# goals for files generated during schema generation but unspecified by schema's pattern rule + diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.xdc.inc b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.xdc.inc new file mode 100644 index 000000000..e002a7470 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package.xdc.inc @@ -0,0 +1,12 @@ +package.xdc +package.xs +package/xconfig_Embedded.sch +package/.vers_g180 +package/.vers_r170 +package/.vers_b160 +package/.xdc-B06 +package/xconfig_Embedded.java +package/xconfig_Embedded.class +package/package_xconfig_Embedded.c +package/package.defs.h +package/xconfig_Embedded.ccs diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package_xconfig_Embedded.c b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package_xconfig_Embedded.c new file mode 100644 index 000000000..e62997303 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/package_xconfig_Embedded.c @@ -0,0 +1,21 @@ +/* + * Do not modify this file; it is automatically + * generated and any modifications will be overwritten. + * + * @(#) xdc-B06 + */ + +#include + +__FAR__ char xconfig_Embedded__dummy__; + +#define __xdc_PKGVERS null +#define __xdc_PKGNAME xconfig_Embedded +#define __xdc_PKGPREFIX xconfig_Embedded_ + +#ifdef __xdc_bld_pkg_c__ +#define __stringify(a) #a +#define __local_include(a) __stringify(a) +#include __local_include(__xdc_bld_pkg_c__) +#endif + diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/rel/xconfig_Embedded.xdc.inc b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/rel/xconfig_Embedded.xdc.inc new file mode 100644 index 000000000..0f839efb2 --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/rel/xconfig_Embedded.xdc.inc @@ -0,0 +1,3 @@ +package/package.bld.xml +package/build.cfg +package/package.xdc.inc diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/rel/xconfig_Embedded.xdc.ninc b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/rel/xconfig_Embedded.xdc.ninc new file mode 100644 index 000000000..e69de29bb diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.ccs b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.ccs new file mode 100644 index 000000000..8eec3a496 Binary files /dev/null and b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.ccs differ diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.class b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.class new file mode 100644 index 000000000..eb25f2af0 Binary files /dev/null and b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.class differ diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.java b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.java new file mode 100644 index 000000000..7699c0f1b --- /dev/null +++ b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.java @@ -0,0 +1,143 @@ +/* + * Do not modify this file; it is automatically + * generated and any modifications will be overwritten. + * + * @(#) xdc-B06 + */ +import java.util.*; +import org.mozilla.javascript.*; +import xdc.services.intern.xsr.*; +import xdc.services.spec.Session; + +public class xconfig_Embedded +{ + static final String VERS = "@(#) xdc-B06\n"; + + static final Proto.Elm $$T_Bool = Proto.Elm.newBool(); + static final Proto.Elm $$T_Num = Proto.Elm.newNum(); + static final Proto.Elm $$T_Str = Proto.Elm.newStr(); + static final Proto.Elm $$T_Obj = Proto.Elm.newObj(); + + static final Proto.Fxn $$T_Met = new Proto.Fxn(null, null, 0, -1, false); + static final Proto.Map $$T_Map = new Proto.Map($$T_Obj); + static final Proto.Arr $$T_Vec = new Proto.Arr($$T_Obj); + + static final XScriptO $$DEFAULT = Value.DEFAULT; + static final Object $$UNDEF = Undefined.instance; + + static final Proto.Obj $$Package = (Proto.Obj)Global.get("$$Package"); + static final Proto.Obj $$Module = (Proto.Obj)Global.get("$$Module"); + static final Proto.Obj $$Instance = (Proto.Obj)Global.get("$$Instance"); + static final Proto.Obj $$Params = (Proto.Obj)Global.get("$$Params"); + + static final Object $$objFldGet = Global.get("$$objFldGet"); + static final Object $$objFldSet = Global.get("$$objFldSet"); + static final Object $$proxyGet = Global.get("$$proxyGet"); + static final Object $$proxySet = Global.get("$$proxySet"); + static final Object $$delegGet = Global.get("$$delegGet"); + static final Object $$delegSet = Global.get("$$delegSet"); + + Scriptable xdcO; + Session ses; + Value.Obj om; + + boolean isROV; + boolean isCFG; + + Proto.Obj pkgP; + Value.Obj pkgV; + + ArrayList imports = new ArrayList(); + ArrayList loggables = new ArrayList(); + ArrayList mcfgs = new ArrayList(); + ArrayList icfgs = new ArrayList(); + ArrayList inherits = new ArrayList(); + ArrayList proxies = new ArrayList(); + ArrayList sizes = new ArrayList(); + ArrayList tdefs = new ArrayList(); + + void $$IMPORTS() + { + Global.callFxn("loadPackage", xdcO, "xdc"); + Global.callFxn("loadPackage", xdcO, "xdc.corevers"); + } + + void $$OBJECTS() + { + pkgP = (Proto.Obj)om.bind("xconfig_Embedded.Package", new Proto.Obj()); + pkgV = (Value.Obj)om.bind("xconfig_Embedded", new Value.Obj("xconfig_Embedded", pkgP)); + } + + void $$SINGLETONS() + { + pkgP.init("xconfig_Embedded.Package", (Proto.Obj)om.findStrict("xdc.IPackage.Module", "xconfig_Embedded")); + Scriptable cap = (Scriptable)Global.callFxn("loadCapsule", xdcO, "xconfig_Embedded/package.xs"); + om.bind("xdc.IPackage$$capsule", cap); + Object fxn; + fxn = Global.get(cap, "init"); + if (fxn != null) pkgP.addFxn("init", (Proto.Fxn)om.findStrict("xdc.IPackage$$init", "xconfig_Embedded"), fxn); + fxn = Global.get(cap, "close"); + if (fxn != null) pkgP.addFxn("close", (Proto.Fxn)om.findStrict("xdc.IPackage$$close", "xconfig_Embedded"), fxn); + fxn = Global.get(cap, "validate"); + if (fxn != null) pkgP.addFxn("validate", (Proto.Fxn)om.findStrict("xdc.IPackage$$validate", "xconfig_Embedded"), fxn); + fxn = Global.get(cap, "exit"); + if (fxn != null) pkgP.addFxn("exit", (Proto.Fxn)om.findStrict("xdc.IPackage$$exit", "xconfig_Embedded"), fxn); + fxn = Global.get(cap, "getLibs"); + if (fxn != null) pkgP.addFxn("getLibs", (Proto.Fxn)om.findStrict("xdc.IPackage$$getLibs", "xconfig_Embedded"), fxn); + fxn = Global.get(cap, "getSects"); + if (fxn != null) pkgP.addFxn("getSects", (Proto.Fxn)om.findStrict("xdc.IPackage$$getSects", "xconfig_Embedded"), fxn); + pkgP.bind("$capsule", cap); + pkgV.init2(pkgP, "xconfig_Embedded", Value.DEFAULT, false); + pkgV.bind("$name", "xconfig_Embedded"); + pkgV.bind("$category", "Package"); + pkgV.bind("$$qn", "xconfig_Embedded."); + pkgV.bind("$vers", Global.newArray()); + Value.Map atmap = (Value.Map)pkgV.getv("$attr"); + atmap.seal("length"); + imports.clear(); + pkgV.bind("$imports", imports); + StringBuilder sb = new StringBuilder(); + sb.append("var pkg = xdc.om['xconfig_Embedded'];\n"); + sb.append("if (pkg.$vers.length >= 3) {\n"); + sb.append("pkg.$vers.push(Packages.xdc.services.global.Vers.getDate(xdc.csd() + '/..'));\n"); + sb.append("}\n"); + sb.append("if ('xconfig_Embedded$$stat$base' in xdc.om) {\n"); + sb.append("pkg.packageBase = xdc.om['xconfig_Embedded$$stat$base'];\n"); + sb.append("pkg.packageRepository = xdc.om['xconfig_Embedded$$stat$root'];\n"); + sb.append("}\n"); + sb.append("pkg.build.libraries = [\n"); + sb.append("];\n"); + sb.append("pkg.build.libDesc = [\n"); + sb.append("];\n"); + Global.eval(sb.toString()); + } + + void $$INITIALIZATION() + { + Value.Obj vo; + + if (isCFG) { + }//isCFG + Global.callFxn("init", pkgV); + ((Value.Arr)om.findStrict("$packages", "xconfig_Embedded")).add(pkgV); + } + + public void exec( Scriptable xdcO, Session ses ) + { + this.xdcO = xdcO; + this.ses = ses; + om = (Value.Obj)xdcO.get("om", null); + + Object o = om.geto("$name"); + String s = o instanceof String ? (String)o : null; + isCFG = s != null && s.equals("cfg"); + isROV = s != null && s.equals("rov"); + + $$IMPORTS(); + $$OBJECTS(); + if (isROV) { + }//isROV + $$SINGLETONS(); + $$INITIALIZATION(); + } +} diff --git a/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.sch b/Software/Embedded_SW/Embedded/.config/xconfig_Embedded/package/xconfig_Embedded.sch new file mode 100644 index 000000000..e69de29bb diff --git a/Software/Embedded_SW/Embedded/DataDef.h b/Software/Embedded_SW/Embedded/DataDef.h index 0cf75637c..bbc2d3c24 100644 --- a/Software/Embedded_SW/Embedded/DataDef.h +++ b/Software/Embedded_SW/Embedded/DataDef.h @@ -130,12 +130,29 @@ enum #define DOUBLE_BUFFER 2 - +/* #define CurrentMotDriver 0x08 #define VoltageMotDriver 0x00 #define CurrentCombinedMotDriver 0x0108 // 01 Combined Driver, 08 Current #define VoltageCombinedMotDriver 0x0100 // 01 Combined Driver, 00 Voltage #define CombinrdMotDriver 0x0300 // 03 Combined Driver + Combined Modes , 00 Voltage mode enabled +*/ + +typedef enum +{ + //Don't change the value! + Current = 0x08, + Voltage = 0x00, +}MOTDRIVER_MODE; + + +typedef enum +{ + CurrentMotDriver, + VoltageMotDriver, + CombinrdMotDriver, +}MOTDRIVER_TYPE; + //#define MagneticLImitSwitch 0x01 diff --git a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c index 26f6d5c56..cfe466d01 100644 --- a/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c +++ b/Software/Embedded_SW/Embedded/Drivers/FPGA/FPGA_SPI_Comm.c @@ -136,24 +136,61 @@ uint8_t FPGA_SPI_Receive(TimerMotors_t _motorId) //---------------- GET ------------------------------ -uint32_t Read_Motors_Driver_Type(TimerMotors_t i) +void Read_Motors_Driver_ADC(TimerMotors_t i) { - uint32_t status = OK; - SysCtlDelay(12000); Fpga_Spi[i].TX_MOSI = (x_GET_PARAM | x_ADC_OUT)<<8; FPGA_SPI_Transnit(i); SysCtlDelay(12000); FPGA_Get_Res(i); MotorDriverResponse[i].ADC = Fpga_Spi[i].RX_MISO; +} + +uint32_t Read_Motors_Driver_Type(TimerMotors_t i) +{ + uint32_t status = OK; + + Read_Motors_Driver_ADC(i); + +/* int nop = 0; + + if((i == 7) || (i==9)) + { + nop ++; + } + +*/ if(MotorDriverResponse[i].ADC < 14) { MotorDriverResponse[i].DriverType = CurrentMotDriver; //(L6472, ADC = 11) + MotorDriverResponse[i].DriverMode = Current; } else + if((MotorDriverResponse[i].ADC >= 14) && (MotorDriverResponse[i].ADC < 20)) { MotorDriverResponse[i].DriverType = VoltageMotDriver; //(L6470, ADC = 17) + MotorDriverResponse[i].DriverMode = Voltage; + } + else + { + //TODO cross between MISO and MOSI in the SPI communication + Read_Motors_Driver_ADC(i); + + if(MotorDriverResponse[i].ADC >= 20) // //(powerSTEP01, ADC = 24) + { + MotorDriverResponse[i].DriverType = CombinrdMotDriver; + + //default for dispensers- Voltage mode, for other motors Current mode + if((i >= HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_1) && (i <= HARDWARE_MOTOR_TYPE__MOTO_DISPENSER_8)) + MotorDriverResponse[i].DriverMode = Voltage; + else + MotorDriverResponse[i].DriverMode = Current; + } + else + { + status = ERROR; + } } /* if(MotorsCfg[_motorId].microstep == 0)//voltage mode @@ -542,8 +579,17 @@ uint32_t FPGA_MotorConfig_callback(TimerMotors_t _motorId, uint32_t ReadValue) // CM_VM = VoltageMotDriver; // } // }*/ - CM_VM = MotorDriverResponse[_motorId].DriverType & 0xFF; +/* + if(MotorDriverResponse[_motorId].DriverType == CombinrdMotDriver) + { + CM_VM = CurrentMotDriver; + } + else + CM_VM = MotorDriverResponse[_motorId].DriverType & 0xFF; + +*/ + CM_VM = MotorDriverResponse[_motorId].DriverMode; temp |= (!x_SYNC_EN | CM_VM | good | x_SYNC_SEL_1)<<16; MillisecWriteToMotor(_motorId, temp, 4, FPGA_MotorConfig_callback); break; @@ -554,7 +600,7 @@ uint32_t FPGA_MotorConfig_callback(TimerMotors_t _motorId, uint32_t ReadValue) if(MotorsCfg[_motorId].configword!=0) { //temp = x_SET_PARAM | x_CONFIG; - if(MotorDriverResponse[_motorId].DriverType == VoltageCombinedMotDriver) + if(MotorDriverResponse[_motorId].DriverType == CombinrdMotDriver) { temp = x_SET_PARAM | x_POWERSTEP01_CONFIG; } @@ -690,18 +736,19 @@ uint32_t FPGA_MotorConfig_callback(TimerMotors_t _motorId, uint32_t ReadValue) } case MOTOR_CONFIG_GATECFG1: ConfigStages[_motorId]++; - if(MotorDriverResponse[_motorId].DriverType == VoltageCombinedMotDriver) + if(MotorDriverResponse[_motorId].DriverType == CombinrdMotDriver) { temp = x_SET_PARAM | x_POWERSTEP01_GATECFG1; temp = temp << 24; //Gate Current of 8mA for 2000 ns (boost: 125 ns) Clock watchdog disabled - temp |= (POWERSTEP01_TCC_2000ns | POWERSTEP01_IGATE_16mA | POWERSTEP01_TBOOST_125ns | POWERSTEP01_WD_EN_DISABLE)<<8; + //temp |= (POWERSTEP01_TCC_2000ns | POWERSTEP01_IGATE_16mA | POWERSTEP01_TBOOST_125ns | POWERSTEP01_WD_EN_DISABLE)<<8; + temp |= (POWERSTEP01_TCC_2000ns | POWERSTEP01_IGATE_8mA | POWERSTEP01_TBOOST_125ns | POWERSTEP01_WD_EN_DISABLE)<<8; if( MillisecWriteToMotor(_motorId, temp, 4, FPGA_MotorConfig_callback) < 0 ) return ERROR; break; } case MOTOR_CONFIG_GATECFG2: ConfigStages[_motorId]++; - if(MotorDriverResponse[_motorId].DriverType == VoltageCombinedMotDriver) + if(MotorDriverResponse[_motorId].DriverType == CombinrdMotDriver) { temp = x_SET_PARAM | x_POWERSTEP01_GATECFG2; temp = temp << 24; @@ -831,7 +878,10 @@ void FPGA_SetMotMicroStep(TimerMotors_t _motorId)// // } // }*/ - CM_VM = MotorDriverResponse[_motorId].DriverType & 0xFF; + //CM_VM = MotorDriverResponse[_motorId].DriverType & 0xFF; + + //The CM_VM bit sets the current control method between voltage and current mode: + CM_VM = MotorDriverResponse[_motorId].DriverMode; temp |= (!x_SYNC_EN | CM_VM | good | x_SYNC_SEL_1)<<16; @@ -938,7 +988,7 @@ void FPGA_SetMotKvalHold(TimerMotors_t _motorId) temp = x_SET_PARAM | x_KVAL_HOLD; temp = temp << 24; - if((MotorDriverResponse[_motorId].DriverType == CurrentMotDriver) && (MotorDriverRequest[_motorId].KvalHold > 0x7F)) + if((MotorDriverResponse[_motorId].DriverMode == Current) && (MotorDriverRequest[_motorId].KvalHold > 0x7F)) MotorDriverRequest[_motorId].KvalHold = 0x7F; temp |= MotorDriverRequest[_motorId].KvalHold<<16; @@ -955,7 +1005,7 @@ void FPGA_SetMotKvalRun(TimerMotors_t _motorId) temp = x_SET_PARAM | x_KVAL_RUN; temp = temp << 24; - if((MotorDriverResponse[_motorId].DriverType == CurrentMotDriver) && (MotorDriverRequest[_motorId].KvalRun > 0x7F)) + if((MotorDriverResponse[_motorId].DriverMode == Current) && (MotorDriverRequest[_motorId].KvalRun > 0x7F)) MotorDriverRequest[_motorId].KvalRun = 0x7F; temp |= MotorDriverRequest[_motorId].KvalRun<<16; @@ -972,7 +1022,7 @@ void FPGA_SetMotKvalAcc(TimerMotors_t _motorId) temp = x_SET_PARAM | x_KVAL_ACC; temp = temp << 24; - if((MotorDriverResponse[_motorId].DriverType == CurrentMotDriver) && (MotorDriverRequest[_motorId].KvalAcc > 0x7F)) + if((MotorDriverResponse[_motorId].DriverMode == Current) && (MotorDriverRequest[_motorId].KvalAcc > 0x7F)) MotorDriverRequest[_motorId].KvalAcc = 0x7F; temp |= MotorDriverRequest[_motorId].KvalAcc<<16; @@ -989,7 +1039,7 @@ void FPGA_SetMotKvalDec(TimerMotors_t _motorId) temp = x_SET_PARAM | x_KVAL_DEC; temp = temp << 24; - if((MotorDriverResponse[_motorId].DriverType == CurrentMotDriver) && (MotorDriverRequest[_motorId].KvalDec > 0x7F)) + if((MotorDriverResponse[_motorId].DriverMode == Current) && (MotorDriverRequest[_motorId].KvalDec > 0x7F)) MotorDriverRequest[_motorId].KvalDec = 0x7F; temp |= MotorDriverRequest[_motorId].KvalDec<<16; diff --git a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c index 5534a710c..6ee02783d 100644 --- a/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c +++ b/Software/Embedded_SW/Embedded/Drivers/I2C_Communication/DAC/Blower.c @@ -54,6 +54,22 @@ uint32_t Write_DAC_and_Input_Register(uint32_t Bits) return status; } +uint32_t Write_DAC_and_Input_Register_temp(uint32_t Bits)//to test enc +{ + uint32_t status = OK; + + DAC.Bytes.Command = AD5691R_CMD_WRITE_INPUT_N_UPDATE_REG; + + + DAC.Bytes.Data_High = (Bits >> 4); + + DAC.Bytes.Data_Low = ((Bits & 0xf)<<4); + + status = I2C_Write(DAC_I2C_BASE, I2C_DAC_ADDRESS, DAC.Write_DAC_I2C_Buf, 3); + + return status; +} + uint32_t Write_Input_Register() { uint32_t status = OK; @@ -219,6 +235,66 @@ uint32_t Cancel_Gradual_Increase_Blower(uint32_t Initial_mV) */ +////////////////////////////////////////////////////////////////////////////////////////// + +#include "drivers/FPGA/FPGA.h"; + +extern SCREW_ENC Screw_RotEnc; + +extern uint32_t Read_Screw_Encoder(); + +void Screw_ENC_Velocity_to_DAC()//every 1mSec +{ + static uint32_t Last_position = 0; + uint32_t Current_Position = 0; + uint32_t Screw_Velocity = 0; + uint32_t Value_to_ADC = 0; + static bool first_time = true; + + int8_t Sign = 1; + + if(first_time) + { + Reset_Screw_Encoder(); + first_time = false; + + } + else + { + Read_Screw_Encoder(); + Current_Position = (uint32_t)Screw_RotEnc.Position; + + if(Current_Position > Last_position ) + { + Screw_Velocity = Current_Position - Last_position; + Sign = 1; + } + else + { + Screw_Velocity = Last_position - Current_Position; + Sign = -1; + } + + + uint32_t temp = (Screw_Velocity << 2 ); + + if(temp > 2047) + temp = 2047; + /*else + if(temp < -2047) + temp = -2047;*/ + + Value_to_ADC = 2048 + (Sign * temp); + + //Send to ADC; + //Write_DAC_and_Input_Register(Value_to_ADC<<4); + Write_DAC_and_Input_Register_temp(Value_to_ADC); + + Last_position = Current_Position; + } +} + + diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c index 106e60316..4488cfd4f 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c +++ b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.c @@ -27,6 +27,7 @@ #include "drivers/FPGA/FPGA_Comm.h" #include "drivers/FPGA/FPGA_GPIO/FPGA_GPIO.h" #include "driverlib/ssi.h" +#include "StateMachines/Printing/PrintingSTM.h" extern unsigned long Run_Value ; extern unsigned long Pos_Value ; @@ -475,3 +476,23 @@ void loop_Run_Read_Speed()//every miliSec } */ + + +void Combined_Motor_Driver_Mode(TimerMotors_t _motorId, MOTDRIVER_MODE New_Mode)// New_mode: Current or Voltage +{ + if(MotorDriverResponse[_motorId].DriverType == CombinrdMotDriver) + { + MotorDriverResponse[_motorId].DriverMode = New_Mode; + //need to do all the configuration acording to the new mode + //The STEP_MODE register includes the CM_VM bit (sets the method between voltage and current mode) + FPGA_SetMotMicroStep(_motorId); + } +} +void Combined_dispenser_Driver_Mode(uint8_t Dispenser_ID, MOTDRIVER_MODE New_Mode)// New_mode: Current or Voltage +{ + assert(Dispenser_ID < MAX_DISPENSER_NUM); + + Combined_Motor_Driver_Mode(Dispenser_ID + 5, New_Mode);//dispenser ID -> motor id +} + + diff --git a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.h b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.h index 894f60c09..c2c124da5 100644 --- a/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.h +++ b/Software/Embedded_SW/Embedded/Drivers/Motors/Motor.h @@ -101,7 +101,8 @@ typedef struct uint32_t Status; uint8_t MicroSteps; uint32_t ADC; //read the Adc in order to know the motor driver type L6470/ L6472 / powerSTEP01 - uint32_t DriverType; //current or voltage mode + MOTDRIVER_TYPE DriverType; //current or voltage mode + MOTDRIVER_MODE DriverMode; //current or voltage mode in powerSTEP01 bool Busy; }MotorDriverResponseStruct; @@ -214,4 +215,7 @@ uint32_t MotorMoveToStopper (TimerMotors_t _motorId,bool direction, uint32_t Spe uint32_t MotorMovetoEncoderPosition (TimerMotors_t MotorId, callback_fptr callback,uint32_t timeout); uint32_t MotorGoTo(TimerMotors_t _motorIdn, uint32_t Steps); + +void Combined_Motor_Driver_Mode(TimerMotors_t _motorId, MOTDRIVER_MODE New_Mode);// New_mode: Current or Voltage +void Combined_dispenser_Driver_Mode(uint8_t Dispenser_ID, MOTDRIVER_MODE New_Mode);// New_mode: Current or Voltage #endif /* DRIVERS_MOTOR_H_ */ diff --git a/Software/Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c b/Software/Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c index 4cfb0704b..2fd26552b 100644 --- a/Software/Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c +++ b/Software/Embedded_SW/Embedded/Drivers/SPI/SPI_Comm.c @@ -1251,7 +1251,14 @@ uint32_t Get_Param(byte param)//OK //while(SSIBusy(SSI2_BASE)){}; // while(Check_SPI_Busy() == BUSY){}; /* Send GetParam operation code to dSPIN */ + + /*if((param == x_CONFIG) && (MotorDriverResponse[_motorId].DriverType == CombinrdMotDriver)) + { + temp = Write_Byte((uint8_t)x_POWERSTEP01_CONFIG | (uint8_t)param); + } + else*/ temp = Write_Byte((uint8_t)x_GET_PARAM | (uint8_t)param); + /* MSB which should be 0 */ rx |= (temp & 0xFF) << 24; switch (param) diff --git a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c index cb1be7fa5..eefac2854 100644 --- a/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c +++ b/Software/Embedded_SW/Embedded/Modules/Control/MillisecTask.c @@ -349,6 +349,9 @@ uint32_t MillisecLoop(uint32_t tick) //gather Motor data from FPGA //ROM_IntMasterDisable(); */ + + + #ifndef EVALUATION_BOARD FPGA_GetBusy(); //load the busy motor information to all motors FPGA_Read_LS_Safty_Ind_Reg(); @@ -501,6 +504,8 @@ uint32_t MillisecLowLoop(uint32_t tick) //gather Motor data from FPGA //ROM_IntMasterDisable(); + //Screw_ENC_Velocity_to_DAC(); - for testing the screw enc + if (Ten_msTick) { //Speed_Data = Calculate_Speed_Sensor_Velocity(); diff --git a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c index 265c751c6..3fb6f3af2 100644 --- a/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c +++ b/Software/Embedded_SW/Embedded/Modules/Thread/Thread_init.c @@ -56,7 +56,7 @@ uint32_t MotorsConfigMessage(HardwareMotor * request) MotorsCfg[Motor_i].pulseperround = request->pulseperround; MotorsCfg[Motor_i].pulleyradius = request->pulleyradius; MotorsCfg[Motor_i].configword = request->configword; - if(MotorDriverResponse[Motor_i].DriverType == VoltageCombinedMotDriver) + if(MotorDriverResponse[Motor_i].DriverType == CombinrdMotDriver) { MotorsCfg[Motor_i].directionthreadwize = !(request->directionthreadwize);//PowerSTEP01 } -- cgit v1.3.1