From: Keith Packard Date: Sun, 15 Jun 2014 23:31:01 +0000 (-0700) Subject: Merge remote-tracking branch 'origin/master' X-Git-Tag: 1.4~4 X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=commitdiff_plain;h=a6c61fb993d3fd15183f8755d9058f05c606c9c0;hp=43848991defaeb7fae994101675b0056f9d9a2ed Merge remote-tracking branch 'origin/master' --- diff --git a/altosui/Makefile-standalone b/altosui/Makefile-standalone index 23163e40..cbaf9743 100644 --- a/altosui/Makefile-standalone +++ b/altosui/Makefile-standalone @@ -181,7 +181,7 @@ $(DARWIN_ZIP): $(DARWIN_FILES) cp $(DARWIN_EXTRA) darwin/AltOS cd darwin && zip -r ../$@ AltosUI.app AltOS -WINDOWS_FILES = $(FAT_FILES) libaltos/altos.dll ../telemetrum.inf $(WINDOWS_ICON) +WINDOWS_FILES = $(FAT_FILES) libaltos/altos.dll ../altusmetrum.inf $(WINDOWS_ICON) $(WINDOWS_EXE): $(WINDOWS_FILES) altos-windows.nsi rm -f $@ diff --git a/altosui/Makefile.am b/altosui/Makefile.am index 0300513e..98a5e193 100644 --- a/altosui/Makefile.am +++ b/altosui/Makefile.am @@ -114,7 +114,10 @@ FIRMWARE_TMEGA=$(FIRMWARE_TMEGA_1_0) FIRMWARE_EMINI_1_0=$(top_srcdir)/src/easymini-v1.0/easymini-v1.0-$(VERSION).ihx FIRMWARE_EMINI=$(FIRMWARE_EMINI_1_0) -FIRMWARE=$(FIRMWARE_TM) $(FIRMWARE_TELEMINI) $(FIRMWARE_TD) $(FIRMWARE_TBT) $(FIRMWARE_TMEGA) $(FIRMWARE_EMINI) +FIRMWARE_TGPS_1_0=$(top_srcdir)/src/telegps-v1.0/telegps-v1.0-$(VERSION).ihx +FIRMWARE_TGPS=$(FIRMWARE_TGPS_1_0) + +FIRMWARE=$(FIRMWARE_TM) $(FIRMWARE_TELEMINI) $(FIRMWARE_TD) $(FIRMWARE_TBT) $(FIRMWARE_TMEGA) $(FIRMWARE_EMINI) $(FIRMWARE_TGPS) ALTUSMETRUM_DOC=$(top_srcdir)/doc/altusmetrum.pdf ALTOS_DOC=$(top_srcdir)/doc/altos.pdf @@ -144,7 +147,7 @@ MACOSX_INFO_PLIST=Info.plist MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(DOC) ReadMe-Mac.rtf $(MACOSX_ICON) MACOSX_EXTRA=$(FIRMWARE) -WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/telemetrum.inf $(WINDOWS_ICON) +WINDOWS_FILES=$(FAT_FILES) $(FIRMWARE) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(top_srcdir)/altusmetrum.cat $(WINDOWS_ICON) all-local: classes/altosui $(JAR) altosui altosui-test altosui-jdb @@ -334,4 +337,4 @@ $(MACOSX_DIST): $(MACOSX_FILES) $(MACOSX_EXTRA) Makefile $(WINDOWS_DIST): $(WINDOWS_FILES) altos-windows.nsi -rm -f $@ - makensis -Oaltos-windows.log "-XOutFile $@" "-DVERSION=$(VERSION)" altos-windows.nsi + makensis -Oaltos-windows.log "-XOutFile $@" "-DVERSION=$(VERSION)" altos-windows.nsi || (cat altos-windows.log && exit 1) diff --git a/altosui/altos-windows.nsi.in b/altosui/altos-windows.nsi.in index 3832e901..b72772e2 100644 --- a/altosui/altos-windows.nsi.in +++ b/altosui/altos-windows.nsi.in @@ -1,8 +1,10 @@ !addplugindir Instdrv/NSIS/Plugins -; Definitions for Java 1.6 Detection -!define JRE_VERSION "1.6" -!define JRE_ALTERNATE "1.7" -!define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=52247&/jre-6u27-windows-i586-p.exe" +!include x64.nsh +; Definitions for Java 1.7 Detection +!define JRE_VERSION "1.7" +!define JRE_ALTERNATE "1.6" +!define JRE32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83383&/jre-7u51-windows-i586.exe" +!define JRE64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83385&/jre-7u51-windows-x64.exe" !define PRODUCT_NAME "Altus Metrum Windows Software" Name "Altus Metrum Installer" @@ -23,12 +25,34 @@ ShowInstDetails Show ComponentText "Altus Metrum Software and Driver Installer" +Function .onInit + DetailPrint "Checking host operating system" + ${If} ${RunningX64} + DetailPrint "Installer running on 64-bit host" + SetRegView 64 + StrCpy $INSTDIR "$PROGRAMFILES64\AltusMetrum" + ${DisableX64FSRedirection} + ${EndIf} +FunctionEnd + +Var JavaDownload +Var JavaBits + Function GetJRE - MessageBox MB_OK "${PRODUCT_NAME} uses Java ${JRE_VERSION} 32-bit, it will now \ - be downloaded and installed" + ${If} ${RunningX64} + StrCpy $JavaDownload ${JRE64_URL} + StrCpy $JavaBits "64" + ${Else} + StrCpy $JavaDownload ${JRE32_URL} + StrCpy $JavaBits "32" + ${EndIf} + + MessageBox MB_OK "${PRODUCT_NAME} uses Java ${JRE_VERSION}, \ + $JavaBits bits, it will now \ + be downloaded and installed" StrCpy $2 "$TEMP\Java Runtime Environment.exe" - nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2 + nsisdl::download /TIMEOUT=30000 $JavaDownload $2 Pop $R0 ;Get the return value StrCmp $R0 "success" +3 MessageBox MB_OK "Download failed: $R0" @@ -37,10 +61,10 @@ Function GetJRE Delete $2 FunctionEnd - Function DetectJRE ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ "CurrentVersion" + StrCmp $2 ${JRE_VERSION} done StrCmp $2 ${JRE_ALTERNATE} done @@ -70,15 +94,18 @@ Section "Install Driver" InstDriver InstDrv::DeleteOemInfFiles /NOUNLOAD InstDrv::CreateDevice /NOUNLOAD - SetOutPath $TEMP - File "../telemetrum.inf" - InstDrv::InstallDriver /NOUNLOAD "$TEMP\telemetrum.inf" - SetOutPath $INSTDIR - File "../telemetrum.inf" - - SetOutPath $WINDIR\Inf - File "../telemetrum.inf" + File "../altusmetrum.inf" + File "../altusmetrum.cat" + + ${DisableX64FSRedirection} + IfFileExists $WINDIR\System32\PnPutil.exe 0 nopnp + ${DisableX64FSRedirection} + nsExec::ExecToLog '"$WINDIR\System32\PnPutil.exe" -i -a "$INSTDIR\altusmetrum.inf"' + Goto done +nopnp: + InstDrv::InstallDriver /NOUNLOAD "$INSTDIR\altusmetrum.inf" +done: SectionEnd @@ -119,6 +146,7 @@ Section "TeleMetrum, TeleDongle and TeleBT Firmware" File "../src/telemetrum-v1.1/telemetrum-v1.1-${VERSION}.ihx" File "../src/telemetrum-v1.2/telemetrum-v1.2-${VERSION}.ihx" File "../src/telemini-v1.0/telemini-v1.0-${VERSION}.ihx" + File "../src/telegps-v1.0/telegps-v1.0-${VERSION}.ihx" File "../src/teledongle-v0.2/teledongle-v0.2-${VERSION}.ihx" File "../src/telebt-v1.0/telebt-v1.0-${VERSION}.ihx" File "../src/telemega-v1.0/telemega-v1.0-${VERSION}.ihx" @@ -164,9 +192,6 @@ Section "Uninstall" Delete "$INSTDIR\*.*" RMDir "$INSTDIR" - ; Remove .inf file - Delete "$WINDIR\Inf\telemetrum.inf" - ; Remove devices InstDrv::InitDriverSetup /NOUNLOAD {4D36E96D-E325-11CE-BFC1-08002BE10318} AltusMetrumSerial InstDrv::DeleteOemInfFiles /NOUNLOAD diff --git a/altusmetrum.cat b/altusmetrum.cat new file mode 100644 index 00000000..2d7e8b26 Binary files /dev/null and b/altusmetrum.cat differ diff --git a/altusmetrum.inf b/altusmetrum.inf new file mode 100755 index 00000000..45905cc8 --- /dev/null +++ b/altusmetrum.inf @@ -0,0 +1,170 @@ +; Copyright (C) 2010 Keith Packard (keithp@keithp.com) +; released under GNU General Public License version 2 + +[Version] +Signature = "$Windows NT$" +Class = Modem +ClassGUID = {4D36E96D-E325-11CE-BFC1-08002BE10318} +Provider = %Mfg% +DriverVer = 06/15/2014,7.1.1.0 +PnpLockDown = 0 +DriverPackageDisplayName = %DriverName% +CatalogFile = altusmetrum.cat + +[DestinationDirs] +FakeModemCopyFileSection = 12 +DefaultDestDir = 12 + +[ControlFlags] + +[Manufacturer] +%Mfg% = Models, NTx86, NTamd64, NTia64 + +[Models] +%AltusMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000A, AltusMetrumSerial +%TeleMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000B, AltusMetrumSerial +%TeleDongle% = AltusMetrum.Install, USB\VID_FFFE&PID_000C, AltusMetrumSerial +%TeleTerra% = AltusMetrum.Install, USB\VID_FFFE&PID_000D, AltusMetrumSerial +%TeleBT% = AltusMetrum.Install, USB\VID_FFFE&PID_000e, AltusMetrumSerial +%TeleLaunch% = AltusMetrum.Install, USB\VID_FFFE&PID_000f, AltusMetrumSerial +%TeleLCO% = AltusMetrum.Install, USB\VID_FFFE&PID_0010, AltusMetrumSerial +%TeleScience% = AltusMetrum.Install, USB\VID_FFFE&PID_0011, AltusMetrumSerial +%TelePyro% = AltusMetrum.Install, USB\VID_FFFE&PID_0012, AltusMetrumSerial +%TeleShield% = AltusMetrum.Install, USB\VID_FFFE&PID_0013, AltusMetrumSerial +%TeleMega% = AltusMetrum.Install, USB\VID_FFFE&PID_0023, AltusMetrumSerial +%MegaDongle = AltusMetrum.Install, USB\VID_FFFE&PID_0024, AltusMetrumSerial +%TeleGPS% = AltusMetrum.Install, USB\VID_FFFE&PID_0025, AltusMetrumSerial +%EasyMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0026, AltusMetrumSerial +%TeleMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0027, AltusMetrumSerial +%AltusMetrum28% = AltusMetrum.Install, USB\VID_FFFE&PID_0028, AltusMetrumSerial +%AltusMetrum29% = AltusMetrum.Install, USB\VID_FFFE&PID_0029, AltusMetrumSerial +%AltusMetrum2a% = AltusMetrum.Install, USB\VID_FFFE&PID_002a, AltusMetrumSerial +%AltusMetrum2b% = AltusMetrum.Install, USB\VID_FFFE&PID_002b, AltusMetrumSerial +%AltusMetrum2c% = AltusMetrum.Install, USB\VID_FFFE&PID_002c, AltusMetrumSerial + +[Models.NTx86] +%AltusMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000A, AltusMetrumSerial +%TeleMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000B, AltusMetrumSerial +%TeleDongle% = AltusMetrum.Install, USB\VID_FFFE&PID_000C, AltusMetrumSerial +%TeleTerra% = AltusMetrum.Install, USB\VID_FFFE&PID_000D, AltusMetrumSerial +%TeleBT% = AltusMetrum.Install, USB\VID_FFFE&PID_000e, AltusMetrumSerial +%TeleLaunch% = AltusMetrum.Install, USB\VID_FFFE&PID_000f, AltusMetrumSerial +%TeleLCO% = AltusMetrum.Install, USB\VID_FFFE&PID_0010, AltusMetrumSerial +%TeleScience% = AltusMetrum.Install, USB\VID_FFFE&PID_0011, AltusMetrumSerial +%TelePyro% = AltusMetrum.Install, USB\VID_FFFE&PID_0012, AltusMetrumSerial +%TeleShield% = AltusMetrum.Install, USB\VID_FFFE&PID_0013, AltusMetrumSerial +%TeleMega% = AltusMetrum.Install, USB\VID_FFFE&PID_0023, AltusMetrumSerial +%MegaDongle = AltusMetrum.Install, USB\VID_FFFE&PID_0024, AltusMetrumSerial +%TeleGPS% = AltusMetrum.Install, USB\VID_FFFE&PID_0025, AltusMetrumSerial +%EasyMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0026, AltusMetrumSerial +%TeleMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0027, AltusMetrumSerial +%AltusMetrum28% = AltusMetrum.Install, USB\VID_FFFE&PID_0028, AltusMetrumSerial +%AltusMetrum29% = AltusMetrum.Install, USB\VID_FFFE&PID_0029, AltusMetrumSerial +%AltusMetrum2a% = AltusMetrum.Install, USB\VID_FFFE&PID_002a, AltusMetrumSerial +%AltusMetrum2b% = AltusMetrum.Install, USB\VID_FFFE&PID_002b, AltusMetrumSerial +%AltusMetrum2c% = AltusMetrum.Install, USB\VID_FFFE&PID_002c, AltusMetrumSerial + +[Models.NTamd64] +%AltusMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000A, AltusMetrumSerial +%TeleMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000B, AltusMetrumSerial +%TeleDongle% = AltusMetrum.Install, USB\VID_FFFE&PID_000C, AltusMetrumSerial +%TeleTerra% = AltusMetrum.Install, USB\VID_FFFE&PID_000D, AltusMetrumSerial +%TeleBT% = AltusMetrum.Install, USB\VID_FFFE&PID_000e, AltusMetrumSerial +%TeleLaunch% = AltusMetrum.Install, USB\VID_FFFE&PID_000f, AltusMetrumSerial +%TeleLCO% = AltusMetrum.Install, USB\VID_FFFE&PID_0010, AltusMetrumSerial +%TeleScience% = AltusMetrum.Install, USB\VID_FFFE&PID_0011, AltusMetrumSerial +%TelePyro% = AltusMetrum.Install, USB\VID_FFFE&PID_0012, AltusMetrumSerial +%TeleShield% = AltusMetrum.Install, USB\VID_FFFE&PID_0013, AltusMetrumSerial +%TeleMega% = AltusMetrum.Install, USB\VID_FFFE&PID_0023, AltusMetrumSerial +%MegaDongle = AltusMetrum.Install, USB\VID_FFFE&PID_0024, AltusMetrumSerial +%TeleGPS% = AltusMetrum.Install, USB\VID_FFFE&PID_0025, AltusMetrumSerial +%EasyMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0026, AltusMetrumSerial +%TeleMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0027, AltusMetrumSerial +%AltusMetrum28% = AltusMetrum.Install, USB\VID_FFFE&PID_0028, AltusMetrumSerial +%AltusMetrum29% = AltusMetrum.Install, USB\VID_FFFE&PID_0029, AltusMetrumSerial +%AltusMetrum2a% = AltusMetrum.Install, USB\VID_FFFE&PID_002a, AltusMetrumSerial +%AltusMetrum2b% = AltusMetrum.Install, USB\VID_FFFE&PID_002b, AltusMetrumSerial +%AltusMetrum2c% = AltusMetrum.Install, USB\VID_FFFE&PID_002c, AltusMetrumSerial + +[Models.NTia64] +%AltusMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000A, AltusMetrumSerial +%TeleMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000B, AltusMetrumSerial +%TeleDongle% = AltusMetrum.Install, USB\VID_FFFE&PID_000C, AltusMetrumSerial +%TeleTerra% = AltusMetrum.Install, USB\VID_FFFE&PID_000D, AltusMetrumSerial +%TeleBT% = AltusMetrum.Install, USB\VID_FFFE&PID_000e, AltusMetrumSerial +%TeleLaunch% = AltusMetrum.Install, USB\VID_FFFE&PID_000f, AltusMetrumSerial +%TeleLCO% = AltusMetrum.Install, USB\VID_FFFE&PID_0010, AltusMetrumSerial +%TeleScience% = AltusMetrum.Install, USB\VID_FFFE&PID_0011, AltusMetrumSerial +%TelePyro% = AltusMetrum.Install, USB\VID_FFFE&PID_0012, AltusMetrumSerial +%TeleShield% = AltusMetrum.Install, USB\VID_FFFE&PID_0013, AltusMetrumSerial +%TeleMega% = AltusMetrum.Install, USB\VID_FFFE&PID_0023, AltusMetrumSerial +%MegaDongle = AltusMetrum.Install, USB\VID_FFFE&PID_0024, AltusMetrumSerial +%TeleGPS% = AltusMetrum.Install, USB\VID_FFFE&PID_0025, AltusMetrumSerial +%EasyMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0026, AltusMetrumSerial +%TeleMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0027, AltusMetrumSerial +%AltusMetrum28% = AltusMetrum.Install, USB\VID_FFFE&PID_0028, AltusMetrumSerial +%AltusMetrum29% = AltusMetrum.Install, USB\VID_FFFE&PID_0029, AltusMetrumSerial +%AltusMetrum2a% = AltusMetrum.Install, USB\VID_FFFE&PID_002a, AltusMetrumSerial +%AltusMetrum2b% = AltusMetrum.Install, USB\VID_FFFE&PID_002b, AltusMetrumSerial +%AltusMetrum2c% = AltusMetrum.Install, USB\VID_FFFE&PID_002c, AltusMetrumSerial + +;---------------------------------------------------------------------------- +; Installation sections +;---------------------------------------------------------------------------- + +[AltusMetrum.Install.NT] +include = mdmcpq.inf +CopyFiles = FakeModemCopyFileSection +AddReg = All.AddReg, Modem.AddReg, Uninstall.AddReg + +[AltusMetrum.Install.NT.Services] +include = mdmcpq.inf +AddService = usbser, 0x00000000, LowerFilter_Service_Inst + +[AltusMetrum.Install.NT.HW] +include = mdmcpq.inf +AddReg = LowerFilterAddReg + +;---------------------------------------------------------------------------- +; AddReg sections +;---------------------------------------------------------------------------- + +[All.AddReg] +HKR,,FriendlyDriver,, Unimodem.vxd +HKR,,DevLoader,, *vcomm +HKR,,ConfigDialog,, modemui.dll +HKR,,EnumPropPages,, "modemui.dll,EnumPropPages" +HKR,,PortSubClass, 1, 02 +HKR,,DeviceType, 1, 01 + +[Modem.AddReg] +HKR,, Properties, 1, C0,01,00,00, 00,00,00,00, FF,00,00,00, 07,00,00,00, 0F,00,00,00, F7,0F,00,00, 00,84,03,00, C0,DA,00,00 + +[Uninstall.AddReg] +HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\%AltusMetrum%,DisplayName,,"%AltusMetrum%" + +[Strings] +Mfg = "altusmetrum.org" +AltusMetrum = "AltusMetrum" +TeleMetrum = "TeleMetrum" +TeleDongle = "TeleDongle" +TeleTerra = "TeleTerra" +TeleBT = "TeleBT" +TeleLaunch = "TeleLaunch" +TeleLCO = "TeleLCO" +TeleScience = "TeleScience" +TelePyro = "TelePyro" +TeleShield = "TeleShield" +TeleMega = "TeleMega" +MegaDongle = "MegaDongle" +TeleGPS = "TeleGPS" +EasyMini = "EasyMini" +TeleMini = "TeleMini" +AltusMetrum28 = "AltusMetrum28" +AltusMetrum29 = "AltusMetrum29" +AltusMetrum2a = "AltusMetrum2a" +AltusMetrum2b = "AltusMetrum2b" +AltusMetrum2c = "AltusMetrum2c" + +DriverName = "Altus Metrum Device Driver" + diff --git a/icon/Makefile.am b/icon/Makefile.am index 92b5a6e8..b1c00f4b 100644 --- a/icon/Makefile.am +++ b/icon/Makefile.am @@ -38,18 +38,18 @@ clean-local: $(AM_FILES): altusmetrum.build -altusmetrum.build: altusmetrum.svg make-png - for i in $(RES); do ./make-png altusmetrum.svg $$i altus-metrum-$$i.png; done && touch $@ +altusmetrum.build: altusmetrum.svg + for i in $(RES); do rsvg-convert -w $$i -h $$i -o altus-metrum-$$i.png altusmetrum.svg; done && touch $@ $(TG_FILES): telegps.build -telegps.build: telegps.svg make-png - for i in $(RES); do ./make-png telegps.svg $$i telegps-$$i.png; done && touch $@ +telegps.build: telegps.svg + for i in $(RES); do rsvg-convert -w $$i -h $$i -o telegps-$$i.png telegps.svg; done && touch $@ $(MP_FILES): micropeak.build -micropeak.build: micropeak.svg make-png - for i in $(RES); do ./make-png micropeak.svg $$i micropeak-$$i.png; done && touch $@ +micropeak.build: micropeak.svg + for i in $(RES); do rsvg-convert -w $$i -h $$i -o micropeak-$$i.png micropeak.svg; done && touch $@ #clean-local: # $(RM) -f $(ICO_FILES) diff --git a/icon/altusmetrum.svg b/icon/altusmetrum.svg index 256b8c5a..e8935a65 100644 --- a/icon/altusmetrum.svg +++ b/icon/altusmetrum.svg @@ -11,12 +11,12 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" id="svg2" - width="191.28" - height="245.28" + width="214.27165" + height="266.00192" version="1.0" sodipodi:version="0.32" inkscape:version="0.48.4 r9939" - sodipodi:docname="altusmetrum-only.svg" + sodipodi:docname="altusmetrum.svg" inkscape:output_extension="org.inkscape.output.svg.inkscape" inkscape:export-filename="/home/keithp/src/cc1111/altus-logo/bottom.png" inkscape:export-xdpi="119.89881" @@ -29,7 +29,7 @@ image/svg+xml - + @@ -171,13 +171,44 @@ fx="951.68713" fy="1205.2668" r="951.68701" /> + + + + + + + + inkscape:window-maximized="0" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="20" + fit-margin-bottom="20" /> + style="fill:url(#radialGradient3175);fill-opacity:1;stroke:url(#radialGradient3171);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;filter:url(#filter3005)"> " 1>&2 - exit 1 - ;; -esac - -SVG=$1 -SIZE=$2 -PNG=$3 - -SHADOW=$(($SIZE / 16)) - -OPACITY=60 -BLUR=$(($SHADOW / 2)) - -if [ $BLUR = 0 ]; then - BLUR=1 -fi - -SHIFT=$(($SHADOW * 3 / 4)) - -IMAGE=$(($SIZE - $SHIFT - $BLUR)) - -TMP=image-$$.png - -trap "rm $TMP" 0 1 15 - -rsvg-convert -w $IMAGE -h $IMAGE -o $TMP $SVG - -convert $TMP \ - \( +clone -background black -shadow ${OPACITY}x${BLUR}+${SHIFT}+${SHIFT} \) \ - +swap -background none -layers merge -crop ${SIZE}x${SIZE}+0+0 +repage $PNG diff --git a/icon/micropeak.svg b/icon/micropeak.svg index e6fbe120..d37130f5 100644 --- a/icon/micropeak.svg +++ b/icon/micropeak.svg @@ -10,12 +10,12 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="45.831875" - height="39.638676" + width="49.03825" + height="43.606411" id="svg2" version="1.1" - inkscape:version="0.48.3.1 r9886" - sodipodi:docname="micropeak-logoonly.svg"> + inkscape:version="0.48.4 r9939" + sodipodi:docname="micropeak.svg"> + + + + + + + @@ -147,38 +178,42 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-241.93841,-252.5146)"> + transform="translate(-241.43522,-252.43073)"> + id="g3000" + style="filter:url(#filter3027)"> + + + + sodipodi:nodetypes="cssc" + inkscape:connector-curvature="0" + id="path2991" + d="m 256.93561,290.70327 c 3.04022,-0.24413 4.30317,-2.66932 5.38268,-5.56604 1.68059,-4.50963 3.67214,-15.86904 8.62227,-20.55527 4.0668,-3.85 8.22354,-3.46656 8.22354,-3.46656" + style="fill:none;stroke:url(#linearGradient5349);stroke-width:2.9000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:none" /> + - - diff --git a/icon/telegps.svg b/icon/telegps.svg index a14267bc..1e390f3b 100644 --- a/icon/telegps.svg +++ b/icon/telegps.svg @@ -10,8 +10,8 @@ xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - width="141.19534" - height="135.41844" + width="151.43401" + height="144.50209" id="svg2" version="1.1" inkscape:version="0.48.4 r9939" @@ -243,6 +243,37 @@ r="70.597672" gradientTransform="matrix(1,0,0,0.95908583,137.14286,74.776711)" gradientUnits="userSpaceOnUse" /> + + + + + + + + fit-margin-top="-12" + fit-margin-left="-12" + fit-margin-right="-6" + fit-margin-bottom="-6" + inkscape:window-width="996" + inkscape:window-height="970" + inkscape:window-x="930" + inkscape:window-y="553" + inkscape:window-maximized="0" /> @@ -282,9 +313,9 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1" - transform="translate(-261.09094,-353.45446)"> + transform="translate(-258.97144,-351.91262)"> contains the altusmetrum.inf file we ship. Make sure +# is otherwise empty or inf2cat will get confused + +inf2cat /driver: /os:7_X86,7_X64,8_X86,8_X64 + +signtool sign /s AltusMetrumCertStore /n “AltusMetrum" + /t http://timestamp.verisign.com/scripts/timestamp.dll + altusmetrum.cat + +pnputil -i -a altusmetrum.inf diff --git a/telegps/Makefile.am b/telegps/Makefile.am index 5812756f..7b550e9e 100644 --- a/telegps/Makefile.am +++ b/telegps/Makefile.am @@ -128,7 +128,7 @@ MACOSX_README=ReadMe-Mac.rtf MACOSX_FILES=$(FAT_FILES) libaltos.dylib $(MACOSX_INFO_PLIST) $(MACOSX_README) $(DOC) $(MACOSX_ICON) MACOSX_EXTRA=$(FIRMWARE) -WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/telemetrum.inf $(DOC) $(WINDOWS_ICON) +WINDOWS_FILES=$(FAT_FILES) altos.dll altos64.dll $(top_srcdir)/altusmetrum.inf $(top_srcdir)/altusmetrum.cat $(DOC) $(WINDOWS_ICON) if FATINSTALL diff --git a/telegps/telegps-windows.nsi.in b/telegps/telegps-windows.nsi.in index 92b50974..e6798c46 100644 --- a/telegps/telegps-windows.nsi.in +++ b/telegps/telegps-windows.nsi.in @@ -1,11 +1,13 @@ !addplugindir ../altosui/Instdrv/NSIS/Plugins -; Definitions for Java 1.6 Detection -!define JRE_VERSION "1.6" -!define JRE_ALTERNATE "1.7" -!define JRE_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=52247&/jre-6u27-windows-i586-p.exe" -!define PRODUCT_NAME "Altus Metrum Windows Software" +!include x64.nsh +; Definitions for Java 1.7 Detection +!define JRE_VERSION "1.7" +!define JRE_ALTERNATE "1.6" +!define JRE32_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83383&/jre-7u51-windows-i586.exe" +!define JRE64_URL "http://javadl.sun.com/webapps/download/AutoDL?BundleId=83385&/jre-7u51-windows-x64.exe" +!define PRODUCT_NAME "TeleGPS Windows Software" -Name "Altus Metrum TeleGPS Installer" +Name "TeleGPS Installer" ; Default install directory InstallDir "$PROGRAMFILES\AltusMetrum" @@ -21,14 +23,36 @@ RequestExecutionLevel admin ShowInstDetails Show -ComponentText "Altus Metrum TeleGPS Software Installer" +ComponentText "TeleGPS Software Installer" + +Function .onInit + DetailPrint "Checking host operating system" + ${If} ${RunningX64} + DetailPrint "Installer running on 64-bit host" + SetRegView 64 + StrCpy $INSTDIR "$PROGRAMFILES64\AltusMetrum" + ${DisableX64FSRedirection} + ${EndIf} +FunctionEnd + +Var JavaDownload +Var JavaBits Function GetJRE - MessageBox MB_OK "${PRODUCT_NAME} uses Java ${JRE_VERSION} 32-bit, it will now \ - be downloaded and installed" + ${If} ${RunningX64} + StrCpy $JavaDownload ${JRE64_URL} + StrCpy $JavaBits "64" + ${Else} + StrCpy $JavaDownload ${JRE32_URL} + StrCpy $JavaBits "32" + ${EndIf} + + MessageBox MB_OK "${PRODUCT_NAME} uses Java ${JRE_VERSION}, \ + $JavaBits bits, it will now \ + be downloaded and installed" StrCpy $2 "$TEMP\Java Runtime Environment.exe" - nsisdl::download /TIMEOUT=30000 ${JRE_URL} $2 + nsisdl::download /TIMEOUT=30000 $JavaDownload $2 Pop $R0 ;Get the return value StrCmp $R0 "success" +3 MessageBox MB_OK "Download failed: $R0" @@ -37,10 +61,10 @@ Function GetJRE Delete $2 FunctionEnd - Function DetectJRE ReadRegStr $2 HKLM "SOFTWARE\JavaSoft\Java Runtime Environment" \ "CurrentVersion" + StrCmp $2 ${JRE_VERSION} done StrCmp $2 ${JRE_ALTERNATE} done @@ -70,15 +94,18 @@ Section "Install Driver" InstDriver InstDrv::DeleteOemInfFiles /NOUNLOAD InstDrv::CreateDevice /NOUNLOAD - SetOutPath $TEMP - File "../telemetrum.inf" - InstDrv::InstallDriver /NOUNLOAD "$TEMP\telemetrum.inf" - SetOutPath $INSTDIR - File "../telemetrum.inf" - - SetOutPath $WINDIR\Inf - File "../telemetrum.inf" + File "../altusmetrum.inf" + File "../altusmetrum.cat" + + ${DisableX64FSRedirection} + IfFileExists $WINDIR\System32\PnPutil.exe 0 nopnp + ${DisableX64FSRedirection} + nsExec::ExecToLog '"$WINDIR\System32\PnPutil.exe" -i -a "$INSTDIR\altusmetrum.inf"' + Goto done +nopnp: + InstDrv::InstallDriver /NOUNLOAD "$INSTDIR\altusmetrum.inf" +done: SectionEnd @@ -111,13 +138,14 @@ Section "TeleGPS Desktop Shortcut" CreateShortCut "$DESKTOP\TeleGPS.lnk" "$INSTDIR\telegps-fat.jar" "" "$INSTDIR\telegps.ico" SectionEnd -Section "TeleGPS Firmware" +Section "TeleGPS, TeleDongle and TeleBT Firmware" SetOutPath $INSTDIR File "../src/telegps-v1.0/telegps-v1.0-${VERSION}.ihx" File "../src/teledongle-v0.2/teledongle-v0.2-${VERSION}.ihx" File "../src/telebt-v1.0/telebt-v1.0-${VERSION}.ihx" + SectionEnd Section "Documentation" @@ -154,6 +182,11 @@ Section "Uninstall" Delete "$INSTDIR\*.*" RMDir "$INSTDIR" + ; Remove devices + InstDrv::InitDriverSetup /NOUNLOAD {4D36E96D-E325-11CE-BFC1-08002BE10318} AltusMetrumSerial + InstDrv::DeleteOemInfFiles /NOUNLOAD + InstDrv::RemoveAllDevices + ; Remove shortcuts, if any Delete "$SMPROGRAMS\TeleGPS.lnk" Delete "$DESKTOP\TeleGPS.lnk" diff --git a/telemetrum.inf b/telemetrum.inf deleted file mode 100755 index 220069b3..00000000 --- a/telemetrum.inf +++ /dev/null @@ -1,169 +0,0 @@ -; Copyright (C) 2010 Keith Packard (keithp@keithp.com) -; released under GNU General Public License version 2 - -[Version] -Signature = "$Windows NT$" -Class = Modem -ClassGUID = {4D36E96D-E325-11CE-BFC1-08002BE10318} -Provider = %Mfg% -DriverVer = 08/05/2010,7.1.1.0 -PnpLockDown = 0 -DriverPackageDisplayName = %DriverName% - -[DestinationDirs] -FakeModemCopyFileSection = 12 -DefaultDestDir = 12 - -[ControlFlags] - -[Manufacturer] -%Mfg% = Models, NTx86, NTamd64, NTia64 - -[Models] -%AltusMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000A, AltusMetrumSerial -%TeleMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000B, AltusMetrumSerial -%TeleDongle% = AltusMetrum.Install, USB\VID_FFFE&PID_000C, AltusMetrumSerial -%TeleTerra% = AltusMetrum.Install, USB\VID_FFFE&PID_000D, AltusMetrumSerial -%TeleBT% = AltusMetrum.Install, USB\VID_FFFE&PID_000e, AltusMetrumSerial -%TeleLaunch% = AltusMetrum.Install, USB\VID_FFFE&PID_000f, AltusMetrumSerial -%TeleLCO% = AltusMetrum.Install, USB\VID_FFFE&PID_0010, AltusMetrumSerial -%TeleScience% = AltusMetrum.Install, USB\VID_FFFE&PID_0011, AltusMetrumSerial -%TelePyro% = AltusMetrum.Install, USB\VID_FFFE&PID_0012, AltusMetrumSerial -%TeleShield% = AltusMetrum.Install, USB\VID_FFFE&PID_0013, AltusMetrumSerial -%TeleMega% = AltusMetrum.Install, USB\VID_FFFE&PID_0023, AltusMetrumSerial -%MegaDongle = AltusMetrum.Install, USB\VID_FFFE&PID_0024, AltusMetrumSerial -%TeleGPS% = AltusMetrum.Install, USB\VID_FFFE&PID_0025, AltusMetrumSerial -%EasyMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0026, AltusMetrumSerial -%TeleMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0027, AltusMetrumSerial -%AltusMetrum28% = AltusMetrum.Install, USB\VID_FFFE&PID_0028, AltusMetrumSerial -%AltusMetrum29% = AltusMetrum.Install, USB\VID_FFFE&PID_0029, AltusMetrumSerial -%AltusMetrum2a% = AltusMetrum.Install, USB\VID_FFFE&PID_002a, AltusMetrumSerial -%AltusMetrum2b% = AltusMetrum.Install, USB\VID_FFFE&PID_002b, AltusMetrumSerial -%AltusMetrum2c% = AltusMetrum.Install, USB\VID_FFFE&PID_002c, AltusMetrumSerial - -[Models.NTx86] -%AltusMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000A, AltusMetrumSerial -%TeleMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000B, AltusMetrumSerial -%TeleDongle% = AltusMetrum.Install, USB\VID_FFFE&PID_000C, AltusMetrumSerial -%TeleTerra% = AltusMetrum.Install, USB\VID_FFFE&PID_000D, AltusMetrumSerial -%TeleBT% = AltusMetrum.Install, USB\VID_FFFE&PID_000e, AltusMetrumSerial -%TeleLaunch% = AltusMetrum.Install, USB\VID_FFFE&PID_000f, AltusMetrumSerial -%TeleLCO% = AltusMetrum.Install, USB\VID_FFFE&PID_0010, AltusMetrumSerial -%TeleScience% = AltusMetrum.Install, USB\VID_FFFE&PID_0011, AltusMetrumSerial -%TelePyro% = AltusMetrum.Install, USB\VID_FFFE&PID_0012, AltusMetrumSerial -%TeleShield% = AltusMetrum.Install, USB\VID_FFFE&PID_0013, AltusMetrumSerial -%TeleMega% = AltusMetrum.Install, USB\VID_FFFE&PID_0023, AltusMetrumSerial -%MegaDongle = AltusMetrum.Install, USB\VID_FFFE&PID_0024, AltusMetrumSerial -%TeleGPS% = AltusMetrum.Install, USB\VID_FFFE&PID_0025, AltusMetrumSerial -%EasyMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0026, AltusMetrumSerial -%TeleMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0027, AltusMetrumSerial -%AltusMetrum28% = AltusMetrum.Install, USB\VID_FFFE&PID_0028, AltusMetrumSerial -%AltusMetrum29% = AltusMetrum.Install, USB\VID_FFFE&PID_0029, AltusMetrumSerial -%AltusMetrum2a% = AltusMetrum.Install, USB\VID_FFFE&PID_002a, AltusMetrumSerial -%AltusMetrum2b% = AltusMetrum.Install, USB\VID_FFFE&PID_002b, AltusMetrumSerial -%AltusMetrum2c% = AltusMetrum.Install, USB\VID_FFFE&PID_002c, AltusMetrumSerial - -[Models.NTamd64] -%AltusMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000A, AltusMetrumSerial -%TeleMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000B, AltusMetrumSerial -%TeleDongle% = AltusMetrum.Install, USB\VID_FFFE&PID_000C, AltusMetrumSerial -%TeleTerra% = AltusMetrum.Install, USB\VID_FFFE&PID_000D, AltusMetrumSerial -%TeleBT% = AltusMetrum.Install, USB\VID_FFFE&PID_000e, AltusMetrumSerial -%TeleLaunch% = AltusMetrum.Install, USB\VID_FFFE&PID_000f, AltusMetrumSerial -%TeleLCO% = AltusMetrum.Install, USB\VID_FFFE&PID_0010, AltusMetrumSerial -%TeleScience% = AltusMetrum.Install, USB\VID_FFFE&PID_0011, AltusMetrumSerial -%TelePyro% = AltusMetrum.Install, USB\VID_FFFE&PID_0012, AltusMetrumSerial -%TeleShield% = AltusMetrum.Install, USB\VID_FFFE&PID_0013, AltusMetrumSerial -%TeleMega% = AltusMetrum.Install, USB\VID_FFFE&PID_0023, AltusMetrumSerial -%MegaDongle = AltusMetrum.Install, USB\VID_FFFE&PID_0024, AltusMetrumSerial -%TeleGPS% = AltusMetrum.Install, USB\VID_FFFE&PID_0025, AltusMetrumSerial -%EasyMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0026, AltusMetrumSerial -%TeleMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0027, AltusMetrumSerial -%AltusMetrum28% = AltusMetrum.Install, USB\VID_FFFE&PID_0028, AltusMetrumSerial -%AltusMetrum29% = AltusMetrum.Install, USB\VID_FFFE&PID_0029, AltusMetrumSerial -%AltusMetrum2a% = AltusMetrum.Install, USB\VID_FFFE&PID_002a, AltusMetrumSerial -%AltusMetrum2b% = AltusMetrum.Install, USB\VID_FFFE&PID_002b, AltusMetrumSerial -%AltusMetrum2c% = AltusMetrum.Install, USB\VID_FFFE&PID_002c, AltusMetrumSerial - -[Models.NTia64] -%AltusMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000A, AltusMetrumSerial -%TeleMetrum% = AltusMetrum.Install, USB\VID_FFFE&PID_000B, AltusMetrumSerial -%TeleDongle% = AltusMetrum.Install, USB\VID_FFFE&PID_000C, AltusMetrumSerial -%TeleTerra% = AltusMetrum.Install, USB\VID_FFFE&PID_000D, AltusMetrumSerial -%TeleBT% = AltusMetrum.Install, USB\VID_FFFE&PID_000e, AltusMetrumSerial -%TeleLaunch% = AltusMetrum.Install, USB\VID_FFFE&PID_000f, AltusMetrumSerial -%TeleLCO% = AltusMetrum.Install, USB\VID_FFFE&PID_0010, AltusMetrumSerial -%TeleScience% = AltusMetrum.Install, USB\VID_FFFE&PID_0011, AltusMetrumSerial -%TelePyro% = AltusMetrum.Install, USB\VID_FFFE&PID_0012, AltusMetrumSerial -%TeleShield% = AltusMetrum.Install, USB\VID_FFFE&PID_0013, AltusMetrumSerial -%TeleMega% = AltusMetrum.Install, USB\VID_FFFE&PID_0023, AltusMetrumSerial -%MegaDongle = AltusMetrum.Install, USB\VID_FFFE&PID_0024, AltusMetrumSerial -%TeleGPS% = AltusMetrum.Install, USB\VID_FFFE&PID_0025, AltusMetrumSerial -%EasyMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0026, AltusMetrumSerial -%TeleMini% = AltusMetrum.Install, USB\VID_FFFE&PID_0027, AltusMetrumSerial -%AltusMetrum28% = AltusMetrum.Install, USB\VID_FFFE&PID_0028, AltusMetrumSerial -%AltusMetrum29% = AltusMetrum.Install, USB\VID_FFFE&PID_0029, AltusMetrumSerial -%AltusMetrum2a% = AltusMetrum.Install, USB\VID_FFFE&PID_002a, AltusMetrumSerial -%AltusMetrum2b% = AltusMetrum.Install, USB\VID_FFFE&PID_002b, AltusMetrumSerial -%AltusMetrum2c% = AltusMetrum.Install, USB\VID_FFFE&PID_002c, AltusMetrumSerial - -;---------------------------------------------------------------------------- -; Installation sections -;---------------------------------------------------------------------------- - -[AltusMetrum.Install.NT] -include = mdmcpq.inf -CopyFiles = FakeModemCopyFileSection -AddReg = All.AddReg, Modem.AddReg, Uninstall.AddReg - -[AltusMetrum.Install.NT.Services] -include = mdmcpq.inf -AddService = usbser, 0x00000000, LowerFilter_Service_Inst - -[AltusMetrum.Install.NT.HW] -include = mdmcpq.inf -AddReg = LowerFilterAddReg - -;---------------------------------------------------------------------------- -; AddReg sections -;---------------------------------------------------------------------------- - -[All.AddReg] -HKR,,FriendlyDriver,, Unimodem.vxd -HKR,,DevLoader,, *vcomm -HKR,,ConfigDialog,, modemui.dll -HKR,,EnumPropPages,, "modemui.dll,EnumPropPages" -HKR,,PortSubClass, 1, 02 -HKR,,DeviceType, 1, 01 - -[Modem.AddReg] -HKR,, Properties, 1, C0,01,00,00, 00,00,00,00, FF,00,00,00, 07,00,00,00, 0F,00,00,00, F7,0F,00,00, 00,84,03,00, C0,DA,00,00 - -[Uninstall.AddReg] -HKLM,Software\Microsoft\Windows\CurrentVersion\Uninstall\%AltusMetrum%,DisplayName,,"%AltusMetrum%" - -[Strings] -Mfg = "altusmetrum.org" -AltusMetrum = "AltusMetrum" -TeleMetrum = "TeleMetrum" -TeleDongle = "TeleDongle" -TeleTerra = "TeleTerra" -TeleBT = "TeleBT" -TeleLaunch = "TeleLaunch" -TeleLCO = "TeleLCO" -TeleScience = "TeleScience" -TelePyro = "TelePyro" -TeleShield = "TeleShield" -TeleMega = "TeleMega" -MegaDongle = "MegaDongle" -TeleGPS = "TeleGPS" -EasyMini = "EasyMini" -TeleMini = "TeleMini" -AltusMetrum28 = "AltusMetrum28" -AltusMetrum29 = "AltusMetrum29" -AltusMetrum2a = "AltusMetrum2a" -AltusMetrum2b = "AltusMetrum2b" -AltusMetrum2c = "AltusMetrum2c" - -DriverName = "Altus Metrum Device Driver" -