Update mac firmware updater for firmware 2.8.1

pull/182/head
Windell Oskay 2022-07-27 14:43:30 -07:00
rodzic 43735a597a
commit 94d03f529a
23 zmienionych plików z 4280 dodań i 45 usunięć

Wyświetl plik

@ -0,0 +1,724 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="20037" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="20037"/>
<plugIn identifier="com.apple.WebKitIBPlugin" version="20037"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
<connections>
<outlet property="delegate" destination="207" id="210"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject">
<connections>
<outlet property="delegate" destination="207" id="446"/>
</connections>
</customObject>
<customObject id="207" userLabel="SEController" customClass="SEController">
<connections>
<outlet property="aboutMenuItem" destination="232" id="238"/>
<outlet property="dropletBox" destination="494" id="502"/>
<outlet property="dropletDropFilesLabel" destination="499" id="507"/>
<outlet property="dropletMessageTextField" destination="505" id="508"/>
<outlet property="dropletProgressIndicator" destination="496" id="504"/>
<outlet property="dropletShaderView" destination="519" id="w2q-dA-smc"/>
<outlet property="dropletWindow" destination="490" id="512"/>
<outlet property="fileMenu" destination="81" id="rcv-iy-bgF"/>
<outlet property="hideMenuItem" destination="134" id="239"/>
<outlet property="openRecentMenuItem" destination="FvD-xH-BRz" id="V8D-h2-Uw1"/>
<outlet property="progressBarCancelButton" destination="206" id="299"/>
<outlet property="progressBarDetailsLabel" destination="290" id="300"/>
<outlet property="progressBarDetailsTriangle" destination="288" id="301"/>
<outlet property="progressBarIndicator" destination="204" id="298"/>
<outlet property="progressBarMessageTextField" destination="205" id="297"/>
<outlet property="progressBarTextView" destination="307" id="516"/>
<outlet property="progressBarWindow" destination="21" id="296"/>
<outlet property="quitMenuItem" destination="136" id="240"/>
<outlet property="textWindow" destination="216" id="dD5-aT-ujC"/>
<outlet property="textWindowCancelButton" destination="220" id="uuU-Xb-xDZ"/>
<outlet property="textWindowMessageTextField" destination="366" id="bT3-oV-9zc"/>
<outlet property="textWindowProgressIndicator" destination="230" id="AXd-F1-wQr"/>
<outlet property="textWindowTextView" destination="225" id="FZy-wJ-th1"/>
<outlet property="viewMenu" destination="ITS-DI-OJD" id="2iy-Fw-JVe"/>
<outlet property="webView" destination="258" id="GEt-Hd-OFL"/>
<outlet property="webViewCancelButton" destination="251" id="i5n-LY-nJs"/>
<outlet property="webViewMessageTextField" destination="509" id="Unv-5h-E6P"/>
<outlet property="webViewProgressIndicator" destination="277" id="Hun-a2-4wC"/>
<outlet property="webViewWindow" destination="247" id="9lw-Pg-xRw"/>
<outlet property="windowMenu" destination="24" id="328"/>
</connections>
</customObject>
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="ProgressBarWindow" animationBehavior="default" tabbingMode="disallowed" id="21" userLabel="ProgressWindow">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<rect key="contentRect" x="472" y="537" width="438" height="87"/>
<rect key="screenRect" x="0.0" y="0.0" width="1536" height="935"/>
<value key="minSize" type="size" width="438" height="87"/>
<value key="maxSize" type="size" width="600" height="87"/>
<view key="contentView" id="2">
<rect key="frame" x="0.0" y="0.0" width="438" height="87"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<progressIndicator wantsLayer="YES" verticalHuggingPriority="750" fixedFrame="YES" maxValue="100" bezeled="NO" indeterminate="YES" style="bar" translatesAutoresizingMaskIntoConstraints="NO" id="204">
<rect key="frame" x="18" y="31" width="310" height="20"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
</progressIndicator>
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="205">
<rect key="frame" x="18" y="59" width="403" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="clipping" sendsActionOnEndEditing="YES" baseWritingDirection="leftToRight" alignment="left" id="472">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="206">
<rect key="frame" x="338" y="24" width="86" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="push" title="Quit" bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="473">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
Gw
</string>
</buttonCell>
<connections>
<action selector="cancel:" target="207" id="215"/>
</connections>
</button>
<button toolTip="Show details" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="288">
<rect key="frame" x="20" y="14" width="13" height="13"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="disclosureTriangle" bezelStyle="disclosure" imagePosition="above" alignment="left" controlSize="small" borderStyle="border" inset="2" id="474">
<behavior key="behavior" pushIn="YES" changeBackground="YES" changeGray="YES" lightByContents="YES"/>
<font key="font" metaFont="smallSystem"/>
</buttonCell>
<connections>
<action selector="toggleDetails:" target="207" id="303"/>
</connections>
</button>
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="290">
<rect key="frame" x="33" y="11" width="41" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" controlSize="small" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Details" id="475">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" verticalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="304">
<rect key="frame" x="20" y="-208" width="393" height="208"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="2mm-QF-kpX">
<rect key="frame" x="1" y="1" width="391" height="206"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textView editable="NO" importsGraphics="NO" richText="NO" verticallyResizable="YES" findStyle="panel" allowsDocumentBackgroundColorChange="YES" linkDetection="YES" id="307" customClass="SETextView">
<rect key="frame" x="0.0" y="0.0" width="391" height="206"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
<size key="minSize" width="391" height="206"/>
<size key="maxSize" width="463" height="10000000"/>
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
<connections>
<outlet property="delegate" destination="207" id="489"/>
</connections>
</textView>
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="481">
<rect key="frame" x="-100" y="-100" width="87" height="18"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="0.39849624060150374" horizontal="NO" id="480">
<rect key="frame" x="323" y="1" width="15" height="200"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="207" id="377"/>
</connections>
<point key="canvasLocation" x="87" y="314.5"/>
</window>
<menu title="MainMenu" systemMenu="main" id="29" userLabel="MainMenu">
<items>
<menuItem title="Application" id="56">
<menu key="submenu" title="Application" systemMenu="apple" id="57">
<items>
<menuItem title="About" id="232">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontStandardAboutPanel:" target="-2" id="237"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="233">
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</menuItem>
<menuItem title="Services" id="235">
<menu key="submenu" title="Services" systemMenu="services" id="234"/>
</menuItem>
<menuItem isSeparatorItem="YES" id="236">
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</menuItem>
<menuItem title="Hide" keyEquivalent="h" id="134">
<connections>
<action selector="hide:" target="-2" id="152"/>
</connections>
</menuItem>
<menuItem title="Hide Others" keyEquivalent="h" id="145">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="hideOtherApplications:" target="-2" id="146"/>
</connections>
</menuItem>
<menuItem title="Show All" id="150">
<connections>
<action selector="unhideAllApplications:" target="-2" id="153"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="149">
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</menuItem>
<menuItem title="Quit" keyEquivalent="q" id="136">
<connections>
<action selector="terminate:" target="-2" id="139"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="File" id="83">
<menu key="submenu" title="File" id="81">
<items>
<menuItem title="Open…" keyEquivalent="o" id="72">
<connections>
<action selector="openFiles:" target="207" id="524"/>
</connections>
</menuItem>
<menuItem title="Open Recent" id="FvD-xH-BRz">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Open Recent" systemMenu="recentDocuments" id="QHk-NS-To3">
<items>
<menuItem title="Clear Menu" id="CWw-N0-5lz">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="xgq-Qk-sfY">
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</menuItem>
<menuItem title="Close" keyEquivalent="w" id="dh0-Fj-ATR">
<connections>
<action selector="performClose:" target="-1" id="0fd-CD-gUG"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="79">
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</menuItem>
<menuItem title="Save…" keyEquivalent="s" id="75">
<connections>
<action selector="saveToFile:" target="207" id="523"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="74">
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</menuItem>
<menuItem title="Page Setup…" keyEquivalent="P" id="77">
<connections>
<action selector="runPageLayout:" target="-1" id="87"/>
</connections>
</menuItem>
<menuItem title="Print…" keyEquivalent="p" id="78">
<connections>
<action selector="print:" target="-1" id="86"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Edit" id="OYz-zT-LAM">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Edit" id="gbe-PM-Daj">
<items>
<menuItem title="Undo" keyEquivalent="z" id="6BN-ih-O2m">
<connections>
<action selector="undo:" target="-1" id="oH0-3R-wus"/>
</connections>
</menuItem>
<menuItem title="Redo" keyEquivalent="z" id="TgQ-5S-p2w">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="redo:" target="-1" id="bxh-7G-6rR"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="ktb-NS-TU3"/>
<menuItem title="Cut" keyEquivalent="x" id="yLq-sd-YR5">
<connections>
<action selector="cut:" target="-1" id="46i-iL-VLK"/>
</connections>
</menuItem>
<menuItem title="Copy" keyEquivalent="c" id="s3v-O1-6pA">
<connections>
<action selector="copy:" target="-1" id="jxG-ij-fh7"/>
</connections>
</menuItem>
<menuItem title="Paste" keyEquivalent="v" id="6Ld-ut-13f">
<connections>
<action selector="paste:" target="-1" id="PGw-sA-Gma"/>
</connections>
</menuItem>
<menuItem title="Paste and Match Style" keyEquivalent="V" id="GyB-HZ-4kH">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteAsPlainText:" target="-1" id="AlS-iZ-R4l"/>
</connections>
</menuItem>
<menuItem title="Delete" id="YkA-TP-1J9">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="delete:" target="-1" id="cE3-5v-CP0"/>
</connections>
</menuItem>
<menuItem title="Select All" keyEquivalent="a" id="z4j-fk-SUb">
<connections>
<action selector="selectAll:" target="-1" id="eM9-h9-WVo"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="FXg-ZR-vZj"/>
<menuItem title="Find" id="amO-Yt-228">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Find" id="9XE-hK-Hbc">
<items>
<menuItem title="Find…" tag="1" keyEquivalent="f" id="yA2-y8-dhZ">
<connections>
<action selector="performFindPanelAction:" target="-1" id="zqc-0l-nEk"/>
</connections>
</menuItem>
<menuItem title="Find and Replace…" tag="12" keyEquivalent="f" id="ceF-be-hip">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="performFindPanelAction:" target="-1" id="Fno-81-Q2N"/>
</connections>
</menuItem>
<menuItem title="Find Next" tag="2" keyEquivalent="g" id="6FX-CW-rwT">
<connections>
<action selector="performFindPanelAction:" target="-1" id="AeZ-8e-DSZ"/>
</connections>
</menuItem>
<menuItem title="Find Previous" tag="3" keyEquivalent="G" id="kIR-xV-7pl">
<connections>
<action selector="performFindPanelAction:" target="-1" id="ALM-eS-1XU"/>
</connections>
</menuItem>
<menuItem title="Use Selection for Find" tag="7" keyEquivalent="e" id="yTY-2E-Cp9">
<connections>
<action selector="performFindPanelAction:" target="-1" id="Gbj-g6-cYJ"/>
</connections>
</menuItem>
<menuItem title="Jump to Selection" keyEquivalent="j" id="80n-rn-d7I">
<connections>
<action selector="centerSelectionInVisibleArea:" target="-1" id="qfH-cs-Cdv"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Spelling and Grammar" id="uWG-xr-cNT">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Spelling" id="Xoa-7u-7zM">
<items>
<menuItem title="Show Spelling and Grammar" keyEquivalent=":" id="rZl-3I-YFV">
<connections>
<action selector="showGuessPanel:" target="-1" id="CSh-4b-cGc"/>
</connections>
</menuItem>
<menuItem title="Check Document Now" keyEquivalent=";" id="tjk-pc-YjK">
<connections>
<action selector="checkSpelling:" target="-1" id="O3S-v5-8Ra"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="ohv-rn-e7b"/>
<menuItem title="Check Spelling While Typing" id="E3o-iC-0NO">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleContinuousSpellChecking:" target="-1" id="k4Q-aZ-O6y"/>
</connections>
</menuItem>
<menuItem title="Check Grammar With Spelling" id="mUP-Jd-Tu1">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleGrammarChecking:" target="-1" id="Ypd-WC-IMS"/>
</connections>
</menuItem>
<menuItem title="Correct Spelling Automatically" id="qq3-jk-TYN">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticSpellingCorrection:" target="-1" id="Ob8-wh-bLR"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Substitutions" id="8Ti-fk-PNH">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Substitutions" id="NeW-07-aln">
<items>
<menuItem title="Show Substitutions" id="DXm-9z-Sle">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="orderFrontSubstitutionsPanel:" target="-1" id="z43-IC-kpA"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="aVP-JA-dKq"/>
<menuItem title="Smart Copy/Paste" id="Pcq-B9-JQ5">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleSmartInsertDelete:" target="-1" id="iu4-Nn-DU4"/>
</connections>
</menuItem>
<menuItem title="Smart Quotes" id="iDT-WP-ISR">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticQuoteSubstitution:" target="-1" id="pnI-ku-LV9"/>
</connections>
</menuItem>
<menuItem title="Smart Dashes" id="QFc-JW-5qE">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDashSubstitution:" target="-1" id="pY9-lv-EM7"/>
</connections>
</menuItem>
<menuItem title="Smart Links" id="opP-BJ-vhR">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticLinkDetection:" target="-1" id="lfD-XD-tfO"/>
</connections>
</menuItem>
<menuItem title="Data Detectors" id="zWu-P7-fpg">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticDataDetection:" target="-1" id="EAz-S6-L7B"/>
</connections>
</menuItem>
<menuItem title="Text Replacement" id="2R8-fL-H32">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleAutomaticTextReplacement:" target="-1" id="7Lb-Uz-uJ9"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Transformations" id="v1A-Fi-A5j">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Transformations" id="B0B-bK-IZ3">
<items>
<menuItem title="Make Upper Case" id="1P0-qI-ZAM">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="uppercaseWord:" target="-1" id="cre-Qh-bSZ"/>
</connections>
</menuItem>
<menuItem title="Make Lower Case" id="sK6-Xl-9uz">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowercaseWord:" target="-1" id="qid-xu-iAw"/>
</connections>
</menuItem>
<menuItem title="Capitalize" id="zvd-g7-rwM">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="capitalizeWord:" target="-1" id="0tj-lN-nE0"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Speech" id="bsj-0j-07E">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Speech" id="r3p-Q2-qJZ">
<items>
<menuItem title="Start Speaking" id="8Hl-RR-cUq">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="startSpeaking:" target="-1" id="Zbb-Tp-HBE"/>
</connections>
</menuItem>
<menuItem title="Stop Speaking" id="SLa-Tk-XGJ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="stopSpeaking:" target="-1" id="Oyc-KO-3qC"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="View" id="KUk-6o-tke">
<menu key="submenu" title="View" id="ITS-DI-OJD">
<items>
<menuItem title="Make Text Bigger" keyEquivalent="+" id="Qae-cV-V7J">
<connections>
<action selector="makeTextBigger:" target="207" id="cHK-EO-JtV"/>
</connections>
</menuItem>
<menuItem title="Make Text Smaller" keyEquivalent="-" id="Gv4-oc-1eL">
<connections>
<action selector="makeTextSmaller:" target="207" id="JTY-6k-ZKY"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="G0T-Im-91a"/>
</items>
</menu>
</menuItem>
<menuItem title="Window" id="19">
<menu key="submenu" title="Window" systemMenu="window" id="24">
<items>
<menuItem title="Zoom" keyEquivalent="z" id="197">
<modifierMask key="keyEquivalentModifierMask" shift="YES" command="YES"/>
<connections>
<action selector="performZoom:" target="-1" id="198"/>
</connections>
</menuItem>
<menuItem title="Minimize" keyEquivalent="m" id="23">
<connections>
<action selector="performMiniaturize:" target="-1" id="37"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="322">
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</menuItem>
<menuItem title="Bring All to Front" id="5">
<connections>
<action selector="arrangeInFront:" target="-1" id="39"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Help" id="ssS-yx-lud">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Help" systemMenu="help" id="Jc3-NS-beW">
<items>
<menuItem title="Help" keyEquivalent="?" id="By3-00-4mK">
<connections>
<action selector="showHelp:" target="-1" id="ZoJ-wH-vxF"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
<connections>
<outlet property="delegate" destination="207" id="525"/>
</connections>
<point key="canvasLocation" x="36" y="0.0"/>
</menu>
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="TextWindow" animationBehavior="default" tabbingMode="disallowed" id="216" userLabel="TextOutputWindow">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<rect key="contentRect" x="297" y="408" width="580" height="420"/>
<rect key="screenRect" x="0.0" y="0.0" width="1536" height="935"/>
<value key="minSize" type="size" width="400" height="200"/>
<view key="contentView" id="217">
<rect key="frame" x="0.0" y="0.0" width="580" height="420"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="220">
<rect key="frame" x="488" y="7" width="86" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Quit" bezelStyle="rounded" alignment="center" borderStyle="border" inset="2" id="476">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
Gw
</string>
</buttonCell>
<connections>
<action selector="cancel:" target="207" id="223"/>
</connections>
</button>
<scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" verticalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="226">
<rect key="frame" x="9" y="45" width="561" height="367"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="Hk1-72-Owa">
<rect key="frame" x="1" y="1" width="559" height="365"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textView editable="NO" importsGraphics="NO" richText="NO" verticallyResizable="YES" usesFontPanel="YES" findStyle="panel" allowsDocumentBackgroundColorChange="YES" linkDetection="YES" id="225" customClass="SETextView">
<rect key="frame" x="0.0" y="0.0" width="559" height="365"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
<size key="minSize" width="559" height="365"/>
<size key="maxSize" width="561" height="10000000"/>
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
<connections>
<outlet property="delegate" destination="207" id="488"/>
</connections>
</textView>
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="483">
<rect key="frame" x="-100" y="-100" width="87" height="18"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="482">
<rect key="frame" x="-30" y="1" width="15" height="340"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
<progressIndicator horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="230">
<rect key="frame" x="15" y="18" width="16" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</progressIndicator>
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="366">
<rect key="frame" x="43" y="17" width="429" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" id="477">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="207" id="376"/>
</connections>
<point key="canvasLocation" x="-478" y="370"/>
</window>
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="WebViewWindow" animationBehavior="default" tabbingMode="disallowed" id="247" userLabel="WebOutputWindow">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<rect key="contentRect" x="297" y="408" width="580" height="420"/>
<rect key="screenRect" x="0.0" y="0.0" width="1536" height="935"/>
<value key="minSize" type="size" width="400" height="200"/>
<view key="contentView" id="248">
<rect key="frame" x="0.0" y="0.0" width="580" height="420"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="251">
<rect key="frame" x="485" y="6" width="86" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Quit" bezelStyle="rounded" alignment="center" state="on" borderStyle="border" inset="2" id="478">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
Gw
</string>
</buttonCell>
<connections>
<action selector="cancel:" target="207" id="267"/>
</connections>
</button>
<box fixedFrame="YES" boxType="oldStyle" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="257">
<rect key="frame" x="8" y="45" width="563" height="367"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<view key="contentView" id="X4z-hY-QR7">
<rect key="frame" x="1" y="1" width="561" height="365"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<webView fixedFrame="YES" maintainsBackForwardList="NO" translatesAutoresizingMaskIntoConstraints="NO" id="258" customClass="STDragWebView">
<rect key="frame" x="-1" y="0.0" width="562" height="365"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<webPreferences key="preferences" defaultFontSize="12" defaultFixedFontSize="12">
<nil key="identifier"/>
</webPreferences>
<connections>
<outlet property="UIDelegate" destination="207" id="378"/>
<outlet property="downloadDelegate" destination="207" id="382"/>
<outlet property="dragDelegate" destination="207" id="kaI-rz-1Ps"/>
<outlet property="frameLoadDelegate" destination="207" id="381"/>
<outlet property="policyDelegate" destination="207" id="380"/>
<outlet property="resourceLoadDelegate" destination="207" id="379"/>
</connections>
</webView>
</subviews>
</view>
</box>
<progressIndicator horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" controlSize="small" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="277">
<rect key="frame" x="16" y="15" width="16" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</progressIndicator>
<textField verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="509">
<rect key="frame" x="37" y="14" width="429" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" id="510">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="207" id="375"/>
</connections>
<point key="canvasLocation" x="-659" y="-167"/>
</window>
<window title="Droplet" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" visibleAtLaunch="NO" frameAutosaveName="DropletWindow" animationBehavior="default" tabbingMode="disallowed" id="490" userLabel="DropletWindow">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<rect key="contentRect" x="157" y="273" width="294" height="280"/>
<rect key="screenRect" x="0.0" y="0.0" width="1536" height="935"/>
<view key="contentView" id="491">
<rect key="frame" x="0.0" y="0.0" width="294" height="280"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField hidden="YES" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="519">
<rect key="frame" x="0.0" y="0.0" width="294" height="280"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" enabled="NO" allowsUndo="NO" sendsActionOnEndEditing="YES" drawsBackground="YES" id="520">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<box autoresizesSubviews="NO" fixedFrame="YES" borderType="line" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="494">
<rect key="frame" x="17" y="16" width="260" height="246"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<view key="contentView" id="q0i-G4-K1a">
<rect key="frame" x="3" y="3" width="254" height="240"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<progressIndicator wantsLayer="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" maxValue="100" displayedWhenStopped="NO" bezeled="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="496">
<rect key="frame" x="112" y="124" width="32" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</progressIndicator>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="67" translatesAutoresizingMaskIntoConstraints="NO" id="499">
<rect key="frame" x="92" y="108" width="71" height="34"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" controlSize="mini" sendsActionOnEndEditing="YES" alignment="center" title="Drop files here" id="500">
<font key="font" metaFont="system"/>
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" preferredMaxLayoutWidth="214" translatesAutoresizingMaskIntoConstraints="NO" id="505">
<rect key="frame" x="18" y="40" width="218" height="76"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" controlSize="small" sendsActionOnEndEditing="YES" alignment="center" id="506">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="disabledControlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
</box>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="207" id="RFt-L5-f73"/>
</connections>
<point key="canvasLocation" x="608" y="262"/>
</window>
</objects>
</document>

Wyświetl plik

@ -1,6 +1,6 @@
#!/bin/bash
echo -e "Welcome to the EiBotBoard (EBB) Firmware Updater, version 2.6.2"
echo -e "Welcome to the EiBotBoard (EBB) Firmware Updater, version 2.8.1"
echo -e "\nIn case of unexpected results, please make sure that you have"
echo -e "exactly one EBB connected to your computer via USB."
@ -14,23 +14,51 @@ then
printf "\n\nEBB appears to be located; Beginning update process. "
echo -e "BL" > $portName
sleep 2s
printf "\nEntering bootloader mode"
sleep 5
#echo -e "Calling mphidflash to update firmware"
./mphidflash -w EBF_v262_BL.unified.hex -r
printf "\n\nFirmware update written; preparing to test."
sleep 5s
./mphidflash-1.8-osx-64 -w EBF_v281.hex -r
printf "\n\nEnding update process; "
sleep 2
echo -e "Waiting for reset."
i="10"
while [ $i -gt 0 ]
do
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
#echo -e "$portName"
if [ "$result" ]
then
i="0"
else
# echo -e $i
echo -e "."
sleep 1
fi
i=$[$i-1]
done
printf "\n\nLooking for EBB."
sleep 2
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
printf "\nAsking the EBB for its firmware version:"
echo -e "V" > $portName
result2=`head -n 1 < $portName`
printf "\nAsking the EBB for its firmware version:\n"
result2=`head -n 1 < $portName & echo -e "V" > $portName`
if [[ $result2 == *"OK"* ]]
then
result2=`head -n 1 < $portName & echo -e "V" > $portName`
fi
printf "\n$result2"
if [[ $result2 == *"2.6.2"* ]]
if [[ $result2 == *"2.8.1"* ]]
then
printf "\n\nFirmware updated successfully."
else
@ -39,32 +67,35 @@ then
else
printf "\nChecking to see if we have a device in bootloader mode."
./mphidflash -w EBF_v262_BL.unified.hex -r
sleep 2s
./mphidflash-1.8-osx-64 -w EBF_v281.hex -r
sleep 5
base='/dev/'
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
if [ "$result" ]
then
printf "\nFirmware burn complete. Preparing to test."
sleep 5s
printf "\nPreparing to check firmware version..."
sleep 5
printf "\nAsking the EBB for its firmware version:"
echo -e "V" > $portName
result2=`head -n 1 < $portName`
result2=`head -n 1 < $portName & echo -e "V" > $portName`
if [[ $result2 == *"OK"* ]]
then
result2=`head -n 1 < $portName & echo -e "V" > $portName`
fi
printf "\n$result2"
if [[ $result2 == *"2.6.2"* ]]
if [[ $result2 == *"2.8.1"* ]]
then
printf "\n\nFirmware updated successfully."
else
printf "\n\nFirmware update may not have succeeded."
printf "\n\nFirmware update may not have succeeded.\nYou might try running this again.\n"
fi
else
printf "\n\nFirmware update appears to have failed."
printf "\n\nFirmware update appears to have failed.\n"
fi
fi

Wyświetl plik

@ -6,27 +6,35 @@
<dict>
<key>Resources/AppIcon.icns</key>
<data>
HBDI8vivcy+joKCWSHorAjo37UE=
HLXPJsj7wzjY8gLtve5FetnPmo4=
</data>
<key>Resources/AppSettings.plist</key>
<data>
SHG5UoBg3fWJuZNc2C7Xr6hEZN4=
pYv0fIotOIm6NBImz52oGb/88GA=
</data>
<key>Resources/EBF_v262_BL.unified.hex</key>
<key>Resources/EBF_v281.hex</key>
<data>
L6WUA1XDYoUqhqK0IpgUPq6BOd8=
lLy5gH6712/fCsVaLLblDzQYmkg=
</data>
<key>Resources/MainMenu.nib</key>
<key>Resources/MainMenu.nib/designable.nib</key>
<data>
A6U5zHCI1Zl1YQ+TIqTKmpcniU0=
vqAVQ62ugIsFextEjL5cz4/x14I=
</data>
<key>Resources/mphidflash</key>
<key>Resources/MainMenu.nib/keyedobjects-101300.nib</key>
<data>
ckkmQbL4dMHVggQnW8mExJPEJWo=
cDo4MgZZQIzVkaUV/VUbRU61Ktg=
</data>
<key>Resources/MainMenu.nib/keyedobjects.nib</key>
<data>
LRkZ5HGc3VKqVOhgFbNbin08dok=
</data>
<key>Resources/mphidflash-1.8-osx-64</key>
<data>
dt/JbNXw66pa4cVdhpOisiiPE0A=
</data>
<key>Resources/script</key>
<data>
smvCZ0aGIaXtEz3M5mkPeW5knq8=
Lsz/bbhRHkBuT+RnMqsazc+g0Go=
</data>
</dict>
<key>files2</key>
@ -35,66 +43,88 @@
<dict>
<key>hash</key>
<data>
HBDI8vivcy+joKCWSHorAjo37UE=
HLXPJsj7wzjY8gLtve5FetnPmo4=
</data>
<key>hash2</key>
<data>
p55gXGHE70E5eNgYzXp0+85fSIcBbVCIqaC97xQ1EA4=
x8yekWE2skfSba6vP79rOxUkei1N2rN0QophTg9vPag=
</data>
</dict>
<key>Resources/AppSettings.plist</key>
<dict>
<key>hash</key>
<data>
SHG5UoBg3fWJuZNc2C7Xr6hEZN4=
pYv0fIotOIm6NBImz52oGb/88GA=
</data>
<key>hash2</key>
<data>
K9MuyW52SBwKrg/SeVtPT0PDp+9HmIjo0SV+B667apU=
4C8plPkCKkNmvztd19Vi7Htcut2hjGzXsWkjaTOf2XM=
</data>
</dict>
<key>Resources/EBF_v262_BL.unified.hex</key>
<key>Resources/EBF_v281.hex</key>
<dict>
<key>hash</key>
<data>
L6WUA1XDYoUqhqK0IpgUPq6BOd8=
lLy5gH6712/fCsVaLLblDzQYmkg=
</data>
<key>hash2</key>
<data>
hEafjK0Z3c/uT2tkiCVkEke4E6c/2O3Um1nww+F6gqQ=
Uhm5DHDgQrL/9rxVKPlldy3RzRuiu3/0Yg9u/RE7B9w=
</data>
</dict>
<key>Resources/MainMenu.nib</key>
<key>Resources/MainMenu.nib/designable.nib</key>
<dict>
<key>hash</key>
<data>
A6U5zHCI1Zl1YQ+TIqTKmpcniU0=
vqAVQ62ugIsFextEjL5cz4/x14I=
</data>
<key>hash2</key>
<data>
8w0RE82geIQkOHKQc3NB/B4A+XdVRxGHC7LS+8TTLa0=
FPU17+QsaNKDX/X1rdhi3pEESbUzPDyb63L0vHd70tM=
</data>
</dict>
<key>Resources/mphidflash</key>
<key>Resources/MainMenu.nib/keyedobjects-101300.nib</key>
<dict>
<key>hash</key>
<data>
ckkmQbL4dMHVggQnW8mExJPEJWo=
cDo4MgZZQIzVkaUV/VUbRU61Ktg=
</data>
<key>hash2</key>
<data>
S2fKlUmn4wwAkjK65c5f37psKKUpynu4r16XBJ5G4+k=
1RLyRlfWtujdoXcpBYu94kHCSryk1fb/03+piGfGaAU=
</data>
</dict>
<key>Resources/MainMenu.nib/keyedobjects.nib</key>
<dict>
<key>hash</key>
<data>
LRkZ5HGc3VKqVOhgFbNbin08dok=
</data>
<key>hash2</key>
<data>
prNTAkTISF8OlXYS2c+BDtznAMn/Ba5lgAyjpcynwq4=
</data>
</dict>
<key>Resources/mphidflash-1.8-osx-64</key>
<dict>
<key>hash</key>
<data>
dt/JbNXw66pa4cVdhpOisiiPE0A=
</data>
<key>hash2</key>
<data>
iJBoRUYMX7z4ra60h3m9NHVWYyWUltq6SUzr7TPIlfo=
</data>
</dict>
<key>Resources/script</key>
<dict>
<key>hash</key>
<data>
smvCZ0aGIaXtEz3M5mkPeW5knq8=
Lsz/bbhRHkBuT+RnMqsazc+g0Go=
</data>
<key>hash2</key>
<data>
K9C6FVsrLlSsAQ0jU4dE5tVELIBM104YoQdG0h3nMI0=
WYgqP2OMKEqpNQKGR2YacJXLXID23gWrJoizwX3OeCI=
</data>
</dict>
</dict>

Wyświetl plik

@ -0,0 +1,101 @@
#!/bin/bash
echo -e "Welcome to the EiBotBoard (EBB) Firmware Updater, version 2.8.1"
echo -e "\nIn case of unexpected results, please make sure that you have"
echo -e "exactly one EBB connected to your computer via USB."
base='/dev/'
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
#echo -e "$portName"
if [ "$result" ]
then
printf "\n\nEBB appears to be located; Beginning update process. "
echo -e "BL" > $portName
printf "\nEntering bootloader mode"
sleep 5
#echo -e "Calling mphidflash to update firmware"
./mphidflash-1.8-osx-64 -w EBF_v281.hex -r
printf "\n\nEnding update process; "
sleep 2
echo -e "Waiting for reset."
i="10"
while [ $i -gt 0 ]
do
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
#echo -e "$portName"
if [ "$result" ]
then
i="0"
else
# echo -e $i
echo -e "."
sleep 1
fi
i=$[$i-1]
done
printf "\n\nLooking for EBB."
sleep 2
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
printf "\nAsking the EBB for its firmware version:\n"
result2=`head -n 1 < $portName & echo -e "V" > $portName`
if [[ $result2 == *"OK"* ]]
then
result2=`head -n 1 < $portName & echo -e "V" > $portName`
fi
printf "\n$result2"
if [[ $result2 == *"2.8.1"* ]]
then
printf "\n\nFirmware updated successfully."
else
printf "\n\nFirmware update may not have succeeded."
fi
else
printf "\nChecking to see if we have a device in bootloader mode."
./mphidflash-1.8-osx-64 -w EBF_v281.hex -r
sleep 5
base='/dev/'
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
if [ "$result" ]
then
printf "\nPreparing to check firmware version..."
sleep 5
printf "\nAsking the EBB for its firmware version:"
result2=`head -n 1 < $portName & echo -e "V" > $portName`
if [[ $result2 == *"OK"* ]]
then
result2=`head -n 1 < $portName & echo -e "V" > $portName`
fi
printf "\n$result2"
if [[ $result2 == *"2.8.1"* ]]
then
printf "\n\nFirmware updated successfully."
else
printf "\n\nFirmware update may not have succeeded.\nYou might try running this again.\n"
fi
else
printf "\n\nFirmware update appears to have failed.\n"
fi
fi

Wyświetl plik

@ -0,0 +1,207 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/AppIcon.icns</key>
<data>
HBDI8vivcy+joKCWSHorAjo37UE=
</data>
<key>Resources/AppSettings.plist</key>
<data>
SHG5UoBg3fWJuZNc2C7Xr6hEZN4=
</data>
<key>Resources/EBF_v262_BL.unified.hex</key>
<data>
L6WUA1XDYoUqhqK0IpgUPq6BOd8=
</data>
<key>Resources/MainMenu.nib</key>
<data>
A6U5zHCI1Zl1YQ+TIqTKmpcniU0=
</data>
<key>Resources/mphidflash</key>
<data>
ckkmQbL4dMHVggQnW8mExJPEJWo=
</data>
<key>Resources/script</key>
<data>
smvCZ0aGIaXtEz3M5mkPeW5knq8=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/AppIcon.icns</key>
<dict>
<key>hash</key>
<data>
HBDI8vivcy+joKCWSHorAjo37UE=
</data>
<key>hash2</key>
<data>
p55gXGHE70E5eNgYzXp0+85fSIcBbVCIqaC97xQ1EA4=
</data>
</dict>
<key>Resources/AppSettings.plist</key>
<dict>
<key>hash</key>
<data>
SHG5UoBg3fWJuZNc2C7Xr6hEZN4=
</data>
<key>hash2</key>
<data>
K9MuyW52SBwKrg/SeVtPT0PDp+9HmIjo0SV+B667apU=
</data>
</dict>
<key>Resources/EBF_v262_BL.unified.hex</key>
<dict>
<key>hash</key>
<data>
L6WUA1XDYoUqhqK0IpgUPq6BOd8=
</data>
<key>hash2</key>
<data>
hEafjK0Z3c/uT2tkiCVkEke4E6c/2O3Um1nww+F6gqQ=
</data>
</dict>
<key>Resources/MainMenu.nib</key>
<dict>
<key>hash</key>
<data>
A6U5zHCI1Zl1YQ+TIqTKmpcniU0=
</data>
<key>hash2</key>
<data>
8w0RE82geIQkOHKQc3NB/B4A+XdVRxGHC7LS+8TTLa0=
</data>
</dict>
<key>Resources/mphidflash</key>
<dict>
<key>hash</key>
<data>
ckkmQbL4dMHVggQnW8mExJPEJWo=
</data>
<key>hash2</key>
<data>
S2fKlUmn4wwAkjK65c5f37psKKUpynu4r16XBJ5G4+k=
</data>
</dict>
<key>Resources/script</key>
<dict>
<key>hash</key>
<data>
smvCZ0aGIaXtEz3M5mkPeW5knq8=
</data>
<key>hash2</key>
<data>
K9C6FVsrLlSsAQ0jU4dE5tVELIBM104YoQdG0h3nMI0=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>

Wyświetl plik

@ -0,0 +1,70 @@
#!/bin/bash
echo -e "Welcome to the EiBotBoard (EBB) Firmware Updater, version 2.6.2"
echo -e "\nIn case of unexpected results, please make sure that you have"
echo -e "exactly one EBB connected to your computer via USB."
base='/dev/'
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
#echo -e "$portName"
if [ "$result" ]
then
printf "\n\nEBB appears to be located; Beginning update process. "
echo -e "BL" > $portName
sleep 2s
#echo -e "Calling mphidflash to update firmware"
./mphidflash -w EBF_v262_BL.unified.hex -r
printf "\n\nFirmware update written; preparing to test."
sleep 5s
printf "\n\nLooking for EBB."
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
printf "\nAsking the EBB for its firmware version:"
echo -e "V" > $portName
result2=`head -n 1 < $portName`
printf "\n$result2"
if [[ $result2 == *"2.6.2"* ]]
then
printf "\n\nFirmware updated successfully."
else
printf "\n\nFirmware update may not have succeeded."
fi
else
printf "\nChecking to see if we have a device in bootloader mode."
./mphidflash -w EBF_v262_BL.unified.hex -r
sleep 2s
base='/dev/'
result=`ls /dev | grep -m 1 usbmodem`
portName=$base$result
if [ "$result" ]
then
printf "\nFirmware burn complete. Preparing to test."
sleep 5s
printf "\nAsking the EBB for its firmware version:"
echo -e "V" > $portName
result2=`head -n 1 < $portName`
printf "\n$result2"
if [[ $result2 == *"2.6.2"* ]]
then
printf "\n\nFirmware updated successfully."
else
printf "\n\nFirmware update may not have succeeded."
fi
else
printf "\n\nFirmware update appears to have failed."
fi
fi