Merge landing view style changes.

pull/3/head
Kristjan Vaga 9 years ago
commit 3641903e5c

@ -1,481 +1,558 @@
<ul><span>2015.10.31 - 0.67.0 - cleanflight</span>
<li>Support flashing of boards that have USB directly connected to MCU. (Device Firmware Update/DFU support).</li>
</ul>
<span>2015.10.31 - 0.67.0 - cleanflight</span>
<ul>
<span>2015.10.31 - 0.66.0 - cleanflight</span>
<li>Update servo configuration (requires firmware &gt;= 1.10.0).</li>
<li>Add some notes and help messages for common issues.</li>
<li>Update sponsors panel and add links to new boards.</li>
<li>Upgrade some JS libraries to latest versions (Three, JQuery/UI, D3)</li>
<li>Allow stick input from UI (when using RX_MSP)</li>
<li>Align servo numbering with firmware and documentation</li>
<li>Major GUI rework.</li>
<li>Support flashing of boards that have USB directly connected to MCU. (Device Firmware Update/DFU support).</li>
</ul>
<span>2015.10.31 - 0.66.0 - cleanflight</span>
<ul>
<span>2015.05.23 - 0.65.0 - cleanflight</span>
<li>Support flashing of the SPRacingF3.</li>
<li>Support manual baud rate configuration for flashing.</li>
<li>Update servo configuration (requires firmware &gt;= 1.10.0).</li>
<li>Add some notes and help messages for common issues.</li>
<li>Update sponsors panel and add links to new boards.</li>
<li>Upgrade some JS libraries to latest versions (Three, JQuery/UI, D3)</li>
<li>Allow stick input from UI (when using RX_MSP)</li>
<li>Align servo numbering with firmware and documentation</li>
</ul>
<span>2015.05.23 - 0.65.0 - cleanflight</span>
<ul>
<span>2015.05.20 - 0.64.0 - cleanflight</span>
<li>Support In-flight adjustment of Pitch P/I/D and Roll P/I/D and Pitch/Roll rates.</li>
<li>Manual serial port selection.</li>
<li>Update sponsors panel.</li>
<li>Update list of supported boards and add links to them.</li>
<li>Minor firmware release listing improvements.</li>
<li>Support flashing of the SPRacingF3.</li>
<li>Support manual baud rate configuration for flashing.</li>
</ul>
<span>2015.05.20 - 0.64.0 - cleanflight</span>
<ul>
<span>2015.05.09 - 0.63.2 - cleanflight</span>
<li>Support cleanflight API version > 1.9.</li>
<li>Support In-flight adjustment of Pitch P/I/D and Roll P/I/D and Pitch/Roll rates.</li>
<li>Manual serial port selection.</li>
<li>Update sponsors panel.</li>
<li>Update list of supported boards and add links to them.</li>
<li>Minor firmware release listing improvements.</li>
</ul>
<span>2015.05.09 - 0.63.2 - cleanflight</span>
<ul>
<span>2015.04.14 - 0.63.1 - cleanflight</span>
<li>Fix for looptime backup/restore when migrating from firmware with api &lt; 1.8.</li>
<li>Update sponsors panel.</li>
<li>Add link for T-Shirts!</li>
<li>Support cleanflight API version > 1.9.</li>
</ul>
<span>2015.04.14 - 0.63.1 - cleanflight</span>
<ul>
<span>2015.03.29 - 0.63.0 - cleanflight</span>
<li>Configuration tab supports auto_disarm_delay and disarm_kill_switch (requires firmware &gt;= 1.8.0).</li>
<li>PID Tuning tab allows TPA Breakpoint changes (requires firmware &gt;= 1.8.0).</li>
<li>Correct Artificial Horizon Pitch/Roll views.</li>
<li>Change logging time stamp to include date stamp.</li>
<li>Support new firmware 1.8 serial port configuration.</li>
<li>Move documentation and help to new tab.</li>
<li>Add contributing section to welcome tab.</li>
<li>Fix for looptime backup/restore when migrating from firmware with api &lt; 1.8.</li>
<li>Update sponsors panel.</li>
<li>Add link for T-Shirts!</li>
</ul>
<span>2015.03.29 - 0.63.0 - cleanflight</span>
<ul>
<span>2015.02.27 - 0.62.1 - cleanflight</span>
<p>
- Minor bug fixes.</li>
<li>Configuration tab supports auto_disarm_delay and disarm_kill_switch (requires firmware &gt;= 1.8.0).</li>
<li>PID Tuning tab allows TPA Breakpoint changes (requires firmware &gt;= 1.8.0).</li>
<li>Correct Artificial Horizon Pitch/Roll views.</li>
<li>Change logging time stamp to include date stamp.</li>
<li>Support new firmware 1.8 serial port configuration.</li>
<li>Move documentation and help to new tab.</li>
<li>Add contributing section to welcome tab.</li>
</ul>
<span>2015.02.27 - 0.62.1 - cleanflight</span>
<ul>
<li>Minor bug fixes.</li>
</ul>
<span>2015.02.26 - 0.62.0 - cleanflight</span>
<p>
<li>Add flight indicators to setup screen tab.</li>
<li>Add dataflash tab (requires firmware &gt;= 1.8.0)..</li>
<li>Add Cleanflight logos.<br />
<li>Fix loading online flash files - github moved them to amazon aws.</li>
<li>Fix to fallback 3D model.</li>
<li>Add support for SPRacingF3.</li>
<ul>
<li>Add flight indicators to setup screen tab.</li>
<li>Add dataflash tab (requires firmware &gt;= 1.8.0)..</li>
<li>Add Cleanflight logos.</li>
<li>Fix loading online flash files - github moved them to amazon aws.</li>
<li>Fix to fallback 3D model.</li>
<li>Add support for SPRacingF3.</li>
</ul>
<span>2015.02.03 - 0.61.0 - cleanflight</span>
<p>
- Support changing PID controller - three new PID controllers in 1.7.0 firmware.<br />
- Support for LED thrust ring.<br />
- Support for LED colors.<br />
- Support for displaying sonar sensor reading on the sensors tab.<br />
- UI cleanup - 'Welcome' and 'Firmware flasher' are now tabs.<br />
- New Logo. (Tom McCullough)<br />
- New 3D models (AkFreak).<br />
- Update presentation of LEDs that have multiple functions.<br />
- Add Documentation and Support panels to welcome tab.<br />
- Add support for backup and restore of LED strip configuration.<br />
- Fix for disappearing tabs in chrome 41 beta.<br />
- Various other minor improvements.<br />
</p>
<ul>
<li>Support changing PID controller - three new PID controllers in 1.7.0 firmware.</li>
<li>Support for LED thrust ring.</li>
<li>Support for LED colors.</li>
<li>Support for displaying sonar sensor reading on the sensors tab.</li>
<li>UI cleanup - 'Welcome' and 'Firmware flasher' are now tabs.</li>
<li>New Logo. (Tom McCullough)</li>
<li>New 3D models (AkFreak).</li>
<li>Update presentation of LEDs that have multiple functions.</li>
<li>Add Documentation and Support panels to welcome tab.</li>
<li>Add support for backup and restore of LED strip configuration.</li>
<li>Fix for disappearing tabs in chrome 41 beta.</li>
<li>Various other minor improvements.</li>
</ul>
<span>2015.01.08 - 0.60.0 - cleanflight</span>
<p>
- Add LED strip tab for LED configuration (requires firmware &gt;= 1.6.0)..<br />
- Replace motor order images (stronnag)<br />
</p>
<ul>
<li>Add LED strip tab for LED configuration (requires firmware &gt;= 1.6.0)..</li>
<li>Replace motor order images (stronnag)</li>
</ul>
<span>2015.01.08 - 0.59.1 - cleanflight</span>
<p>
- Add support for Blackbox flight recorder feature (requires firmware &gt;= 1.5.0).<br />
- Update RSSI channel section to allow any channel.<br />
- Implement configuration migration to aid with backwards compatibility.<br />
- Allow CLI access when connecting firmware with an out-of-date API.<br />
- Support 'release candidate' and 'stable' releases.
</p>
<ul>
<li>Add support for Blackbox flight recorder feature (requires firmware &gt;= 1.5.0).</li>
<li>Update RSSI channel section to allow any channel.</li>
<li>Implement configuration migration to aid with backwards compatibility.</li>
<li>Allow CLI access when connecting firmware with an out-of-date API.</li>
<li>Support 'release candidate' and 'stable' releases.</li>
</ul>
<span>2015.01.04 - 0.59.0 - cleanflight</span>
<p>
- Overhaul configuration tab.<br />
- Allow configuration of GPS baud rate.<br />
</p>
<ul>
<li>Overhaul configuration tab.</li>
<li>Allow configuration of GPS baud rate.</li>
</ul>
<span>2015.01.03 - 0.58.0 - cleanflight</span>
<p>
- Add new 'Ports' tab to allow configuration of serial ports.<br />
</p>
<ul>
<li>Add new 'Ports' tab to allow configuration of serial ports.</li>
</ul>
<span>2014.12.06 - 0.57.2 - cleanflight</span>
<p>
- Force user to select firmware before flashing (pulsar).<br />
</p>
<ul>
<li>Force user to select firmware before flashing (pulsar).</li>
</ul>
<span>2014.12.06 - 0.57.1 - cleanflight</span>
<p>
- Latest firmware <strong>required</strong>.<br />
- Merge latest baseflight configurator changes.<br />
- Added support for choosing and downloading firmware via the github relases API.<br />
- Added Armattan Quads as a sponsor.<br />
- Various UI tweaks.<br />
</p>
<ul>
<li>Latest firmware <strong>required</strong>.
</li>
<li>Merge latest baseflight configurator changes.</li>
<li>Added support for choosing and downloading firmware via the github relases API.</li>
<li>Added Armattan Quads as a sponsor.</li>
<li>Various UI tweaks.</li>
</ul>
<span>2014.12.06 - 0.57</span>
<p>
- Firmware flasher now contains firmware builds picker<br />
- Implement new and experimental review mechanism<br />
- Support for new A-tail Quad craft type<br />
- Firmware flasher flashing speed optimizations<br />
- Add specific 3D models for atail/vtail quad (norem)<br />
- Major bugfix for stuck UI after delayed port open procedure<br />
- Bugfix for GPS distance to home not displaying<br />
- Bugfix for backup/restore misbehaving (mostly on OSX)<br />
</p>
<ul>
<li>Firmware flasher now contains firmware builds picker</li>
<li>Implement new and experimental review mechanism</li>
<li>Support for new A-tail Quad craft type</li>
<li>Firmware flasher flashing speed optimizations</li>
<li>Add specific 3D models for atail/vtail quad (norem)</li>
<li>Major bugfix for stuck UI after delayed port open procedure</li>
<li>Bugfix for GPS distance to home not displaying</li>
<li>Bugfix for backup/restore misbehaving (mostly on OSX)</li>
</ul>
<span>2014.11.04 - 0.56</span>
<p>
- Add hex plus, hex X, tri, y4, y6 3D models (jef79m)<br />
- Bugfix for battery voltage saving sequence<br />
- Bugfix for fetching development firmware<br />
</p>
<ul>
<li>Add hex plus, hex X, tri, y4, y6 3D models (jef79m)</li>
<li>Bugfix for battery voltage saving sequence</li>
<li>Bugfix for fetching development firmware</li>
</ul>
<span>2014.10.31 - 0.55</span>
<p>
- Minimum required Chrome version set to 38+<br />
- Minimum accepted firmware version set to 2.31<br />
- Support for flashing development firmware<br />
- Setup tab performance improvements, faster 3D model<br />
- Strongly improve amount of data stored in backups<br />
- Improve flash on connect in firmware flasher<br />
- Rearrange texts and options in firmware flasher<br />
- Bugfix for corrupted minimum window size on Windows 7<br />
- Bugfix for incorrect date &amp; time in firmware flasher<br />
- Bugfix for port handler firing before port being initialized<br />
</p>
<ul>
<li>Minimum required Chrome version set to 38+</li>
<li>Minimum accepted firmware version set to 2.31</li>
<li>Support for flashing development firmware</li>
<li>Setup tab performance improvements, faster 3D model</li>
<li>Strongly improve amount of data stored in backups</li>
<li>Improve flash on connect in firmware flasher</li>
<li>Rearrange texts and options in firmware flasher</li>
<li>Bugfix for corrupted minimum window size on Windows 7</li>
<li>Bugfix for incorrect date &amp; time in firmware flasher</li>
<li>Bugfix for port handler firing before port being initialized</li>
</ul>
<span>2014.10.06 - 0.54</span>
<p>
- Backup files now also contain servo settings<br />
- Pre 0.54 backup files are incompatible, save new ones<br />
- Bugfixes<br />
</p>
<ul>
<li>Backup files now also contain servo settings</li>
<li>Pre 0.54 backup files are incompatible, save new ones</li>
<li>Bugfixes</li>
</ul>
<span>2014.09.30 - 0.53</span>
<p>
- Enhanced 3D model (creyc)<br />
- Fallback 3D model for canvas renderer (creyc)<br />
- More predefined options for channel map<br />
- Display motor/servo signal value inside the bars<br />
- Bugfixes<br />
</p>
<ul>
<li>Enhanced 3D model (creyc)</li>
<li>Fallback 3D model for canvas renderer (creyc)</li>
<li>More predefined options for channel map</li>
<li>Display motor/servo signal value inside the bars</li>
<li>Bugfixes</li>
</ul>
<span>2014.09.29. - 0.52</span>
<p>
- We recommend upgrading to the <strong>latest firmware</strong><br />
- Simplified Initial Setup tab and renamed it to Setup<br />
- Renamed Auxiliary Configuration to Mode selection<br />
- Implemented new Configuration tab (check it out)<br />
- Simplified meter UI in Receiver tab<br />
- Channel Map is now configurable in Receiver tab<br />
- Using new "real" 3D renderer for the 3D model<br />
- 3D model for Quad X (creyc)<br />
- Additional motor order diagrams (creyc)<br />
- Updated MSP layer with new custom Baseflight commands<br />
- Various optimizations and bugfixes<br />
</p>
<ul>
<li>We recommend upgrading to the <strong>latest firmware</strong></li>
<li>Simplified Initial Setup tab and renamed it to Setup</li>
<li>Renamed Auxiliary Configuration to Mode selection</li>
<li>Implemented new Configuration tab (check it out)</li>
<li>Simplified meter UI in Receiver tab</li>
<li>Channel Map is now configurable in Receiver tab</li>
<li>Using new "real" 3D renderer for the 3D model</li>
<li>3D model for Quad X (creyc)</li>
<li>Additional motor order diagrams (creyc)</li>
<li>Updated MSP layer with new custom Baseflight commands</li>
<li>Various optimizations and bugfixes</li>
</ul>
<span>9.11.2014 - 0.51.3 cleanflight</span>
<p>
+ Add 'Adjustments' tab for configuring in-flight adjustment switches.<br />
</p>
<ul>
<li>Add 'Adjustments' tab for configuring in-flight adjustment switches.</li>
</ul>
<span>13.10.2014 - 0.51.2 cleanflight</span>
<p>
* Requires latest firmware.<br />
. Change default channel mode range to 1300/1700 to match MultiWii MID AUX checkbox.<br />
+ Use new experimental MSP_API_VERSION command.<br />
</p>
<ul>
<li>Requires latest firmware.</li>
<li>Change default channel mode range to 1300/1700 to match MultiWii MID AUX checkbox.</li>
<li>Use new experimental MSP_API_VERSION command.</li>
</ul>
<span>13.10.2014 - 0.51.1 cleanflight</span>
<p>
* Requires latest firmware.<br />
. Update donation link.<br />
. Update MSP IDs for Cleanflight specific MSP commands.<br />
</p>
<ul>
<li>Requires latest firmware.</li>
<li>Update donation link.</li>
<li>Update MSP IDs for Cleanflight specific MSP commands.</li>
</ul>
<span>13.10.2014 - 0.51.0 cleanflight</span>
<p>
* Requires latest firmware.<br />
+ Support mode ranges on auxillary tab.<br />
</p>
<ul>
<li>Requires latest firmware.</li>
<li>Support mode ranges on auxillary tab.</li>
</ul>
<span>2014.09.09 - 0.51</span>
<p>
- Configurator userbase is over 9000 now :-)<br />
- Small global UI revamp to utilize space little bit better<br />
- Online Firmware can be saved locally<br />
- Added missing model information for custom model<br />
</p>
<ul>
<li>Configurator userbase is over 9000 now :-)</li>
<li>Small global UI revamp to utilize space little bit better</li>
<li>Online Firmware can be saved locally</li>
<li>Added missing model information for custom model</li>
</ul>
<span>09.04.2014 - 0.50.3 cleanflight</span>
<p>
- Update URLs.<br />
</p>
<ul>
<li>Update URLs.</li>
</ul>
<span>09.04.2014 - 0.50.2 cleanflight</span>
<p>
- Update default data filenames.<br />
</p>
<ul>
<li>Update default data filenames.</li>
</ul>
<span>09.04.2014 - 0.50.1 cleanflight</span>
<p>
- Ensure initialised data is not used when configuring aux channels.<br />
- Update sponsors for cleanflight specific sponsors.<br />
</p>
<ul>
<li>Ensure initialised data is not used when configuring aux channels.</li>
<li>Update sponsors for cleanflight specific sponsors.</li>
</ul>
<span>2014.08.31 - 0.50</span>
<p>
- Small UI revamp for Firmware Flasher<br />
- Added "Flash slowly" mode (bluetooth friendly)<br />
- Bugfixes<br />
</p>
<ul>
<li>Small UI revamp for Firmware Flasher</li>
<li>Added "Flash slowly" mode (bluetooth friendly)</li>
<li>Bugfixes</li>
</ul>
<span>08.25.2014 - 0.49.1 cleanflight</span>
<p>
- Fix auxiliary configuration tab when using an rc system with 3 aux channels.<br />
</p>
<ul>
<li>Fix auxiliary configuration tab when using an rc system with 3 aux channels.</li>
</ul>
<span>08.18.2014 - 0.49</span>
<p>
- Motor indicators now display signal length in tooltips<br />
- Additional motor order diagrams (creyc)<br />
- Bugfixes<br />
</p>
<ul>
<li>Motor indicators now display signal length in tooltips</li>
<li>Additional motor order diagrams (creyc)</li>
<li>Bugfixes</li>
</ul>
<span>2014.07.27 - 0.48</span>
<p>
- Configurator reached 6000+ users on 2014.07.26<br />
- Added motor order diagrams (creyc, Curtisbeef)<br />
- Flashing timeout bugfixes<br />
</p>
<ul>
<li>Configurator reached 6000+ users on 2014.07.26</li>
<li>Added motor order diagrams (creyc, Curtisbeef)</li>
<li>Flashing timeout bugfixes</li>
</ul>
<span>07.31.2014 - cleanflight</span>
<p>
- Fix auxiliary configuration tab when using parallel pwm.<br />
</p>
<ul>
<li>Fix auxiliary configuration tab when using parallel pwm.</li>
</ul>
<span>2014.07.17 - 0.47</span>
<p>
- Bugfixes related to Chrome 36+ release<br />
- Various optimizations and behavior improvements<br />
</p>
<ul>
<li>Bugfixes related to Chrome 36+ release</li>
<li>Various optimizations and behavior improvements</li>
</ul>
<span>2014.07.11 - 0.46</span>
<p>
- Application will display a spinner while waiting for data<br />
- Bugfixes<br />
<ul>
<li>Application will display a spinner while waiting for data</li>
<li>Bugfixes</li>
</ul>
<span>07.06.2014 - cleanflight</span>
<p>
- Servos tab updated to support Cleanflight's cleaner implementation of channel forwarding<br />
</p>
<ul>
<li>Servos tab updated to support Cleanflight's cleaner implementation of channel forwarding</li>
</ul>
<span>2014.07.04 - 0.45</span>
<p>
- Configurator reached 5000+ users on 2014.07.03<br />
- Updated various text notes to make things clearer<br />
- UI polish<br />
- Various bugfixes<br />
</p>
<ul>
<li>Configurator reached 5000+ users on 2014.07.03</li>
<li>Updated various text notes to make things clearer</li>
<li>UI polish</li>
<li>Various bugfixes</li>
</ul>
<span>2014.06.27 - 0.44</span>
<p>
- Added more scale factors in the motor testing tab<br />
- If application closes without disconnecting motors should spin down<br />
- Bugfixes for CLI, Motor Testing &amp; Logging tabs<br />
</p>
<ul>
<li>Added more scale factors in the motor testing tab</li>
<li>If application closes without disconnecting motors should spin down</li>
<li>Bugfixes for CLI, Motor Testing &amp; Logging tabs</li>
</ul>
<span>2014.06.26 - 0.43</span>
<p>
- Experimental passthrough support for logging<br />
- MSP_ANALOG support for logging<br />
- Allow running motors (testing) while monitoring sensors<br />
- Major UI changes in Motor Testing tab<br />
- Tiny cosmetic changes<br />
- Initial set of UI bugfixes for Chrome 36+<br />
</p>
<ul>
<li>Experimental passthrough support for logging</li>
<li>MSP_ANALOG support for logging</li>
<li>Allow running motors (testing) while monitoring sensors</li>
<li>Major UI changes in Motor Testing tab</li>
<li>Tiny cosmetic changes</li>
<li>Initial set of UI bugfixes for Chrome 36+</li>
</ul>
<span>2014.06.16 - 0.42</span>
<p>
- Added I2C Error indicator to status bar<br />
- Optimizations &amp; bugfixes<br />
</p>
<ul>
<li>Added I2C Error indicator to status bar</li>
<li>Optimizations &amp; bugfixes</li>
</ul>
<span>2014.06.01 - 0.41</span>
<p>
- Configurator reached 4000+ users on 05.29.2014<br />
- Support for new current sensing code (latest firmware)<br />
</p>
<ul>
<li>Configurator reached 4000+ users on 05.29.2014</li>
<li>Support for new current sensing code (latest firmware)</li>
</ul>
<span>2014.05.27 - 0.40</span>
<p>
- Added Logging tab (log various MSP data into CSV file)<br />
- Bugfix for CLI input area<br />
</p>
<ul>
<li>Added Logging tab (log various MSP data into CSV file)</li>
<li>Bugfix for CLI input area</li>
</ul>
<span>2014.05.08 - 0.39</span>
<p>
- UI enhancements for sensors tab<br />
</p>
<ul>
<li>UI enhancements for sensors tab</li>
</ul>
<span>2014.05.08 - 0.38</span>
<p>
- Bugfix for firmware flasher UI<br />
- Updating libraries<br />
</p>
<ul>
<li>Bugfix for firmware flasher UI</li>
<li>Updating libraries</li>
</ul>
<span>2014.05.08 - 0.37</span>
<p>
- Window can be resized and maximized<br />
- Graphs will now properly scale to fill content area<br />
- Small GPS UI rework<br />
- Small UI polish on all tabs<br />
- Bugfixes<br />
</p>
<ul>
<li>Window can be resized and maximized</li>
<li>Graphs will now properly scale to fill content area</li>
<li>Small GPS UI rework</li>
<li>Small UI polish on all tabs</li>
<li>Bugfixes</li>
</ul>
<span>2014.05.03 - 0.36</span>
<p>
- Another bugfix for high dpi displays<br />
- PID names will now match PID names in firmware<br />
</p>
<ul>
<li>Another bugfix for high dpi displays</li>
<li>PID names will now match PID names in firmware</li>
</ul>
<span>2014.05.03 - 0.35</span>
<p>
- Configurator reached 3000+ users on 2014.05.03<br />
- Polished Welcome screen<br />
- Tiny UI bugfix for gps tab<br />
</p>
<ul>
<li>Configurator reached 3000+ users on 2014.05.03</li>
<li>Polished Welcome screen</li>
<li>Tiny UI bugfix for gps tab</li>
</ul>
<span>2014.04.29 - 0.34</span>
<p>
- Bugfix for wrong graph positions on high dpi displays<br />
</p>
<ul>
<li>Bugfix for wrong graph positions on high dpi displays</li>
</ul>
<span>2014.04.26 - 0.33</span>
<p>
- Bugfix for loading online firmware<br />
</p>
<ul>
<li>Bugfix for loading online firmware</li>
</ul>
<span>2014.04.22 - 0.32</span>
<p>
- Native application frame on Chrome 35+<br />
- Dedicated application options<br />
- Reworked Sensors tab (optimized graphs, new ui)<br />
- Small ui changes<br />
- Performance improvements<br />
</p>
<ul>
<li>Native application frame on Chrome 35+</li>
<li>Dedicated application options</li>
<li>Reworked Sensors tab (optimized graphs, new ui)</li>
<li>Small ui changes</li>
<li>Performance improvements</li>
</ul>
<span>2014.04.11 - 0.31</span>
<p>
- Bugfix for Sliders not properly updating<br />
- Bugfix for CLI line feed on ChromeOS<br />
</p>
<ul>
<li>Bugfix for Sliders not properly updating</li>
<li>Bugfix for CLI line feed on ChromeOS</li>
</ul>
<span>2014.04.03 - 0.30</span>
<p>
- Configurator reached 2000+ users on 2014.03.24<br />
- Initial work on translation support<br />
- Small UI rework in initial tab<br />
- UI rework in receiver tab, new plot<br />
- Bugfixes related to servo tab, ui polish<br />
- Added info box in initial tab display voltage &amp; RSSI<br />
- Stability improvements, performance improvements, bugfixes<br />
</p>
<ul>
<li>Configurator reached 2000+ users on 2014.03.24</li>
<li>Initial work on translation support</li>
<li>Small UI rework in initial tab</li>
<li>UI rework in receiver tab, new plot</li>
<li>Bugfixes related to servo tab, ui polish</li>
<li>Added info box in initial tab display voltage &amp; RSSI</li>
<li>Stability improvements, performance improvements, bugfixes</li>
</ul>
<span>2014.03.09 - 0.29</span>
<p>
- Motor Tab UI bugfixes<br />
- Added support for variable plot refresh rate in Receiver Tab<br />
- Bugfixes<br />
</p>
<ul>
<li>Motor Tab UI bugfixes</li>
<li>Added support for variable plot refresh rate in Receiver Tab</li>
<li>Bugfixes</li>
</ul>
<span>2014.03.01 - 0.28</span>
<p>
- Online Firmware now displays Github commit info<br />
- Stability improvements &amp; bugfixes<br />
</p>
<ul>
<li>Online Firmware now displays Github commit info</li>
<li>Stability improvements &amp; bugfixes</li>
</ul>
<span>2014.02.27 - 0.27</span>
<p>
- Sensor Tab UI bugfixes<br />
- Firmware Flasher functionality improvements<br />
- Added new "developer" functionality "flash on connect"<br />
- Major Version checking added<br />
</p>
<ul>
<li>Sensor Tab UI bugfixes</li>
<li>Firmware Flasher functionality improvements</li>
<li>Added new "developer" functionality "flash on connect"</li>
<li>Major Version checking added</li>
</ul>
<span>2014.02.23 - 0.26</span>
<p>
- Motor tab UI / functionality changes<br />
- Backup settings IO bugfixes<br />
- Receiver / Aux config tab command collision bugfix<br />
</p>
<ul>
<li>Motor tab UI / functionality changes</li>
<li>Backup settings IO bugfixes</li>
<li>Receiver / Aux config tab command collision bugfix</li>
</ul>
<span>2014.02.20 - 0.25</span>
<p>
- Running on new serial API (Chrome 33+)<br />
- Added Velocity in PID tab<br />
- Added Profile select in PID tab<br />
- Different scaling for raw sensor data<br />
- Motor Test now support defining min/max values<br />
- Added Master slider in Motor Test UI<br />
- There should be no "garbage" in the beginning of CLI session<br />
- Added Log window<br />
- Print Operating System, Chrome, Configurator versions on startup<br />
- Firmware flashing backend rework<br />
- IHEX parser code rework<br />
- Stronger input field validation (for most numeric fields)<br />
</p>
<ul>
<li>Running on new serial API (Chrome 33+)</li>
<li>Added Velocity in PID tab</li>
<li>Added Profile select in PID tab</li>
<li>Different scaling for raw sensor data</li>
<li>Motor Test now support defining min/max values</li>
<li>Added Master slider in Motor Test UI</li>
<li>There should be no "garbage" in the beginning of CLI session</li>
<li>Added Log window</li>
<li>Print Operating System, Chrome, Configurator versions on startup</li>
<li>Firmware flashing backend rework</li>
<li>IHEX parser code rework</li>
<li>Stronger input field validation (for most numeric fields)</li>
<li>Added Battery warning / scale UI</li>
</ul>
<span>2014.01.17 - 0.24</span>
<p>
- Added Battery warning / scale UI<br />
- Added Min Throttle, Failsafe Throttle UI<br />
- Stronger Input validation<br />
- Bugfixes<br />
</p>
<ul>
<li>Added Min Throttle, Failsafe Throttle UI</li>
<li>Stronger Input validation</li>
<li>Bugfixes</li>
</ul>
<span>2014.01.04 - 0.23</span>
<p>
- Various UI changes across the board<br />
</p>
<ul>
<li>Various UI changes across the board</li>
</ul>
<span>2013.12.29 - 0.22</span>
<p>
- Added auto-connect feature (enabled by default)<br />
- Bugfixes<br />
</p>
<ul>
<li>Added auto-connect feature (enabled by default)</li>
<li>Bugfixes</li>
</ul>
<span>2013.12.18 - 0.21</span>
<p>
- Handle small screen resolutions more gracefully<br />
- Bugfix for Servo tab save button &amp; CAMSTAB<br />
</p>
<ul>
<li>Handle small screen resolutions more gracefully</li>
<li>Bugfix for Servo tab save button &amp; CAMSTAB</li>
</ul>
<span>2013.12.16 - 0.20</span>
<p>
- Minor iprovements &amp; bugfixes<br />
</p>
<ul>
<li>Minor iprovements &amp; bugfixes</li>
</ul>
<span>2013.12.09 - 0.19</span>
<p>
- Added packet error counter in status bar<br />
- Servos tab now also shows servos that belong to servo_tilt<br />
- Potential bugfixes for STM32 flasher<br />
- Minor iprovements &amp; bugfixes<br />
</p>
<ul>
<li>Added packet error counter in status bar</li>
<li>Servos tab now also shows servos that belong to servo_tilt</li>
<li>Potential bugfixes for STM32 flasher</li>
<li>Minor iprovements &amp; bugfixes</li>
</ul>
<span>2013.11.26 - 0.18</span>
<p>
- Removing Refresh button<br />
- Ports are automatically pulled in the background<br />
- Added Gimbal mixer suppor to Servos tab (experimental)<br />
- Small UI changes related to connect sequence<br />
- Added "error" user notifications if initial connect times out<br />
</p>
<ul>
<li>Removing Refresh button</li>
<li>Ports are automatically pulled in the background</li>
<li>Added Gimbal mixer suppor to Servos tab (experimental)</li>
<li>Small UI changes related to connect sequence</li>
<li>Added "error" user notifications if initial connect times out</li>
</ul>
<span>2013.11.17 - 0.17</span>
<p>
- Extensive work on Firmware Flasher &amp; STM32 protocol<br />
- Faster flashing speed (improvement of about 24%)<br />
- Using separate thread for hex file parsing (multithreading)<br />
- Bugfixes related to flashing gnu compiled .hex files<br />
</p>
<ul>
<li>Extensive work on Firmware Flasher &amp; STM32 protocol</li>
<li>Faster flashing speed (improvement of about 24%)</li>
<li>Using separate thread for hex file parsing (multithreading)</li>
<li>Bugfixes related to flashing gnu compiled .hex files</li>
</ul>
<span>2013.11.14 - 0.16</span>
<p>
- Minimum required Google Chrome / Chromium version is now 31<br />
- Polished Firmware Flasher UI<br />
- Bugfixes related to flashing rev5 naze boards<br />
</p>
<ul>
<li>Minimum required Google Chrome / Chromium version is now 31</li>
<li>Polished Firmware Flasher UI</li>
<li>Bugfixes related to flashing rev5 naze boards</li>
</ul>
<span>2013.11.14 - 0.15</span>
<p>
- Added firmware flasher (currently supporting 2 modes)<br />
- 1 - "local flashing", from a .hex file<br />
- 2 - "online flashing", latest firmware is fetched from github.com<br />
</p>
<ul>
<li>Added firmware flasher (currently supporting 2 modes)</li>
<li>1 - "local flashing", from a .hex file</li>
<li>2 - "online flashing", latest firmware is fetched from github.com</li>
</ul>
<span>2013.11.12 - 0.14</span>
<p>
- Re-Enabled Servos tab (hopefully with all problems sorted out)<br />
- Added support for "Motor Testing Mode" in Motor/Servo Outputs tab<br />
- Updated MSP<br />
- Utilizing notification API to promote new app version updates<br />
</p>
<ul>
<li>Re-Enabled Servos tab (hopefully with all problems sorted out)</li>
<li>Added support for "Motor Testing Mode" in Motor/Servo Outputs tab</li>
<li>Updated MSP</li>
<li>Utilizing notification API to promote new app version updates</li>
</ul>
<span>2013.11.10 - 0.13</span>
<p>
- Disabling Servos tab until all bugs are ironed out<br />
- Bugfixes<br />
</p>
<ul>
<li>Disabling Servos tab until all bugs are ironed out</li>
<li>Bugfixes</li>
</ul>
<span>2013.11.09 - 0.12</span>
<p>
- Bugfixes related to failing connect procedure<br />
- Bugfixes related to GPS data types<br />
- Implemented experimental <strong>Servos</strong> tab<br />
- Updated MSP to the latest version<br />
- Major MSP refactoring, improving reliability in some cases<br />
- Initial notify implementation for critical errors<br />
</p>
<ul>
<li>Bugfixes related to failing connect procedure</li>
<li>Bugfixes related to GPS data types</li>
<li>Implemented experimental <strong>Servos</strong> tab
</li>
<li>Updated MSP to the latest version</li>
<li>Major MSP refactoring, improving reliability in some cases</li>
<li>Initial notify implementation for critical errors</li>
</ul>
<span>2013.11.02 - 0.11</span>
<p>
- Debug values are now displayed and plotted in Sensor tab (dade)<br />
- Command history in CLI tab (dade)<br />
- Bugfixes related to GPS tab<br />
</p>
<ul>
<li>Debug values are now displayed and plotted in Sensor tab (dade)</li>
<li>Command history in CLI tab (dade)</li>
<li>Bugfixes related to GPS tab</li>
</ul>
<span>2013.10.30 - 0.10</span>
<p>
- AUX Configuration now shows current AUX channel state<br />
- Polished couple of texts<br />
- Added changelog within the app<br />
- 3D view in Initial Setup now displays model type selected<br />
</p>
<ul>
<li>AUX Configuration now shows current AUX channel state</li>
<li>Polished couple of texts</li>
<li>Added changelog within the app</li>
<li>3D view in Initial Setup now displays model type selected</li>
</ul>
<span>2013.10.16 - 0.9</span>
<p>
- Polished Auxiliary configuration tab<br />
- Polished Raw sensod data tab<br />
- Updated libraries<br />
</p>
<ul>
<li>Polished Auxiliary configuration tab</li>
<li>Polished Raw sensod data tab</li>
<li>Updated libraries</li>
</ul>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 456 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 635 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 612 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 448 KiB

Before

Width:  |  Height:  |  Size: 114 KiB

After

Width:  |  Height:  |  Size: 114 KiB

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

@ -10,9 +10,8 @@ function startApplication() {
id: 'main-window',
frame: 'chrome',
innerBounds: {
minWidth: 1024, // changed from 960
minHeight: 700 // changed from 625
minWidth: 1024,
minHeight: 700
}
}, function (createdWindow) {
createdWindow.contentWindow.addEventListener('load', function () {

@ -3,34 +3,47 @@
var BOARD_DEFINITIONS = [
{
name: "CC3D",
identifier: "CC3D"
identifier: "CC3D",
vcp: true
}, {
name: "ChebuzzF3",
identifier: "CHF3"
identifier: "CHF3",
vcp: false
}, {
name: "CJMCU",
identifier: "CJM1"
identifier: "CJM1",
vcp: false
}, {
name: "EUSTM32F103RB",
identifier: "EUF1"
identifier: "EUF1",
vcp: false
}, {
name: "Naze/Flip32+",
identifier: "AFNA"
identifier: "AFNA",
vcp: false
}, {
name: "Naze32Pro",
identifier: "AFF3"
identifier: "AFF3",
vcp: false
}, {
name: "Olimexino",
identifier: "OLI1"
}, {
name: "Port103R",
identifier: "103R"
identifier: "103R",
vcp: false
}, {
name: "Sparky",
identifier: "SPKY"
identifier: "SPKY",
vcp: true
}, {
name: "STM32F3Discovery",
identifier: "SDF3"
identifier: "SDF3",
vcp: true
}, {
name: "Colibri Race",
identifier: "CLBR",
vcp: true
}, {
name: "SP Racing F3",
identifier: "SRF3",
@ -44,7 +57,8 @@ var BOARD_DEFINITIONS = [
var DEFAULT_BOARD_DEFINITION = {
name: "Unknown",
identifier: "????"
identifier: "????",
vcp: false
};
var BOARD = {
@ -61,4 +75,3 @@ BOARD.find_board_definition = function (identifier) {
}
return DEFAULT_BOARD_DEFINITION;
};

@ -1,82 +0,0 @@
jBox
====
jBox is a powerful and flexible jQuery plugin, taking care of all your modal windows, tooltips, notices and more.
Demo: http://stephanwagner.me/jBox
Docs: http://stephanwagner.me/jBox/documentation
Tooltips
--------
You can use jQuery selectors to add tooltips to elements:
$('.tooltip').jBox('Tooltip');
Now elements with class="tooltip" will open tooltips:
<span class="tooltip" title="My first tooltip">Hover me!</span>
<span class="tooltip" title="My second tooltip">Hover me!</span>
Modal windows
-------------
You can set up modal windows the same way as tooltips.
But most of times you'd want more variety, like a title or HTML content:
new jBox('Modal', {
width: 300,
height: 200,
attach: $('#myModal'),
title: 'My Modal Window',
content: '<i>Hello there!</i>'
});
<div id="myModal">Click me to open a modal window!</div>
Confirm windows
---------------
Confirm windows are modal windows which requires the user to confirm a click action on an element.
Give an element the attribute data-confirm to attach it:
new jBox('Confirm', {
confirmButton: 'Do it!',
cancelButton: 'Nope'
});
<div onclick="doit()" data-confirm="Do you really want to do this?">Click me!</div>
<a href="http://stephanwagner.me" data-confirm="Do you really want to leave this page?">Click me!</a>
Notices
-------
A notice will open automatically and destroy itself after some time:
new jBox('Notice', {
content: 'Hurray! A notice!'
});
Images
------
To create image modal windows you only need following few lines:
new jBox('Image');
<a href="/image-large.jpg" data-jbox-image="gallery1" title="My image"><img src="/image.jpg" alt=""></a>
Learn more
----------
These few examples are very basic.
The jBox library is quite powerful and offers a vast variety of options to customize appearance and behavior.
Learn more in the documentation: http://stephanwagner.me/jBox/documentation

File diff suppressed because it is too large Load Diff

@ -1,6 +0,0 @@
.DS_STORE
build/
components/
bower_components/
node_modules/
test.html

@ -1,139 +0,0 @@
0.8.1 / 2015-06-26
==================
* Check disabled values properly, because of `.isDisabled()` method returning improper value
0.8.0 / 2015-04-03
==================
* Secondary jack color functionality
* Enable/disable switch dynamically
* Destroy event handlers attached to a Switchery instance
* Meteor.js integration
0.7.0 / 2014-12-09
==================
* Respect `readonly` attribute on checkbox input
* Large and small size switches
0.6.3 / 2014-11-02
==================
* Update component version
* Added separate Jack color option
* Add the CSS file to bower.json
* Fix bug in Hongmi phone
* Fixing issue found in IE9+ with change event dispatch
0.6.2 / 2014-08-22
==================
* Prevent text selection on double click
0.6.1 / 2014-07-11
==================
* Fix switch click state when inside label
0.6.0 / 2014-05-22
==================
* Corresponding label with `for` attribute of the native input, to change switch state as well
* Do not copy input's `id` and `name` attributes to switch
0.5.5 / 2014-05-14
==================
* Set secondary color to be background color on switch off state
0.5.4 / 2014-04-29
==================
* Fix box-sizing when using Bootstrap 3
0.5.3 / 2014-04-12
==================
* Detect native checkbox state change
0.5.2 / 2014-04-03
==================
* Enable event bubbles
0.5.1 / 2014-03-22
==================
* Fix jack position when switch is hidden
0.5.0 / 2014-02-07
==================
* Removes the internal validation for loaded switches and lets people do it on their own
* Sets a data attribute to handle multiple calls for a checkbox
0.4.2 / 2014-01-24
==================
* Resolve property method issues in IE
* Disable label checkbox change event
* Check if element is null
0.4.1 / 2014-01-18
==================
* Fix Event errors in IE8
0.4.0 / 2014-01-15
==================
* Use ftlabs/fastclick for mobile browser optimization
0.3.6 / 2014-01-04
==================
* Generate new standalone file
* Refactor code
* Use event constructors to create onchange and click events
* Updated standalone to dist in bower.json
* Required files
* Add development info
0.3.5 / 2013-12-31
==================
* Proper checkbox value with onchange event
0.3.4 / 2013-12-31
==================
* Merge ni-c:master
* Refactor onchange
0.3.3 / 2013-12-28
==================
* Merge pull request from tenbits:patch-1
* Leave first line empty
* Undefined option's property
* Update Readme
* Update standalone
* Changelog
* Standalone -> dist, update Readme, add changelog
0.3.2 / 2013-12-27
==================
* Standalone -> dist, update Readme, add changelog
* Merge pull request from vesln:min
* Add minified versions
* Minify CSS & JS
* Fix the standalone build & improve Makefile
* Ignore node_modules
* Add package.json
* Disabled opacity option
* Disabled opacity option
* Insert switch after target element
* Require Transitionize

@ -1,285 +0,0 @@
![Switchery](http://i.imgur.com/xJAM3Jq.png)
## Description
Switchery is a simple component that helps you turn your default HTML checkbox inputs into beautiful iOS 7 style switches in just few simple steps. You can easily customize switches, so that they match your design perfectly.
Supported by all modern browsers: Chrome, Firefox, Opera, Safari, IE8+
![Preview](http://i.imgur.com/0PcuTbO.jpg)
[Live Preview](http://abpetkov.github.io/switchery/)
## Installation
##### Standalone:
```html
<link rel="stylesheet" href="dist/switchery.css" />
<script src="dist/switchery.js"></script>
```
##### Component:
```shell
$ component install abpetkov/switchery
```
##### Bower:
```shell
$ bower install switchery
```
##### Rails
To use Switchery in your rails app, add this to your Gemfile:
```rails
gem 'switchery-rails'
```
Or go to [Switchery Rails gem page](https://rubygems.org/gems/switchery-rails) for more info, documentation and instructions.
##### Angular JS
For thorough installation and usage instructions on how to use Switchery with Angular JS, check out this repo: [servergrove/NgSwitchery](https://github.com/servergrove/NgSwitchery)
##### Meteor
You can install Switchery to your Meteor.js app via:
```shell
$ meteor add abpetkov:switchery
```
[Switchery on Atmosphere](https://atmospherejs.com/abpetkov/switchery)
## Usage
```js
var elem = document.querySelector('.js-switch');
var init = new Switchery(elem);
```
Use the above for the standalone version.
## Settings and Defaults
```js
defaults = {
color : '#64bd63'
, secondaryColor : '#dfdfdf'
, jackColor : '#fff'
, jackSecondaryColor: null
, className : 'switchery'
, disabled : false
, disabledOpacity : 0.5
, speed : '0.4s'
, size : 'default'
};
```
- `color` : color of the switch element (HEX or RGB value)
- `secondaryColor` : secondary color for background color and border, when the switch is off
- `jackColor` : default color of the jack/handle element
- `jackSecondaryColor` : color of unchecked jack/handle element
- `className` : class name for the switch element (by default styled in switchery.css)
- `disabled` : enable or disable click events and changing the state of the switch (boolean value)
- `disabledOpacity` : opacity of the switch when it's disabled (0 to 1)
- `speed` : length of time that the transition will take, ex. '0.4s', '1s', '2.2s' (Note: transition speed of the handle is twice shorter)
- `size` : size of the switch element (small or large)
## API
##### .destroy()
Unbinding all event handlers attached to the switch element to prepare the object for garbage collection.
##### .enable()
Enable disabled switch by re-adding event handlers and changing the opacity to 1.
##### .disable()
Disable switch by unbinding attached events and changing opacity to `disabledOpacity` value.
##### .isDisabled()
Check if switch is currently disabled by checking the `readonly` and `disabled` attributes on the checkbox and the `disabled` option set via JS. If any of those are present, the returned value is `true`.
## Examples
##### Checked
Only thing you need is to add a `checked` attribute to your checkbox input. Simple as that.
```html
<input type="checkbox" class="js-switch" checked />
```
##### Multiple switches
You can add as many switches as you like, as long as their corresponding checkboxes have the same class. Select them and make new instance of the Switchery class for every of them.
```js
var elems = Array.prototype.slice.call(document.querySelectorAll('.js-switch'));
elems.forEach(function(html) {
var switchery = new Switchery(html);
});
```
![Multiple](http://i.imgur.com/Ip4xy4s.jpg)
##### Multiple calls
You can filter out existing elements that have already been called by looking for `data-switchery="true"`.
##### Disabled
Use the `disabled` option to make your switch active or inactive.
```js
var switchery = new Switchery(elem, { disabled: true });
```
Customize the default opacity of the disabled switch, using the `disabledOpacity` option.
```js
var switchery = new Switchery(elem, { disabled: true, disabledOpacity: 0.75 });
```
Adding `disabled` or `readonly` attribute to the native input element will result in the switch being disabled as well.
##### Colored
You can change the primary(on) and secondary(off) color of the switch to fit your design perfectly. Accomplish this, changing the `color` and `secondaryColor` options. The jack colors are also customizable via the `jackColor` and the `jackSecondaryColor` options. Below is a good example of what you can accomplish using those.
```js
var switchery = new Switchery(elem, { color: '#7c8bc7', jackColor: '#9decff' });
```
![JackColor](http://i.imgur.com/7ztX29e.png)
or
```js
var switchery = new Switchery(elem, { color: '#faab43', secondaryColor: '#fC73d0', jackColor: '#fcf45e', jackSecondaryColor: '#c8ff77' });
```
![JackSecondaryColor](http://i.imgur.com/KS0H8ac.png)
Any other changes regarding colors you want to make, should take place in `switchery.css`.
##### Sizes
Since version 0.7.0 you can change the sizes of the switch element via `size`. Giving it a value of `small` or `large` will result in adding `switchery-small` or `switchery-large` classes respectively, which will change the switch size.
Not using this property will render the default sized switch element.
```js
var switchery = new Switchery(elem, { size: 'small' });
// ... or
var switchery = new Switchery(elem, { size: 'large' });
```
![SwitchSizes](http://i.imgur.com/TVlgvx7.png)
##### Checking state
In many cases, you'll need to have the current state of the checkbox, checked or not. I'll demostrate how to do this in the two most common situations - getting the state on click and on change.
On click:
```js
var clickCheckbox = document.querySelector('.js-check-click')
, clickButton = document.querySelector('.js-check-click-button');
clickButton.addEventListener('click', function() {
alert(clickCheckbox.checked);
});
```
On change:
```js
var changeCheckbox = document.querySelector('.js-check-change');
changeCheckbox.onchange = function() {
alert(changeCheckbox.checked);
};
```
##### Legacy browsers
If you are an adventurer and like to support legacy browsers, like IE8 and IE7, apply your favourite fix for rounded corners and box shadows and try a slightly different approach.
```js
var elems = document.querySelectorAll('.js-switch');
for (var i = 0; i < elems.length; i++) {
var switchery = new Switchery(elems[i]);
}
```
Personally I recommend using [CSS3 PIE](http://css3pie.com/). For working example you can check out the demo page.
## Development
If you've decided to go in development mode and tweak all of this a bit, there are few things you should do.
After you clone the repository, do this in your terminal ([NPM](http://npmjs.org/) required):
```shell
$ npm install
```
Add the following code before the rest:
```js
var Switchery = require('switchery');
```
Make sure you're using the `build/build.js` and `build/build.css` files and you're ready.
There are some useful commands you can use.
`$ make install` - will install Node.js modules, components etc.
`$ make build` - will create a build file
`$ make standalone` - will create a standalone and minified files
## Credits
Big thanks to:
- [Veselin Todorov](https://github.com/vesln)
## Contact
If you like this component, share your appreciation by following me in [Twitter](https://twitter.com/abpetkov), [GitHub](https://github.com/abpetkov) or [Dribbble](http://dribbble.com/apetkov).
## License
The MIT License (MIT)
Copyright (c) 2013-2015 Alexander Petkov
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

@ -1,35 +0,0 @@
{
"name": "switchery",
"main": [
"dist/switchery.js",
"dist/switchery.css"
],
"version": "0.8.1",
"homepage": "http://abpetkov.github.io/switchery/",
"author": [
"Alexander Petkov <abpetkov@gmail.com> (https://github.com/abpetkov)"
],
"description": "Component to create iOS 7 styled switches from default input checkboxes",
"keywords": [
"checkbox",
"input",
"switch",
"iOS7"
],
"license": "MIT",
"ignore": [
"build",
"components",
"node_modules",
"bower_components",
"component.json",
"Makefile",
"README.md",
".*"
],
"dependencies": {
"transitionize": "*",
"fastclick": "v0.6.11"
},
"devDependencies": {}
}

@ -1,27 +0,0 @@
{
"name": "switchery",
"repo": "abpetkov/switchery",
"description": "Component to create iOS 7 styled switches from default input checkboxes",
"version": "0.8.1",
"keywords": [
"checkbox",
"input",
"switch",
"iOS7"
],
"license": "MIT",
"main": "switchery.js",
"scripts": [
"switchery.js"
],
"styles": [
"switchery.css"
],
"dependencies": {
"abpetkov/transitionize": "*",
"ftlabs/fastclick": "v0.6.11",
"component/classes": "1.2.1",
"component/events": "1.0.9"
},
"development": {}
}

@ -1 +0,0 @@
.switchery{background-color:#fff;border:1px solid #dfdfdf;border-radius:20px;cursor:pointer;display:inline-block;height:30px;position:relative;vertical-align:middle;width:50px;-moz-user-select:none;-khtml-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;box-sizing:content-box;background-clip:content-box}.switchery>small{background:#fff;border-radius:100%;box-shadow:0 1px 3px rgba(0,0,0,0.4);height:30px;position:absolute;top:0;width:30px}.switchery-small{border-radius:20px;height:20px;width:33px}.switchery-small>small{height:20px;width:20px}.switchery-large{border-radius:40px;height:40px;width:66px}.switchery-large>small{height:40px;width:40px}

File diff suppressed because one or more lines are too long

@ -1,3 +0,0 @@
/*global Switchery:true*/ // Meteor creates a file-scope global for exporting. This comment prevents a potential JSHint warning.
Switchery = window.Switchery;
delete window.Switchery;

@ -1,10 +0,0 @@
'use strict';
Tinytest.add('Switchery integration', function (test) {
var checkbox = document.createElement('input');
checkbox.className = 'js-switch';
var switchy = new Switchery(checkbox);
test.instanceOf(switchy, Switchery, 'instantiation OK');
});

@ -1,24 +0,0 @@
// package metadata file for Meteor.js
'use strict';
var packageName = 'abpetkov:switchery'; // https://atmospherejs.com/mediatainment/switchery
var where = 'client'; // where to install: 'client' or 'server'. For both, pass nothing.
Package.describe({
name: packageName,
summary: 'Switchery (official) - turns your default HTML checkbox inputs into beautiful iOS 7 style switches.',
version: "0.1.0", //packageJson.version,
git: 'https://github.com/abpetkov/switchery'
});
Package.onUse(function(api) {
api.versionsFrom(['METEOR@0.9.0', 'METEOR@1.0']);
api.export('Switchery');
api.addFiles(['dist/switchery.js', 'dist/switchery.css', 'meteor/export.js'], where);
});
Package.onTest(function(api) {
api.use(packageName, where);
api.use('tinytest', where);
api.addFiles('meteor/tests.js', where); // testing specific files
});

@ -1,22 +0,0 @@
{
"name": "switchery",
"version": "0.8.1",
"description": "Create iOS 7 styled switches from default input checkboxes",
"main": "switchery.js",
"repository": {
"type": "git",
"url": "git://github.com/abpetkov/switchery.git"
},
"author": "Alexander Petkov",
"license": "MIT",
"bugs": {
"url": "https://github.com/abpetkov/switchery/issues"
},
"devDependencies": {
"uglify-js": "~2.4.8",
"component": "^1.0.0",
"uglifycss": "0.0.7",
"grunt-exec": "latest",
"spacejam": "latest"
}
}

@ -135,23 +135,6 @@ $(document).ready(function () {
});
/** toggle switch **/
var elems = Array.prototype.slice.call(document.querySelectorAll('#togglesmall'));
elems.forEach(function(html) {
var switchery = new Switchery(html,
{
size: 'small',
color: '#59aa29',
secondaryColor: '#c4c4c4'
});
});
/** toggle switch END **/
});
@ -276,14 +259,6 @@ function onConnect() {
if ("CLFL" == CONFIG.flightControllerIdentifier){
/* placing this elsewhere
documentationButton.show();
var documentationButton = $('div#content #button-documentation');
documentationButton.html("Documentation for "+CONFIG.flightControllerVersion);
documentationButton.attr("href","https://github.com/cleanflight/cleanflight/tree/v{0}/docs".format(CONFIG.flightControllerVersion));
/* */
var sensor_state = $('#sensor-status');
sensor_state.show();

1533
main.css

File diff suppressed because it is too large Load Diff

@ -1,84 +1,83 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="cTn" />
<!--link type="text/css" rel="stylesheet" href="./main2.css" media="all" /-->
<link type="text/css" rel="stylesheet" href="./main.css" media="all" id="default" />
<link type="text/css" rel="stylesheet" href="./js/libraries/jquery.nouislider.min.css" />
<link type="text/css" rel="stylesheet" href="./js/libraries/jquery.nouislider.pips.min.css" />
<link type="text/css" rel="stylesheet" href="./js/libraries/flightindicators.css" />
<link type="text/css" rel="stylesheet" href="./tabs/landing.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/setup.css"media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/help.css"media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/ports.css"media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/configuration.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/pid_tuning.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/receiver.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/servos.css"media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/gps.css"media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/motors.css"media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/led_strip.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/sensors.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/cli.css"media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/logging.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/dataflash.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/firmware_flasher.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/adjustments.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/auxiliary.css" media="all" />
<link type="text/css" rel="stylesheet" href="./styles/opensans_webfontkit/fonts.css" media="all" />
<link type="text/css" rel="stylesheet" href="./styles/dropdown-lists/css/style_lists.css" media="all" />
<link type="text/css" rel="stylesheet" href="./js/libraries/switchery/dist/switchery.css" media="all" />
<link rel="stylesheet" type="text/css" href="./js/libraries/jbox/jBox.css" />
<script type="text/javascript" src="./js/libraries/q.js"></script>
<script type="text/javascript" src="./js/libraries/google-analytics-bundle.js"></script>
<script type="text/javascript" src="./js/libraries/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="./js/libraries/jquery-ui-1.11.4.min.js"></script>
<script type="text/javascript" src="./js/libraries/d3.min.js"></script>
<script type="text/javascript" src="./js/libraries/jquery.nouislider.all.min.js"></script>
<script type="text/javascript" src="./js/libraries/three/three.min.js"></script>
<script type="text/javascript" src="./js/libraries/three/Projector.js"></script>
<script type="text/javascript" src="./js/libraries/three/CanvasRenderer.js"></script>
<script type="text/javascript" src="./js/libraries/jquery.flightindicators.js"></script>
<script type="text/javascript" src="./js/libraries/semver.js"></script>
<script type="text/javascript" src="./js/port_handler.js"></script>
<script type="text/javascript" src="./js/port_usage.js"></script>
<script type="text/javascript" src="./js/serial.js"></script>
<script type="text/javascript" src="./js/gui.js"></script>
<script type="text/javascript" src="./js/model.js"></script>
<script type="text/javascript" src="./js/request_balancer.js"></script>
<script type="text/javascript" src="./js/serial_backend.js"></script>
<script type="text/javascript" src="./js/data_storage.js"></script>
<script type="text/javascript" src="./js/msp.js"></script>
<script type="text/javascript" src="./js/backup_restore.js"></script>
<script type="text/javascript" src="./js/protocols/stm32.js"></script>
<script type="text/javascript" src="./js/protocols/stm32usbdfu.js"></script>
<script type="text/javascript" src="./js/localization.js"></script>
<script type="text/javascript" src="./js/boards.js"></script>
<script type="text/javascript" src="./main.js"></script>
<script type="text/javascript" src="./tabs/landing.js"></script>
<script type="text/javascript" src="./tabs/setup.js"></script>
<script type="text/javascript" src="./tabs/help.js"></script>
<script type="text/javascript" src="./tabs/ports.js"></script>
<script type="text/javascript" src="./tabs/configuration.js"></script>
<script type="text/javascript" src="./tabs/pid_tuning.js"></script>
<script type="text/javascript" src="./tabs/receiver.js"></script>
<script type="text/javascript" src="./tabs/auxiliary.js"></script>
<script type="text/javascript" src="./tabs/adjustments.js"></script>
<script type="text/javascript" src="./tabs/servos.js"></script>
<script type="text/javascript" src="./tabs/gps.js"></script>
<script type="text/javascript" src="./tabs/motors.js"></script>
<script type="text/javascript" src="./tabs/led_strip.js"></script>
<script type="text/javascript" src="./tabs/sensors.js"></script>
<script type="text/javascript" src="./tabs/cli.js"></script>
<script type="text/javascript" src="./tabs/logging.js"></script>
<script type="text/javascript" src="./tabs/dataflash.js"></script>
<script type="text/javascript" src="./tabs/firmware_flasher.js"></script>
<script type="text/javascript" src="./js/libraries/jbox/jBox.js"></script>
<script type="text/javascript" src="./js/libraries/switchery/dist/switchery.js"></script>
<title></title>
</head>
<body>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="author" content="cTn" />
<link type="text/css" rel="stylesheet" href="./main.css" media="all"/>
<link type="text/css" rel="stylesheet" href="./js/libraries/jquery.nouislider.min.css" />
<link type="text/css" rel="stylesheet" href="./js/libraries/jquery.nouislider.pips.min.css" />
<link type="text/css" rel="stylesheet" href="./js/libraries/flightindicators.css" />
<link type="text/css" rel="stylesheet" href="./tabs/landing.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/setup.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/help.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/ports.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/configuration.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/pid_tuning.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/receiver.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/servos.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/gps.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/motors.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/led_strip.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/sensors.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/cli.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/logging.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/dataflash.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/firmware_flasher.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/adjustments.css" media="all" />
<link type="text/css" rel="stylesheet" href="./tabs/auxiliary.css" media="all" />
<link type="text/css" rel="stylesheet" href="./css/opensans_webfontkit/fonts.css" media="all" />
<link type="text/css" rel="stylesheet" href="./css/dropdown-lists/css/style_lists.css" media="all" />
<link type="text/css" rel="stylesheet" href="./js/libraries/switchery/switchery.css" media="all" />
<link rel="stylesheet" type="text/css" href="./js/libraries/jbox/jBox.css" />
<script type="text/javascript" src="./js/libraries/q.js"></script>
<script type="text/javascript" src="./js/libraries/google-analytics-bundle.js"></script>
<script type="text/javascript" src="./js/libraries/jquery-2.1.4.min.js"></script>
<script type="text/javascript" src="./js/libraries/jquery-ui-1.11.4.min.js"></script>
<script type="text/javascript" src="./js/libraries/d3.min.js"></script>
<script type="text/javascript" src="./js/libraries/jquery.nouislider.all.min.js"></script>
<script type="text/javascript" src="./js/libraries/three/three.min.js"></script>
<script type="text/javascript" src="./js/libraries/three/Projector.js"></script>
<script type="text/javascript" src="./js/libraries/three/CanvasRenderer.js"></script>
<script type="text/javascript" src="./js/libraries/jquery.flightindicators.js"></script>
<script type="text/javascript" src="./js/libraries/semver.js"></script>
<script type="text/javascript" src="./js/libraries/jbox/jBox.min.js"></script>
<script type="text/javascript" src="./js/libraries/switchery/switchery.js"></script>
<script type="text/javascript" src="./js/port_handler.js"></script>
<script type="text/javascript" src="./js/port_usage.js"></script>
<script type="text/javascript" src="./js/serial.js"></script>
<script type="text/javascript" src="./js/gui.js"></script>
<script type="text/javascript" src="./js/model.js"></script>
<script type="text/javascript" src="./js/request_balancer.js"></script>
<script type="text/javascript" src="./js/serial_backend.js"></script>
<script type="text/javascript" src="./js/data_storage.js"></script>
<script type="text/javascript" src="./js/msp.js"></script>
<script type="text/javascript" src="./js/backup_restore.js"></script>
<script type="text/javascript" src="./js/protocols/stm32.js"></script>
<script type="text/javascript" src="./js/protocols/stm32usbdfu.js"></script>
<script type="text/javascript" src="./js/localization.js"></script>
<script type="text/javascript" src="./js/boards.js"></script>
<script type="text/javascript" src="./main.js"></script>
<script type="text/javascript" src="./tabs/landing.js"></script>
<script type="text/javascript" src="./tabs/setup.js"></script>
<script type="text/javascript" src="./tabs/help.js"></script>
<script type="text/javascript" src="./tabs/ports.js"></script>
<script type="text/javascript" src="./tabs/configuration.js"></script>
<script type="text/javascript" src="./tabs/pid_tuning.js"></script>
<script type="text/javascript" src="./tabs/receiver.js"></script>
<script type="text/javascript" src="./tabs/auxiliary.js"></script>
<script type="text/javascript" src="./tabs/adjustments.js"></script>
<script type="text/javascript" src="./tabs/servos.js"></script>
<script type="text/javascript" src="./tabs/gps.js"></script>
<script type="text/javascript" src="./tabs/motors.js"></script>
<script type="text/javascript" src="./tabs/led_strip.js"></script>
<script type="text/javascript" src="./tabs/sensors.js"></script>
<script type="text/javascript" src="./tabs/cli.js"></script>
<script type="text/javascript" src="./tabs/logging.js"></script>
<script type="text/javascript" src="./tabs/dataflash.js"></script>
<script type="text/javascript" src="./tabs/firmware_flasher.js"></script>
<title></title>
</head>
<body>
<div id="main-wrapper">
<div class="headerbar">
<div id="logo">
@ -117,10 +116,12 @@
</select>
</div>
<div id="port-override-option">
<label for="port-override">Port: <input id="port-override" type="text" value="/dev/rfcomm0"/></label>
<label for="port-override">Port: <input id="port-override" type="text"
value="/dev/rfcomm0" /></label>
</div>
<div>
<label><input class="auto_connect" type="checkbox" id="togglesmall" /><span class="auto_connect" i18n="autoConnect"></span></label>
<label><input class="auto_connect togglesmall" type="checkbox" /><span
class="auto_connect" i18n="autoConnect"></span></label>
</div>
</div>
</div>
@ -151,33 +152,45 @@
</div>
<div class="clear-both"></div>
<div id="log">
<div class="logswitch"><a href="#" id="showlog">Show Log</a></div>
<div id="scrollicon"></div>
<div class="wrapper">
<div class="logswitch">
<a href="#" id="showlog">Show Log</a>
</div>
<div id="scrollicon"></div>
<div class="wrapper"></div>
</div>
<div class="tab_container">
<div id="tabs">
<ul class="mode-disconnected">
<li class="tab_landing"><a href="#" i18n="tabLanding" class="tabicon ic_welcome" title="Welcome"></a></li>
<li class="tab_help"><a href="#" i18n="tabHelp" class="tabicon ic_help" title="Documentation & Support"></a></li>
<li class="tab_firmware_flasher"><a href="#" i18n="tabFirmwareFlasher" class="tabicon ic_flasher" title="Firmware Flasher"></a></li>
<li class="tab_landing"><a href="#" i18n="tabLanding" class="tabicon ic_welcome"
title="Welcome"></a></li>
<li class="tab_help"><a href="#" i18n="tabHelp" class="tabicon ic_help"
title="Documentation & Support"></a></li>
<li class="tab_firmware_flasher"><a href="#" i18n="tabFirmwareFlasher"
class="tabicon ic_flasher" title="Firmware Flasher"></a></li>
</ul>
<ul class="mode-connected">
<li class="tab_setup"><a href="#" i18n="tabSetup" class="tabicon ic_setup" title="Setup"></a></li>
<li class="tab_ports"><a href="#" i18n="tabPorts" class="tabicon ic_ports" title="Ports"></a></li>
<li class="tab_configuration"><a href="#" i18n="tabConfiguration" class="tabicon ic_config" title="Configuration"></a></li>
<li class="tab_pid_tuning"><a href="#" i18n="tabPidTuning" class="tabicon ic_pid" title="PID Tuning"></a></li>
<li class="tab_configuration"><a href="#" i18n="tabConfiguration" class="tabicon ic_config"
title="Configuration"></a></li>
<li class="tab_pid_tuning"><a href="#" i18n="tabPidTuning" class="tabicon ic_pid"
title="PID Tuning"></a></li>
<li class="tab_receiver"><a href="#" i18n="tabReceiver" class="tabicon ic_rx" title="Receiver"></a></li>
<li class="tab_auxiliary"><a href="#" i18n="tabAuxiliary" class="tabicon ic_modes" title="Modes"></a></li>
<li class="tab_adjustments"><a href="#" i18n="tabAdjustments" class="tabicon ic_adjust" title="Adjustments"></a></li>
<li class="tab_auxiliary"><a href="#" i18n="tabAuxiliary" class="tabicon ic_modes"
title="Modes"></a></li>
<li class="tab_adjustments"><a href="#" i18n="tabAdjustments" class="tabicon ic_adjust"
title="Adjustments"></a></li>
<li class="tab_servos"><a href="#" i18n="tabServos" class="tabicon ic_servo" title="Servos"></a></li>
<li class="tab_gps"><a href="#" i18n="tabGPS" class="tabicon ic_gps" title="GPS"></a></li>
<li class="tab_motors"><a href="#" i18n="tabMotorTesting" class="tabicon ic_motor" title="Motors"></a></li>
<li class="tab_led_strip"><a href="#" i18n="tabLedStrip" class="tabicon ic_led" title="LED Strip"></a></li>
<li class="tab_sensors"><a href="#" i18n="tabRawSensorData" class="tabicon ic_sensors" title="Sensors"></a></li>
<li class="tab_motors"><a href="#" i18n="tabMotorTesting" class="tabicon ic_motor"
title="Motors"></a></li>
<li class="tab_led_strip"><a href="#" i18n="tabLedStrip" class="tabicon ic_led"
title="LED Strip"></a></li>
<li class="tab_sensors"><a href="#" i18n="tabRawSensorData" class="tabicon ic_sensors"
title="Sensors"></a></li>
<li class="tab_logging"><a href="#" i18n="tabLogging" class="tabicon ic_log" title="Logging"></a></li>
<li class="tab_dataflash"><a href="#" i18n="tabDataflash" class="tabicon ic_data" title="Dataflash"></a></li>
<li class="tab_dataflash"><a href="#" i18n="tabDataflash" class="tabicon ic_data"
title="Dataflash"></a></li>
<li class="tab_cli"><a href="#" i18n="tabCLI" class="tabicon ic_cli" title="CLI"></a></li>
<!-- spare icons
<li class=""><a href="#"class="tabicon ic_mission">Mission (spare icon)</a></li>
@ -188,11 +201,11 @@
</div>
<div class="clear-both"></div>
</div>
<div id="content">
</div>
<div id="content"></div>
<div id="status-bar">
<div>
<span i18n="statusbar_port_utilization"></span> <span class="port_usage_down">D: 0%</span> <span class="port_usage_up">U: 0%</span>
<span i18n="statusbar_port_utilization"></span> <span class="port_usage_down">D: 0%</span> <span
class="port_usage_up">U: 0%</span>
</div>
<div>
<span i18n="statusbar_packet_error"></span> <span class="packet-error">0</span>
@ -213,5 +226,5 @@
</div>
</div>
</div>
</body>
</body>
</html>

@ -101,6 +101,32 @@ $(document).ready(function () {
function content_ready() {
GUI.tab_switch_in_progress = false;
$('.togglesmall').each(function(index, html) {
var switchery = new Switchery(html,
{
size: 'small',
color: '#59aa29',
secondaryColor: '#c4c4c4'
});
$(html).removeClass('togglesmall');
});
$('.toggle').each(function(index, html) {
var switchery = new Switchery(html,
{
color: '#59aa29',
secondaryColor: '#c4c4c4'
});
$(html).removeClass('toggle');
});
// Build link to in-use CF version documentation
var documentationButton = $('div#content #button-documentation');
documentationButton.html("Documentation for "+CONFIG.flightControllerVersion);
documentationButton.attr("href","https://github.com/cleanflight/cleanflight/tree/v{0}/docs".format(CONFIG.flightControllerVersion));
}
switch (tab) {
@ -212,20 +238,6 @@ $(document).ready(function () {
googleAnalyticsConfig.setTrackingPermitted(check);
});
// CSS switch TEST
var css = $("#default");
$("div#options-window #remove").click(function(){
css.remove();
});
$("div#options-window #restore").click(function(){
$("head").append(css);
});
// CSS switch TEST END
function close_and_cleanup(e) {
if (e.type == 'click' && !$.contains($('div#options-window')[0], e.target) || e.type == 'keyup' && e.keyCode == 27) {
$(document).unbind('click keyup', close_and_cleanup);

@ -1,82 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 18.1.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 141.7 141.7" enable-background="new 0 0 141.7 141.7" xml:space="preserve">
<?xml version="1.0" encoding="UTF-8"?>
<!-- Public domain (CC-BY-SA if you or your laws insist), generated by Jonathan Hudson's svg_model_motors.rb -->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200pt" height="200pt" viewBox="0 0 200 200" version="1.1">
<defs>
<g>
<g>
<path fill="#BABABA" d="M33.5,107.5L33.5,107.5c-3.4-3.4-3.4-8.9,0-12.2L100.8,28c3.4-3.4,8.9-3.4,12.2,0l0,0
c3.4,3.4,3.4,8.9,0,12.2l-67.3,67.3C42.4,110.9,36.9,110.9,33.5,107.5z"/>
<circle fill="#BABABA" cx="108.1" cy="32.9" r="12.6"/>
<circle fill="#BABABA" cx="33.4" cy="107.6" r="12.6"/>
</g>
<g>
<path fill="#BABABA" d="M108,107.5L108,107.5c-3.4,3.4-8.9,3.4-12.2,0L28.5,40.2c-3.4-3.4-3.4-8.9,0-12.2l0,0
c3.4-3.4,8.9-3.4,12.2,0L108,95.3C111.4,98.6,111.4,104.1,108,107.5z"/>
<circle fill="#BABABA" cx="33.4" cy="32.9" r="12.6"/>
<circle fill="#BABABA" cx="108.1" cy="107.6" r="12.6"/>
</g>
<polygon fill="#FA0700" points="77.9,71.3 71,60.1 64.1,71.3 68,70.6 68,78.7 74,78.7 74,70.6 "/>
<g>
<g>
<g id="chevron-right">
<polygon fill="#54AD1D" points="29.6,1.8 28,3.4 33.2,8.6 28,13.7 29.6,15.3 36.3,8.6 "/>
</g>
</g>
<path fill="#54AD1D" d="M44.7,9.9l-1.1,2.3c7.6,3.8,12.9,11.7,12.9,20.7c0,12.8-10.4,23.1-23.1,23.1S10.3,45.7,10.3,32.9
S20.7,9.8,33.4,9.8c0.1,0,0.2,0,0.4,0V7.3c-0.1,0-0.2,0-0.4,0C19.3,7.3,7.8,18.8,7.8,32.9s11.5,25.6,25.6,25.6
s25.6-11.5,25.6-25.6C59.1,22.8,53.2,14.1,44.7,9.9z"/>
</g>
<g>
<g>
<g id="chevron-right_1_">
<polygon fill="#54AD1D" points="104,8.6 110.8,15.3 112.3,13.7 107.2,8.6 112.3,3.4 110.8,1.8 "/>
</g>
</g>
<path fill="#54AD1D" d="M95.6,9.9l1.1,2.3C89,16,83.8,23.8,83.8,32.9c0,12.8,10.4,23.1,23.1,23.1S130,45.7,130,32.9
S119.7,9.8,106.9,9.8c-0.1,0-0.2,0-0.4,0V7.3c0.1,0,0.2,0,0.4,0c14.1,0,25.6,11.5,25.6,25.6S121,58.6,106.9,58.6
S81.3,47.1,81.3,32.9C81.3,22.8,87.1,14.1,95.6,9.9z"/>
</g>
<g>
<g>
<g id="chevron-right_3_">
<polygon fill="#54AD1D" points="36.3,133 29.6,126.3 28,127.8 33.2,133 28,138.2 29.6,139.7 "/>
</g>
</g>
<path fill="#54AD1D" d="M44.7,131.6l-1.1-2.3c7.6-3.8,12.9-11.7,12.9-20.7c0-12.8-10.4-23.1-23.1-23.1s-23.1,10.4-23.1,23.1
s10.4,23.1,23.1,23.1c0.1,0,0.2,0,0.4,0v2.5c-0.1,0-0.2,0-0.4,0c-14.1,0-25.6-11.5-25.6-25.6S19.3,83,33.4,83s25.6,11.5,25.6,25.6
C59.1,118.7,53.2,127.5,44.7,131.6z"/>
</g>
<g>
<g>
<g id="chevron-right_2_">
<polygon fill="#54AD1D" points="110.8,139.7 112.3,138.2 107.2,133 112.3,127.8 110.8,126.3 104,133 "/>
</g>
</g>
<path fill="#54AD1D" d="M95.6,131.6l1.1-2.3c-7.6-3.8-12.9-11.7-12.9-20.7c0-12.8,10.4-23.1,23.1-23.1S130,95.9,130,108.6
s-10.4,23.1-23.1,23.1c-0.1,0-0.2,0-0.4,0v2.5c0.1,0,0.2,0,0.4,0c14.1,0,25.6-11.5,25.6-25.6S121,83,106.9,83
s-25.6,11.5-25.6,25.6C81.3,118.7,87.1,127.5,95.6,131.6z"/>
</g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d="M 1.390625 4.953125 L 1.390625 -19.75 L 15.390625 -19.75 L 15.390625 4.953125 Z M 2.96875 3.390625 L 13.84375 3.390625 L 13.84375 -18.171875 L 2.96875 -18.171875 Z M 2.96875 3.390625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 3.46875 -2.328125 L 7.984375 -2.328125 L 7.984375 -17.890625 L 3.078125 -16.90625 L 3.078125 -19.421875 L 7.953125 -20.40625 L 10.71875 -20.40625 L 10.71875 -2.328125 L 15.234375 -2.328125 L 15.234375 0 L 3.46875 0 Z M 3.46875 -2.328125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 5.375 -2.328125 L 15.015625 -2.328125 L 15.015625 0 L 2.046875 0 L 2.046875 -2.328125 C 3.097656 -3.410156 4.523438 -4.863281 6.328125 -6.6875 C 8.140625 -8.519531 9.28125 -9.703125 9.75 -10.234375 C 10.632812 -11.222656 11.25 -12.0625 11.59375 -12.75 C 11.945312 -13.4375 12.125 -14.113281 12.125 -14.78125 C 12.125 -15.863281 11.742188 -16.742188 10.984375 -17.421875 C 10.222656 -18.109375 9.234375 -18.453125 8.015625 -18.453125 C 7.148438 -18.453125 6.234375 -18.300781 5.265625 -18 C 4.304688 -17.707031 3.28125 -17.253906 2.1875 -16.640625 L 2.1875 -19.421875 C 3.300781 -19.867188 4.335938 -20.207031 5.296875 -20.4375 C 6.265625 -20.664062 7.148438 -20.78125 7.953125 -20.78125 C 10.066406 -20.78125 11.753906 -20.25 13.015625 -19.1875 C 14.273438 -18.132812 14.90625 -16.722656 14.90625 -14.953125 C 14.90625 -14.117188 14.742188 -13.320312 14.421875 -12.5625 C 14.109375 -11.8125 13.539062 -10.925781 12.71875 -9.90625 C 12.488281 -9.644531 11.757812 -8.882812 10.53125 -7.625 C 9.3125 -6.363281 7.59375 -4.597656 5.375 -2.328125 Z M 5.375 -2.328125 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 11.359375 -11 C 12.679688 -10.71875 13.710938 -10.128906 14.453125 -9.234375 C 15.203125 -8.347656 15.578125 -7.25 15.578125 -5.9375 C 15.578125 -3.914062 14.882812 -2.351562 13.5 -1.25 C 12.113281 -0.15625 10.144531 0.390625 7.59375 0.390625 C 6.726562 0.390625 5.84375 0.304688 4.9375 0.140625 C 4.03125 -0.0234375 3.097656 -0.273438 2.140625 -0.609375 L 2.140625 -3.28125 C 2.898438 -2.832031 3.734375 -2.492188 4.640625 -2.265625 C 5.554688 -2.035156 6.507812 -1.921875 7.5 -1.921875 C 9.238281 -1.921875 10.5625 -2.265625 11.46875 -2.953125 C 12.375 -3.640625 12.828125 -4.632812 12.828125 -5.9375 C 12.828125 -7.132812 12.40625 -8.070312 11.5625 -8.75 C 10.71875 -9.4375 9.546875 -9.78125 8.046875 -9.78125 L 5.65625 -9.78125 L 5.65625 -12.046875 L 8.15625 -12.046875 C 9.507812 -12.046875 10.546875 -12.316406 11.265625 -12.859375 C 11.984375 -13.398438 12.34375 -14.179688 12.34375 -15.203125 C 12.34375 -16.253906 11.972656 -17.054688 11.234375 -17.609375 C 10.492188 -18.171875 9.429688 -18.453125 8.046875 -18.453125 C 7.285156 -18.453125 6.472656 -18.367188 5.609375 -18.203125 C 4.742188 -18.046875 3.789062 -17.796875 2.75 -17.453125 L 2.75 -19.90625 C 3.800781 -20.195312 4.78125 -20.414062 5.6875 -20.5625 C 6.601562 -20.707031 7.46875 -20.78125 8.28125 -20.78125 C 10.382812 -20.78125 12.046875 -20.300781 13.265625 -19.34375 C 14.484375 -18.394531 15.09375 -17.109375 15.09375 -15.484375 C 15.09375 -14.359375 14.769531 -13.40625 14.125 -12.625 C 13.476562 -11.84375 12.554688 -11.300781 11.359375 -11 Z M 11.359375 -11 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 10.578125 -18 L 3.609375 -7.109375 L 10.578125 -7.109375 Z M 9.859375 -20.40625 L 13.328125 -20.40625 L 13.328125 -7.109375 L 16.25 -7.109375 L 16.25 -4.8125 L 13.328125 -4.8125 L 13.328125 0 L 10.578125 0 L 10.578125 -4.8125 L 1.375 -4.8125 L 1.375 -7.484375 Z M 9.859375 -20.40625 "/>
</symbol>
</g>
<g>
<path fill="#FFFFFF" d="M37.8,36.6H36v2.8h-1.3v-2.8h-5.8v-1.2l5.7-8.1H36v8h1.8V36.6z M34.7,35.4v-4c0-0.8,0-1.6,0.1-2.6h-0.1
c-0.3,0.5-0.5,0.9-0.7,1.3l-3.8,5.3H34.7z"/>
</defs>
<g id="surface11">
<path style="fill:none;stroke-width:28;stroke-linecap:round;stroke-linejoin:round;stroke:rgb(75.294118%,75.294118%,75.294118%);stroke-opacity:1;stroke-miterlimit:10;" d="M 40 40 L 160 160 M 40 160 L 160 40 "/>
<path style="fill:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(25.490196%,41.176471%,88.235294%);stroke-opacity:1;stroke-miterlimit:10;" d="M 188 160 C 188 175.464844 175.464844 188 160 188 C 144.535156 188 132 175.464844 132 160 C 132 144.535156 144.535156 132 160 132 C 175.464844 132 188 144.535156 188 160 M 179.800781 179.800781 L 177.785156 163 M 179.800781 179.800781 L 196.601562 179.800781 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="153" y="167"/>
</g>
<g>
<path fill="#FFFFFF" d="M111.5,39.3h-7.9v-1.1l3.1-3.2c1-1,1.6-1.6,1.9-2.1c0.3-0.4,0.6-0.9,0.7-1.2c0.1-0.4,0.2-0.8,0.2-1.3
c0-0.6-0.2-1.1-0.6-1.5c-0.4-0.4-0.9-0.6-1.6-0.6c-0.5,0-1,0.1-1.4,0.2s-0.9,0.4-1.5,0.9l-0.7-0.9c1.1-0.9,2.3-1.3,3.6-1.3
c1.1,0,2,0.3,2.6,0.9c0.6,0.6,0.9,1.3,0.9,2.3c0,0.8-0.2,1.5-0.6,2.3c-0.4,0.7-1.2,1.7-2.4,2.8l-2.6,2.6v0.1h6.2L111.5,39.3
L111.5,39.3z"/>
<path style="fill:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(25.490196%,41.176471%,88.235294%);stroke-opacity:1;stroke-miterlimit:10;" d="M 188 40 C 188 55.464844 175.464844 68 160 68 C 144.535156 68 132 55.464844 132 40 C 132 24.535156 144.535156 12 160 12 C 175.464844 12 188 24.535156 188 40 M 179.800781 20.199219 L 177.785156 37 M 179.800781 20.199219 L 196.601562 20.199219 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-2" x="153" y="47"/>
</g>
<g>
<path fill="#FFFFFF" d="M36.8,104.6c0,0.8-0.2,1.4-0.6,1.8c-0.4,0.5-1.1,0.8-1.8,1v0.1c1,0.1,1.7,0.4,2.1,0.9
c0.5,0.5,0.7,1.1,0.7,1.9c0,1.1-0.4,2-1.2,2.6s-1.9,0.9-3.3,0.9c-0.6,0-1.2-0.1-1.7-0.1c-0.5-0.1-1.1-0.3-1.6-0.5v-1.3
c0.5,0.3,1.1,0.4,1.6,0.6c0.6,0.1,1.1,0.2,1.6,0.2c2.1,0,3.1-0.8,3.1-2.4c0-1.4-1.1-2.2-3.4-2.2h-1.2V107h1.2
c0.9,0,1.7-0.2,2.2-0.6c0.6-0.4,0.9-1,0.9-1.7c0-0.6-0.2-1.1-0.6-1.3c-0.4-0.4-0.9-0.5-1.6-0.5c-0.5,0-1,0.1-1.5,0.2
c-0.5,0.1-1,0.4-1.6,0.8l-0.7-0.9c0.5-0.4,1.1-0.7,1.7-0.9c0.6-0.2,1.3-0.4,2-0.4c1.1,0,2.1,0.3,2.7,0.8
C36.5,102.9,36.8,103.7,36.8,104.6z"/>
<path style="fill:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(25.490196%,41.176471%,88.235294%);stroke-opacity:1;stroke-miterlimit:10;" d="M 68 160 C 68 175.464844 55.464844 188 40 188 C 24.535156 188 12 175.464844 12 160 C 12 144.535156 24.535156 132 40 132 C 55.464844 132 68 144.535156 68 160 M 20.199219 179.800781 L 22.214844 163 M 20.199219 179.800781 L 3.398438 179.800781 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-3" x="33" y="167"/>
</g>
<g>
<path fill="#FFFFFF" d="M109.7,113.7h-1.3v-8.5c0-0.7,0-1.3,0.1-2c-0.1,0.1-0.2,0.2-0.4,0.4c-0.1,0.1-0.8,0.6-1.9,1.6l-0.7-0.9
l3.2-2.4h1.1L109.7,113.7L109.7,113.7z"/>
<path style="fill:none;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(25.490196%,41.176471%,88.235294%);stroke-opacity:1;stroke-miterlimit:10;" d="M 68 40 C 68 55.464844 55.464844 68 40 68 C 24.535156 68 12 55.464844 12 40 C 12 24.535156 24.535156 12 40 12 C 55.464844 12 68 24.535156 68 40 M 20.199219 20.199219 L 22.214844 37 M 20.199219 20.199219 L 3.398438 20.199219 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-4" x="33" y="47"/>
</g>
<path style="fill:none;stroke-width:12;stroke-linecap:butt;stroke-linejoin:bevel;stroke:rgb(100%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;" d="M 100 80 L 100 120 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(100%,0%,0%);fill-opacity:1;" d="M 100 75 L 85 90 L 115 90 L 100 75 "/>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

@ -1,456 +0,0 @@
/* Change here the content of the documentation button in all tabs!!! */
.cf_doc_version_bt a:before {
content:"Documentation 1.10";
}
/* END */
body {
padding:0px;
font-family: 'open_sansregular', Arial;
font-size:11px;
line-height:15px;
min-width:800px;
float:left;
background-color:#fff;
margin:0px;
}
a {
transition: all ease 0.5s;
text-decoration:none;
color:#59aa29;
font-family: 'open_sansbold', Arial;
}
a:hover {
transition: all ease 0.2s;
}
.cf_doc_version_bt a {
padding:1px 9px 1px 9px;
margin-top: -25px;
background-color:#59aa29;
border-radius:3px;
border: 1px solid #4c8829;
color:#fff;
float:right;
font-family: 'open_sansbold', Arial;
font-size:10px;
line-height:17px;
text-shadow:0px 1px rgba(0, 0, 0, 0.25);
text-transform:uppercase;
letter-spacing: 0.03em;
display:block;
}
.cf_doc_version_bt a:hover {
background-color:#6ac435;
}
/* Border of the Tab */
.container_border {
border-right:solid 1px #8C8C8C;
border-right-style:inset;
float:left;
padding:15px;
padding-left:20px;
}
/* Tab Title */
.tab_title {
float:left;
width:100%;
border-bottom:1px solid #59aa29;
font-size:20px;
line-height:24px;
height:30px;
font-family: 'open_sanslight', Arial;
margin-bottom:7px;
}
/* Note */
.note {
float:left;
background-color:#fff7cd;
border:1px solid #ffe55f;
margin-bottom:7px;
margin-top:3px;
width:100%;
border-radius: 3px;
font-size:11px;
}
.note_spacer {
padding:5px 7px 5px 7px;
}
/* Colums START> */
.column {
min-height:20px;
margin-bottom:10px;
}
.full {
float:left;
width:100%;
}
.half {
float:left;
width:50%;
}
.third_left {
float:left;
width:33%;
}
.third_center {
display: inline-block;
width:34%;
}
.third_right {
float:right;
width:33%;
}
.fourth {
float:left;
width:25%;
}
.threefourth_right {
float:right;
width:75%;
}
.threefourth_left {
float:left;
width:75%;
}
.twothird {
float:left;
width:67%;
}
/* Columns END> */
/* Spacers */
.spacer {
padding-left:7px;
padding-right:7px;
}
.spacer_left {
padding-left:7px;
}
.spacer_right {
padding-right:7px;
}
/* Standard GUI BOX */
.gui_box {
border: 1px solid #e4e4e4;
border-radius:5px;
background-color:#FFFFFF;
float:left;
width:100%;
}
.grey {
background-color:#f5f5f5;
}
.gui_box_titlebar {
background-color:#e4e4e4;
border-radius:3px 3px 0px 0px;
font-size:14px;
width:100%;
height:25px;
padding-bottom:0px;
float:left;
margin-bottom:7px;
}
.spacer_box {
padding:10px;
margin-bottom:3px;
}
.spacer_box_title {
padding-left:10px;
padding-right:10px;
padding-top:4px;
margin-bottom:0px;
}
/* Fixed area at the Bottom */
.fixed_band {
height: 50px;
position:fixed;
background-color:#e4e4e4;
width:100%;
margin-left:-20px;
box-shadow:rgba(0,0,0,0.20) 0 -3px 8px ;
bottom: 0px;
z-index:1000;
}
.save_btn a {
padding:3px 13px 5px 13px;
margin-top: 10px;
margin-right:15px;
background-color:#59aa29;
border-radius:3px;
border: 1px solid #4c8829;
color:#fff;
float:right;
font-family: 'open_sansbold', Arial;
font-size:12px;
line-height:20px;
text-shadow:0px 1px rgba(0, 0, 0, 0.25);
display:block;
cursor:pointer;
}
.save_btn a:hover {
background-color:#6ac435;
}
/* DIfferent buttons */
.default_btn {
width:100%;
position:relative;
margin-bottom:7px;
margin-top:0px;
float:left;
}
.default_btn a {
padding:5px 0px 5px 0px;
text-align:center;
background-color:#fff;
border-radius:5px;
border: 1px solid #59aa29;
color:#59aa29;
font-family: 'open_sanssemibold', Arial;
font-size:12px;
line-height:13px;
display:block;
}
.default_btn a:hover {
background-color:#6ac435;
color:#fff;
text-shadow:0px 1px rgba(0, 0, 0, 0.25);
}
.default_btn a:active {
background-color:#4d9324;
transition: all ease 0.0s;
box-shadow:inset 0px 1px 5px rgba(0, 0, 0, 0.35);
}
.small {
width:auto;
position:relative;
margin-bottom:7px;
margin-top:0px;
margin-right:5px;
float:left;
}
.small a {
padding:3px 4px 4px 4px;
text-align:center;
text-shadow:0px 1px rgba(0, 0, 0, 0.25);
background-color:#acacac;
border-radius:3px;
border: 1px solid #949494;
color:#fff;
font-family: 'open_sanssemibold', Arial;
font-size:11px;
line-height:11px;
display:block;
}
.small a:hover {
background-color:#6ac435;
color:#fff;
text-shadow:0px 1px rgba(0, 0, 0, 0.25);
border: 1px solid #59aa29;
}
.small a:active {
background-color:#878787;
transition: all ease 0.0s;
box-shadow:inset 0px 1px 5px rgba(0, 0, 0, 0.35);
}
.green a {
background-color:#59aa29;
text-shadow:0px 1px rgba(0, 0, 0, 0.25);
color:#fff;
border: 1px solid #59aa29;
}
.green a:hover {
background-color:#6ac435;
border: 1px solid #4d9324;
text-shadow:0px 1px rgba(0, 0, 0, 0.25);
color:#fff;
}
/* Input Styling */
.rxmode {
float:left;
margin-top:0px;
background-color:#f7f7f7;
font-size:11px;
line-height:20px;
border-radius:3px;
border: solid 1px #cdcccd;
outline:0px;
padding:3px;
width:100%;
margin-bottom:10px;
margin-top:7px;
box-shadow:inset 0px 1px 3px rgba(0, 0, 0, 0.15);
}
/* Help Icon */
.helpicon {
float:right;
margin-top:-14px;
margin-right:7px;
display:block;
height:14px;
width:14px;
opacity: 0.2;
background-image:url(rescources/icons/cf_icon_info_grey.svg);
background-size:contain;
background-position:center;
}
.helpicon:hover {
background-image:url(rescources/icons/cf_icon_info_green.svg);
opacity: 1.0;}
/* Table styling */
.cf_table {
margin-bottom:5px;
float:left;
margin-top:-5px;
font-size:11px;
}
.cf_table td {
border:0px;
border-bottom: solid 1px #ccc;
padding-top:4px;
padding-bottom:4px;
border-style: dotted;
}
.noboarder td{
border:none;
}
.cf_table td:last-child {
text-align:right;
}
.gps_false {
background-color:#FF0004;
padding:1px 7px 2px 7px;
border-radius:3px;
color:#FFFFFF;
font-size:11px;
margin-left:3px;
}
.gps_true {
background-color:#59aa29;
padding:1px 7px 2px 7px;
border-radius:3px;
color:#FFFFFF;
font-size:11px;
margin-left:3px;
}
/* END */
.mixer_canvas {
height:270px;
float:left;
margin-bottom:10px;
margin-right:0px;
}
select {
float:left;
width:100%;
margin-bottom:10px;
}

@ -1,41 +0,0 @@
# Dark and Light Dropdown Lists — CSS Code Snippet
**Demo**: [cssflow.com/snippets/dark-and-light-dropdown-lists/demo](http://www.cssflow.com/snippets/dark-and-light-dropdown-lists/demo)
Download the latest version of this snippet [here](http://www.cssflow.com/snippets/dark-and-light-dropdown-lists.zip).
[![Preview](http://cdn.cssflow.com/snippets/dark-and-light-dropdown-lists/preview-580.png)](http://www.cssflow.com/snippets/dark-and-light-dropdown-lists)
This snippet is implemented with [Sass](https://github.com/nex3/sass).
To compile:
`sass --update scss:css`
To compile and watch:
`sass --watch scss:css`
## Browser Compatibility
Firefox 4+, Safari 4+, Chrome 14+, Opera 10+, Internet Explorer 8+.
## Credits
Coded by [Thibaut Courouble](http://thibaut.me).
Inspired by [Hemn Chawroka's PSD](http://365psd.com/day/3-47/).
For more snippets, visit [CSSFlow.com](http://www.cssflow.com) or follow [@CSSFlow](https://twitter.com/CSSFlow).
## License
Copyright (c) 2012-2013 Thibaut Courouble
Licensed under the MIT License
## More CSS3
Check out my [UI kits built entirely with CSS](http://www.cssflow.com/ui-kits):
[![Preview](http://cdn.cssflow.com/kits/all_kits_preview_850.png)](http://www.cssflow.com/ui-kits)

@ -1,134 +0,0 @@
/*
* Copyright (c) 2012-2013 Thibaut Courouble
* http://www.cssflow.com
*
* Licensed under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
*/
.container > .dropdown {
margin: 0 20px;
vertical-align: top;
}
.dropdown {
display: inline-block;
position: relative;
overflow: hidden;
height: 25px;
width: 150px;
width:100%;
margin-bottom:10px;
background: #fff;
border: 1px solid;
border-color: #ccc #ccc #ccc;
border-radius: 3px;
background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.06));
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
}
.dropdown:before, .dropdown:after {
content: '';
position: absolute;
z-index: 2;
top: 9px;
right: 10px;
width: 0;
height: 0;
border: 4px dashed;
border-color: #888 transparent;
pointer-events: none;
}
.dropdown:before {
border-bottom-style: solid;
border-top: none;
}
.dropdown:after {
margin-top: 7px;
border-top-style: solid;
border-bottom: none;
}
.dropdown-select {
position: relative;
width: 130%;
margin: 0;
padding: 6px 8px 6px 10px;
height: 28px;
line-height: 14px;
font-size: 12px;
color: #62717a;
text-shadow: 0 1px white;
/* Fallback for IE 8 */
background: #f2f2f2;
/* "transparent" doesn't work with Opera */
background: rgba(0, 0, 0, 0) !important;
border: 0;
border-radius: 0;
-webkit-appearance: none;
}
.dropdown-select:focus {
z-index: 3;
width: 100%;
color: #394349;
outline: 2px solid #49aff2;
outline: 2px solid -webkit-focus-ring-color;
outline-offset: -2px;
}
.dropdown-select > option {
margin: 3px;
padding: 6px 8px;
text-shadow: none;
background: #f2f2f2;
border-radius: 3px;
cursor: pointer;
}
/* Fix for IE 8 putting the arrows behind the select element. */
.lt-ie9 .dropdown {
z-index: 1;
}
.lt-ie9 .dropdown-select {
z-index: -1;
}
.lt-ie9 .dropdown-select:focus {
z-index: 3;
}
/* Dirty fix for Firefox adding padding where it shouldn't. */
@-moz-document url-prefix() {
.dropdown-select {
padding-left: 6px;
}
}
.dropdown-dark {
background: #636363;
border-color: #111 #0a0a0a black;
background-image: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.2));
box-shadow: inset 0 1px rgba(255, 255, 255, 0.1), 0 1px 1px rgba(0, 0, 0, 0.2);
background-image: url(trenner.gif); background-repeat:no-repeat; background-position:right 0px ;
}
.dropdown-dark:before {
border-bottom-color: #aaa;
}
.dropdown-dark:after {
border-top-color: #aaa;
}
.dropdown-dark .dropdown-select {
color: #fff;
text-shadow: 0 1px black;
/* Fallback for IE 8 */
background: #444;
}
.dropdown-dark .dropdown-select:focus {
color: #ccc;
}
.dropdown-dark .dropdown-select > option {
background: #444;
text-shadow: 0 1px rgba(0, 0, 0, 0.4);
}

@ -1,44 +0,0 @@
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Dark and Light Dropdown Lists</title>
<link rel="stylesheet" href="css/style.css">
<!--[if lt IE 9]><script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>
<body>
<section class="container">
<div class="dropdown">
<select name="one" class="dropdown-select">
<option value="">Select…</option>
<option value="1">Option #1</option>
<option value="2">Option #2</option>
<option value="3">Option #3</option>
</select>
</div>
<div class="dropdown dropdown-dark">
<select name="two" class="dropdown-select">
<option value="">Select…</option>
<option value="1">Option #1</option>
<option value="2">Option #2</option>
<option value="3">Option #3</option>
</select>
</div>
</section>
<section class="about">
<p class="about-links">
<a href="http://www.cssflow.com/snippets/dark-and-light-dropdown-lists" target="_parent">View Article</a>
<a href="http://www.cssflow.com/snippets/dark-and-light-dropdown-lists.zip" target="_parent">Download</a>
</p>
<p class="about-author">
&copy; 2012&ndash;2013 <a href="http://thibaut.me" target="_blank">Thibaut Courouble</a> -
<a href="http://www.cssflow.com/mit-license" target="_blank">MIT License</a><br>
</p>
</section>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

@ -1,137 +0,0 @@
@import '../../shared/mixins',
'../../shared/reset',
'../../shared/about-dark';
/*
* Copyright (c) 2012-2013 Thibaut Courouble
* http://www.cssflow.com
*
* Licensed under the MIT License:
* http://www.opensource.org/licenses/mit-license.php
*/
body {
font: 13px/20px 'Lucida Grande', Tahoma, Verdana, sans-serif;
color: #404040;
background: #93cedf;
}
.container {
margin: 50px auto;
width: 500px;
text-align: center;
> .dropdown {
margin: 0 20px;
vertical-align: top;
}
}
.dropdown {
display: inline-block;
position: relative;
overflow: hidden;
height: 28px;
width: 150px;
background: #f2f2f2;
border: 1px solid;
border-color: white #f7f7f7 #f5f5f5;
border-radius: 3px;
@include linear-gradient(top, transparent, rgba(black, .06));
@include box-shadow(0 1px 1px rgba(black, .08));
&:before, &:after {
content: '';
position: absolute;
z-index: 2;
top: 9px;
right: 10px;
width: 0;
height: 0;
border: 4px dashed;
border-color: #888 transparent;
pointer-events: none;
}
&:before {
border-bottom-style: solid;
border-top: none;
}
&:after {
margin-top: 7px;
border-top-style: solid;
border-bottom: none;
}
}
.dropdown-select {
position: relative;
width: 130%;
margin: 0;
padding: 6px 8px 6px 10px;
height: 28px;
line-height: 14px;
font-size: 12px;
color: #62717a;
text-shadow: 0 1px white;
/* Fallback for IE 8 */
background: #f2f2f2;
/* "transparent" doesn't work with Opera */
background: rgba(black, 0) !important;
border: 0;
border-radius: 0;
-webkit-appearance: none;
&:focus {
z-index: 3;
width: 100%;
color: #394349;
outline: 2px solid #49aff2;
outline: 2px solid -webkit-focus-ring-color;
outline-offset: -2px;
}
> option {
margin: 3px;
padding: 6px 8px;
text-shadow: none;
background: #f2f2f2;
border-radius: 3px;
cursor: pointer;
}
}
/* Fix for IE 8 putting the arrows behind the select element. */
.lt-ie9 {
.dropdown { z-index: 1; }
.dropdown-select { z-index: -1; }
.dropdown-select:focus { z-index: 3; }
}
/* Dirty fix for Firefox adding padding where it shouldn't. */
@-moz-document url-prefix() { .dropdown-select { padding-left: 6px; } }
.dropdown-dark {
background: #444;
border-color: #111 #0a0a0a black;
@include linear-gradient(top, transparent, rgba(black, .4));
@include box-shadow(inset 0 1px rgba(white, .1), 0 1px 1px rgba(black, .2));
&:before { border-bottom-color: #aaa; }
&:after { border-top-color: #aaa; }
.dropdown-select {
color: #aaa;
text-shadow: 0 1px black;
/* Fallback for IE 8 */
background: #444;
&:focus { color: #ccc; }
> option {
background: #444;
text-shadow: 0 1px rgba(black, .4);
}
}
}

@ -1,46 +1,36 @@
.tab-adjustments {
}
#tab-adjustments-templates {
display: none;
}
.tab-adjustments .range .marker,
.tab-adjustments .channel-slider .noUi-connect {
.tab-adjustments .range .marker, .tab-adjustments .channel-slider .noUi-connect {
background: #92b67c;
box-shadow: inset 0 0px 2px rgba(0, 0, 0, 0.4),0px 1px 0px rgba(255, 255, 255, 0.6);
box-shadow: inset 0 0px 2px rgba(0, 0, 0, 0.4), 0px 1px 0px rgba(255, 255, 255, 0.6);
}
.noUi-target {
border-radius: 4px;
border: 1px solid #D3D3D3;
box-shadow: inset 0 0px 2px rgba(0, 0, 0, 0.4),0px 1px 0px rgba(255, 255, 255, 0.6);
}
box-shadow: inset 0 0px 2px rgba(0, 0, 0, 0.4), 0px 1px 0px rgba(255, 255, 255, 0.6);
}
.noUi-background {
box-shadow: inset 0 0px 2px rgba(0, 0, 0, 0.4),0px 1px 0px rgba(255, 255, 255, 0.6);
box-shadow: inset 0 0px 2px rgba(0, 0, 0, 0.4), 0px 1px 0px rgba(255, 255, 255, 0.6);
background: #D2D2D2;
}
.tab-adjustments .adjustments {
width: 100%;
border-spacing: 0px;
}
.tab-adjustments td {
border-top: 1px solid #fff;
border-bottom: 1px solid #cccccc;
}
}
.tab-adjustments .range:first-child {
border-top: 0px;
@ -50,7 +40,6 @@
border-bottom: 0px;
}
.tab-adjustments .adjustments thead td {
text-align: center;
white-space: nowrap;
@ -58,6 +47,7 @@
background-color: #828885;
color: white;
}
.tab-adjustments .adjustments thead td:first-child {
border-top-left-radius: 5px;
}
@ -67,19 +57,19 @@
}
.tab-adjustments .adjustment:nth-child(odd) {
background-color:#f4f4f4;
background-color: #f4f4f4;
}
.tab-adjustments .adjustments {
background-color:#e4e4e4;
}
background-color: #e4e4e4;
}
.tab-adjustments .adjustment select {
/* outline: 1px solid silver; */
border-radius: 3px;
border: 1px solid silver;#}
border: 1px solid silver;
#
}
.tab-adjustments .adjustment td {
text-align: center;
@ -119,7 +109,7 @@
height: 13px;
width: 6px;
margin-left: -3px;
border-radius:3px;
border-radius: 3px;
}
.tab-adjustments .adjustment .functionSelection {

@ -1,10 +1,10 @@
<div class="tab-adjustments toolbar_fixed_bottom">
<div class="content_wrapper">
<div class="tab_title" i18n="tabAdjustments"></div>
<div class="cf_doc_version_bt">
<div class="content_wrapper">
<div class="tab_title" i18n="tabAdjustments"></div>
<div class="cf_doc_version_bt">
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
</div>
<div class="note" style="margin-bottom:15px;">
</div>
<div class="note" style="margin-bottom: 15px;">
<div class="note_spacer">
<p i18n="adjustmentsHelp"></p>
<p i18n="adjustmentsExamples"></p>
@ -15,31 +15,26 @@
</div>
</div>
<table class="adjustments">
<thead>
<tr>
<td class="column-enable" i18n="adjustmentsColumnEnable">
</td>
<td i18n="adjustmentsColumnWhenChannel">
</td>
<td i18n="adjustmentsColumnIsInRange">
</td>
<td i18n="adjustmentsColumnThenApplyFunction">
</td>
<td i18n="adjustmentsColumnUsingSlot">
</td>
<td i18n="adjustmentsColumnViaChannel">
</td>
<td class="column-enable" i18n="adjustmentsColumnEnable"></td>
<td i18n="adjustmentsColumnWhenChannel"></td>
<td i18n="adjustmentsColumnIsInRange"></td>
<td i18n="adjustmentsColumnThenApplyFunction"></td>
<td i18n="adjustmentsColumnUsingSlot"></td>
<td i18n="adjustmentsColumnViaChannel"></td>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
<div class="content_toolbar">
<div class="btn save_btn"><a class="save" href="#" i18n="adjustmentsSave"></a></div>
</div>
</div>
<div class="content_toolbar">
<div class="btn save_btn">
<a class="save" href="#" i18n="adjustmentsSave"></a>
</div>
</div>
</div>
<div id="tab-adjustments-templates">
@ -48,7 +43,7 @@
<tr class="adjustment">
<td class="info">
<div class="enabling">
<input type="checkbox" class="enable" id="toggle" />
<input type="checkbox" class="enable toggle" />
</div>
</td>
<td class="channelInfo">
@ -58,8 +53,12 @@
</select>
</div>
<div class="limits">
<p class="lowerLimit"><span i18n="adjustmentsMin"></span>: <span class="lowerLimitValue"></span></p>
<p class="upperLimit"><span i18n="adjustmentsMax"></span>: <span class="upperLimitValue"></span></p>
<p class="lowerLimit">
<span i18n="adjustmentsMin"></span>: <span class="lowerLimitValue"></span>
</p>
<p class="upperLimit">
<span i18n="adjustmentsMax"></span>: <span class="upperLimitValue"></span>
</p>
</div>
</td>
<td class="range">
@ -67,8 +66,7 @@
<div class="marker"></div>
</div>
</td>
<td class="functionSelection">
<select class="function">
<td class="functionSelection"><select class="function">
<option value="0" i18n="adjustmentsFunction0"></option>
<option value="1" i18n="adjustmentsFunction1"></option>
<option value="2" i18n="adjustmentsFunction2"></option>
@ -90,21 +88,16 @@
<option value="18" i18n="adjustmentsFunction18"></option>
<option value="19" i18n="adjustmentsFunction19"></option>
<option value="20" i18n="adjustmentsFunction20"></option>
</select>
</td>
<td class="adjustmentSlot">
<select class="slot">
</select></td>
<td class="adjustmentSlot"><select class="slot">
<option value="0" i18n="adjustmentsSlot0"></option>
<option value="1" i18n="adjustmentsSlot1"></option>
<option value="2" i18n="adjustmentsSlot2"></option>
<option value="3" i18n="adjustmentsSlot3"></option>
</select>
</td>
<td class="functionSwitchChannel">
<select class="channel">
</select></td>
<td class="functionSwitchChannel"><select class="channel">
<option value=""></option>
</select>
</td>
</select></td>
</tr>
</tbody>
</table>

@ -178,21 +178,6 @@ TABS.adjustments.initialize = function (callback) {
// translate to user-selected language
localize();
// locating link to used CF version
var documentationButton = $('div#content #button-documentation');
documentationButton.html("Documentation for "+CONFIG.flightControllerVersion);
documentationButton.attr("href","https://github.com/cleanflight/cleanflight/tree/v{0}/docs".format(CONFIG.flightControllerVersion));
// load switchery
var elems = Array.prototype.slice.call(document.querySelectorAll('#toggle'));
elems.forEach(function(html) {
var switchery = new Switchery(html,
{
color: '#59aa29',
secondaryColor: '#c4c4c4'
});
});
// UI Hooks
$('a.save').click(function () {

@ -1,5 +1,5 @@
.tab-auxiliary {
float:left;
float: left;
}
.tab-auxiliary .help {
@ -8,12 +8,10 @@
margin-bottom: 10px;
}
.tab-auxiliary .range .marker,
.tab-auxiliary .channel-slider .noUi-connect {
.tab-auxiliary .range .marker, .tab-auxiliary .channel-slider .noUi-connect {
background: #59AA29;
background: #92b67c;
border-radius: 3px;
}
.tab-auxiliary .mode.on .info {
@ -29,7 +27,6 @@
background: #cb4747;
background: #828885;
color: white;
}
.tab-auxiliary .mode.off:nth-child(odd) .info {
@ -52,6 +49,7 @@
}
.tab-auxiliary .mode:nth-child(odd) {
}
.tab-auxiliary .mode .name {
@ -59,9 +57,8 @@
padding: 13px 0px;
}
.tab-auxiliary .mode.off .info,
.tab-auxiliary .mode.on .info {
color: ;
.tab-auxiliary .mode.off .info, .tab-auxiliary .mode.on .info {
color:;
}
.tab-auxiliary .mode .info {
@ -105,7 +102,6 @@
border-bottom: 1px solid #cccccc;
background-color: #ececec;
padding-bottom: 5px;
}
.tab-auxiliary .range:first-child {
@ -116,18 +112,18 @@
border-bottom: 0px;
}
.tab-auxiliary .range > .buttons {
.tab-auxiliary .range>.buttons {
position: absolute;
top: 0px;
right: 0px;
}
.tab-auxiliary .range > .buttons .a {
.tab-auxiliary .range>.buttons .a {
padding: 2px;
}
.tab-auxiliary .range:nth-child(odd) {
}
.tab-auxiliary .mode .range .channelInfo {
@ -144,7 +140,7 @@
.tab-auxiliary .range .channel {
border: 1px solid silver;
border-radius: 3px;
}
}
.tab-auxiliary .range .marker {
position: absolute;
@ -160,61 +156,57 @@
float: left;
width: 80%;
margin-left: 20px;
margin-top:1px;
margin-top: 1px;
}
.tab-auxiliary .channel-slider {
}
.tab-auxiliary > .buttons {
.tab-auxiliary>.buttons {
margin-top: 10px;
}
.tab-auxiliary > .buttons a {
.tab-auxiliary>.buttons a {
float: right;
height: 28px;
line-height: 28px;
padding: 0 15px 0 15px;
display: block;
color:#000;
color: #000;
}
.tab-auxiliary .buttons a {
text-align: center;
font-weight: bold;
background-color: #fff;
color:black;
color: black;
opacity: 0.8;
transition: all ease 0.3s;
}
.tab-auxiliary .buttons a:hover {
background-color: #fff;
opacity: 1.0;
color:black;
color: black;
transition: all ease 0.3s;
}
.tab-auxiliary .delete a {
height:15px;
width:15px;
height: 15px;
width: 15px;
transition: all ease 0.3s;
opacity: 0.3;
position:relative;
float:right;
margin-right:5px;
margin-top:-9px;
position: relative;
float: right;
margin-right: 5px;
margin-top: -9px;
background-image: url('../images/icons/close1.svg');
background-repeat: no-repeat;
background-position: center 100%;
display:block;
display: block;
}
.tab-auxiliary .delete a:hover {
transition: all ease 0.3s;
opacity: 0.6;
@ -228,21 +220,13 @@
line-height: 28px;
}
@media only screen and (max-width: 1055px), only screen and (max-device-width: 1055px) {
.tab-auxiliary .fixed_band {
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
.tab-auxiliary .fixed_band {
margin: 0px;
width: calc(100% - -30px);
/* width: 100%; */
margin-left: -15px;
}
.tab-auxiliary .fixed_band .save_btn a {
margin-right:15px;
}
.tab-auxiliary .fixed_band .save_btn a {
margin-right: 15px;
}
}

@ -1,10 +1,10 @@
<div class="tab-auxiliary toolbar_fixed_bottom">
<div class="content_wrapper">
<div class="content_wrapper">
<div class="tab_title" i18n="tabAuxiliary">tabAuxiliary</div>
<div class="cf_doc_version_bt">
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
</div>
<div class="note" style="margin-bottom:15px;">
<div class="note" style="margin-bottom: 15px;">
<div class="note_spacer">
<p i18n="auxiliaryHelp"></p>
</div>
@ -13,10 +13,12 @@
<tbody>
</tbody>
</table>
</div>
<div class="content_toolbar">
<div class="btn save_btn"><a class="save" href="#" i18n="auxiliaryButtonSave"></a></div>
</div>
</div>
<div class="content_toolbar">
<div class="btn save_btn">
<a class="save" href="#" i18n="auxiliaryButtonSave"></a>
</div>
</div>
</div>
<div id="tab-auxiliary-templates">
<table class="modes">
@ -28,8 +30,7 @@
<a class="addRange" href="#" i18n="auxiliaryAddRange"></a>
</div>
</td>
<td class="ranges">
</td>
<td class="ranges"></td>
</tr>
</tbody>
</table>
@ -39,13 +40,19 @@
<option value=""></option>
</select>
<div class="limits">
<p class="lowerLimit"><span i18n="auxiliaryMin"></span>: <span class="lowerLimitValue"></span></p>
<p class="upperLimit"><span i18n="auxiliaryMax"></span>: <span class="upperLimitValue"></span></p>
<p class="lowerLimit">
<span i18n="auxiliaryMin"></span>: <span class="lowerLimitValue"></span>
</p>
<p class="upperLimit">
<span i18n="auxiliaryMax"></span>: <span class="upperLimitValue"></span>
</p>
</div>
</div>
<div class="channel-slider pips-channel-range">
<div class="marker"></div>
</div>
<div class="delete"><a class="deleteRange" href="#">&nbsp;</a></div>
<div class="delete">
<a class="deleteRange" href="#">&nbsp;</a>
</div>
</div>
</div>

@ -23,7 +23,6 @@ TABS.auxiliary.initialize = function (callback) {
$('#content').load("./tabs/auxiliary.html", process_html);
}
MSP.send_message(MSP_codes.MSP_BOXNAMES, false, false, get_mode_ranges);
function createMode(modeIndex, modeId) {
@ -169,11 +168,6 @@ TABS.auxiliary.initialize = function (callback) {
// translate to user-selected language
localize();
// locating link to used CF version
var documentationButton = $('div#content #button-documentation');
documentationButton.html("Documentation for "+CONFIG.flightControllerVersion);
documentationButton.attr("href","https://github.com/cleanflight/cleanflight/tree/v{0}/docs".format(CONFIG.flightControllerVersion));
// UI Hooks
$('a.save').click(function () {

@ -1,3 +1 @@
<div class="tab-adjustments" style="width:100%; height:100%; background-color:#000000;">
</div>
<div class="tab-adjustments" style="width: 100%; height: 100%; background-color: #000000;"></div>

@ -1,69 +1,62 @@
.tab-cli {
height: 100%;
}
.tab-cli .content_wrapper {
height: calc(100% - 50px);
}
.tab-cli p {
padding: 0px;
border: 0px dotted silver;
}
.tab-cli .note {
margin-bottom:20px;
margin-bottom: 20px;
}
.tab-cli .backdrop {
border: 1px solid silver;
background-color: rgba(0,0,0,0.75);
background-color: rgba(0, 0, 0, 0.75);
margin-top: 0px;
height: calc(100% - 90px); /* - (p, textarea) */
background-image: url("../images/light-wide-1.svg");
background-repeat: no-repeat;
background-position: 50% 80%;
background-size: 600px;
/*background-image: url("../images/cli_backdrop.png");
/* */
border-radius: 5px;
box-shadow: inset 0px 0px 20px rgba(0,0,0,0.80);
/*float:left;*/
width:100%;
box-shadow: inset 0px 0px 20px rgba(0, 0, 0, 0.80);
width: 100%;
}
.tab-cli .window {
height:100%;
width:100%;
height: 100%;
width: 100%;
padding: 5px;
overflow-y: scroll;
overflow-x: hidden;
font-family: monospace;
color: white;
box-sizing: border-box;
-webkit-user-select: text;
float:left;
float: left;
}
.tab-cli textarea {
-webkit-box-sizing: border-box;
width: 100%;
margin-top: 8px;
height: 22px;
line-height: 20px;
padding-left: 5px;
border: 1px solid silver;
resize: none;
}
.tab-cli #content-watermark {
z-index:0;
z-index: 0;
}
.tab-cli .window .wrapper {
white-space: pre-wrap;
}

@ -1,5 +1,5 @@
<div class="tab-cli">
<div class="content_wrapper">
<div class="content_wrapper">
<div class="note">
<div class="note_spacer">
<p i18n="cliInfo"></p>
@ -11,5 +11,5 @@
</div>
</div>
<textarea name="commands" i18n_placeholder="cliInputPlaceholder" rows="1" cols="0"></textarea>
</div>
</div>
</div>

@ -167,9 +167,6 @@ TABS.cli.read = function (readInfo) {
$('.tab-cli .window .wrapper').append(text);
$('.tab-cli .window').scrollTop($('.tab-cli .window .wrapper').height());
// there seems to be some sort of initial rendering glitch in 33+, we will force redraw/refill
//$('.tab-cli .window .wrapper').css('webkitTransform', 'scale(1)');
};
TABS.cli.cleanup = function (callback) {

@ -1,31 +1,29 @@
.tab-configuration table {
margin-bottom: 10px;
width:100%;
float:left;
width: 100%;
float: left;
}
.tab-configuration table,
.tab-configuration table th,
.tab-configuration table td {
.tab-configuration table, .tab-configuration table th, .tab-configuration table td {
padding: 0px;
padding-left:0px;
text-align:left;
}
padding-left: 0px;
text-align: left;
}
.tab-configuration table th {
padding-left:3px;
padding-left: 3px;
padding: 3px;
border-bottom: 1px solid #ddd;
}
.tab-configuration table td {
padding-left:5px;
padding-left: 5px;
border-bottom: 1px solid #ddd;
}
.tab-configuration table tr td:first-child {
text-align: left;
width:55px;
width: 55px;
}
.tab-configuration table td {
@ -82,6 +80,7 @@
height: 18px;
line-height: 18px;
}
.tab-configuration .number {
margin-bottom: 5px;
clear: left;
@ -94,10 +93,10 @@
line-height: 20px;
text-align: left;
border: 1px solid silver;
border-radius:3px;
margin-right:11px;
font-size:12px;
font-weight:normal;
border-radius: 3px;
margin-right: 11px;
font-size: 12px;
font-weight: normal;
}
.tab-configuration .number input.disabled {
@ -116,30 +115,27 @@
.tab-configuration .gps select {
float: left;
width: 100px;
height: 20px;
margin: 0 10px 5px 0;
border: 1px solid silver;
}
.tab-configuration .gps span {
line-height: 20px;
}
.tab-configuration .serialRX {
width: 100%;
border: 1px solid silver;
margin-bottom: 5px;
}
.tab-configuration .current .checkbox {
margin-top: 0px;
float:left;
float: left;
}
.tab-configuration .current .checkbox div {
float: left;
width: 66px;
@ -147,14 +143,12 @@
.tab-configuration .current .checkbox div input {
margin: 0px;
float:left;
float: left;
}
.tab-configuration .disarm .checkbox {
margin-top: 2px;
margin-right:5px;
margin-right: 5px;
}
.tab-configuration .disarm .checkbox div {
@ -163,7 +157,7 @@
}
.tab-configuration .disarm .checkbox div input {
margin:0px;
margin: 0px;
float: left;
}
@ -171,63 +165,58 @@
margin-left: 0px;
}
.tab-configuration .freelabel {
margin-left:10px;
position:relative;
margin-left: 10px;
position: relative;
}
.tab-configuration input {
float:left;
float: left;
}
.tab-configuration span {
margin:0px
margin: 0px
}
.tab-configuration .disarm .checkbox {
float:left;
padding-left:0px;
float: left;
padding-left: 0px;
margin-top: -5px;
padding-bottom:5px;
padding-bottom: 5px;
border-bottom: 1px solid #ddd;
width:100%;
width: 100%;
}
.tab-configuration .spacer_box {
padding-bottom 10px;
.tab-configuration .spacer_box {padding-bottom 10px;
float: left;
width: calc(100% - 20px);
}
.tab-configuration .number {
padding-bottom:5px;
padding-bottom: 5px;
border-bottom: 1px solid #ddd;
width:100%;
width: 100%;
float: left;
}
.tab-configuration .disarm {
margin-bottom:5px;
float:left;
margin-bottom: 5px;
float: left;
border-bottom: 1px solid #ddd;
width:100%;
width: 100%;
}
.disarmdelay {
margin-top: 5px;
float:left;
width:100%;
float: left;
width: 100%;
border-bottom: 1px solid #ddd;
}
}
.tab-configuration .number:last-child {
border-bottom:none;
padding-bottom:0px;
margin-bottom:0px;
border-bottom: none;
padding-bottom: 0px;
margin-bottom: 0px;
}
.tab-configuration .gui_box_titlebar {
@ -235,101 +224,97 @@
}
.tab-configuration .numberspacer {
float:left;
width:65px;
height:21px;
float: left;
width: 65px;
height: 21px;
}
.tab-configuration thead {
display:none;
display: none;
}
.tab-configuration .gui_box {
margin-bottom:10px;
float:left;
margin-bottom: 10px;
float: left;
}
.tab-configuration .rssi td {
border-bottom:none;
padding-bottom:0px;
margin-bottom:0px;
border-bottom: none;
padding-bottom: 0px;
margin-bottom: 0px;
}
.tab-configuration .rssi .gui_box,
.tab-configuration .system .gui_box {
min-height:145px;
float:left;
.tab-configuration .rssi .gui_box, .tab-configuration .system .gui_box {
min-height: 145px;
float: left;
}
.tab-configuration .mixer .gui_box,
.tab-configuration .motorstop .gui_box {
min-height:290px;
float:left;
.tab-configuration .mixer .gui_box, .tab-configuration .motorstop .gui_box {
min-height: 290px;
float: left;
}
.tab-configuration .board .gui_box,
.tab-configuration .acc .gui_box {
min-height:137px;
float:left;
.tab-configuration .board .gui_box, .tab-configuration .acc .gui_box {
min-height: 137px;
float: left;
}
.tab-configuration .gps .gui_box,
.tab-configuration .other .gui_box {
min-height:355px;
float:left;
margin-bottom:0px;
.tab-configuration .gps .gui_box, .tab-configuration .other .gui_box {
min-height: 355px;
float: left;
margin-bottom: 0px;
}
.tab-configuration .current .gui_box {
min-height:230px;
float:left;
min-height: 230px;
float: left;
}
.tab-configuration .current td:nth-child(2){
width:30px;
.tab-configuration .current td:nth-child(2) {
width: 30px;
}
.tab-configuration .voltage td:nth-child(2){
width:30px;
.tab-configuration .voltage td:nth-child(2) {
width: 30px;
}
.tab-configuration .rssi td:nth-child(2){
width:30px;
.tab-configuration .rssi td:nth-child(2) {
width: 30px;
}
.tab-configuration .rxFailsafe td:nth-child(2){
width:30px;
.tab-configuration .rxFailsafe td:nth-child(2) {
width: 30px;
}
.tab-configuration .gps td:nth-child(2){
width:38px;
.tab-configuration .gps td:nth-child(2) {
width: 38px;
}
.tab-configuration .other tr:last-child td{
border-bottom:0px;
padding-bottom:0px;
margin-bottom:0px;
.tab-configuration .other tr:last-child td {
border-bottom: 0px;
padding-bottom: 0px;
margin-bottom: 0px;
}
.tab-configuration .mixerPreview {
max-width:230px;
max-width: 230px;
background-color: #eeeeee;
text-align: center;
float:left;
border-radius:5px;
margin-top:5px;
float: left;
border-radius: 5px;
margin-top: 5px;
}
.tab-configuration .mixerPreview img {
width: 90%;
height: 90%;
padding:5%;
padding: 5%;
}
.tab-configuration .rxMode tr:last-child td{
border-bottom:0px;
padding-bottom:0px;
margin-bottom:0px;
.tab-configuration .rxMode tr:last-child td {
border-bottom: 0px;
padding-bottom: 0px;
margin-bottom: 0px;
}
.tab-configuration .gui_box {
@ -340,56 +325,41 @@
.tab-configuration .gui_box span {
font-style: normal;
font-family: 'open_sansregular', Arial;
line-height:19px;
color:#7d7d7d;
font-size:11px;
}
@media only screen and (max-width: 1055px), only screen and (max-device-width: 1055px) {
.tab-configuration .gui_box span {
line-height:17px;
line-height: 19px;
color: #7d7d7d;
font-size: 11px;
}
.tab-configuration .leftWrapper {
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
.tab-configuration .gui_box span {
line-height: 17px;
}
.tab-configuration .leftWrapper {
width: calc(50% - 15px);
}
.tab-configuration .rightWrapper {
}
.tab-configuration .rightWrapper {
float: left;
width: calc(50% - 0px);
margin: 0 0 10px 15px;
}
.tab-configuration .rssi .gui_box, .tab-configuration .system .gui_box {
min-height: 145px;
float: left;
}
.tab-configuration .mixer .gui_box, .tab-configuration .motorstop .gui_box {
min-height: 290px;
float: left;
}
.tab-configuration .board .gui_box, .tab-configuration .acc .gui_box {
min-height: 137px;
float: left;
}
.tab-configuration .gps .gui_box, .tab-configuration .other .gui_box {
min-height: 355px;
float: left;
}
.tab-configuration .current .gui_box {
min-height: 230px;
float: left;
}
}
.tab-configuration .rssi .gui_box,
.tab-configuration .system .gui_box {
min-height:145px;
float:left;
}
.tab-configuration .mixer .gui_box,
.tab-configuration .motorstop .gui_box {
min-height:290px;
float:left;
}
.tab-configuration .board .gui_box,
.tab-configuration .acc .gui_box {
min-height:137px;
float:left;
}
.tab-configuration .gps .gui_box, {
.tab-configuration .other .gui_box
min-height:355px;
float:left;
}
.tab-configuration .current .gui_box {
min-height:230px;
float:left;
}

@ -1,10 +1,10 @@
<div class="tab-configuration toolbar_fixed_bottom">
<div class="content_wrapper">
<div class="content_wrapper">
<div class="tab_title" i18n="tabConfiguration">Configuration</div>
<div class="cf_doc_version_bt">
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
</div>
<div class="note" style="margin-bottom:20px;">
<div class="note" style="margin-bottom: 20px;">
<div class="note_spacer">
<p i18n="configurationFeaturesHelp"></p>
</div>
@ -18,7 +18,7 @@
<div class="mixerPreview half">
<img src="./resources/motor_order/custom.svg" />
</div>
<div class="half" style="width:calc(50% - 10px); margin-left:10px;">
<div class="half" style="width: calc(50% - 10px); margin-left: 10px;">
<select class="mixerList">
<!-- list generated here -->
</select>
@ -33,7 +33,7 @@
</div>
<div class="spacer_box">
<table cellpadding="0" cellspacing="0">
<thead style="display:none;">
<thead style="display: none;">
<tr>
<th i18n="configurationFeatureEnabled"></th>
<th i18n="configurationFeatureDescription"></th>
@ -47,18 +47,18 @@
<!-- -->
<div class="disarm">
<div class="checkbox">
<div style="float:left; height:20px; margin-right:15px; margin-left:3px;">
<input type="checkbox" name="disarmkillswitch" id="toggle"/>
</div><label for="disarmkillswitch">
<span class="freelabel" i18n="configurationDisarmKillSwitch"></span>
<div style="float: left; height: 20px; margin-right: 15px; margin-left: 3px;">
<input type="checkbox" name="disarmkillswitch" class="toggle" />
</div>
<label for="disarmkillswitch"> <span class="freelabel"
i18n="configurationDisarmKillSwitch"></span>
</label>
</div>
<div class="number disarmdelay" style="display:none; margin-bottom:5px;">
<div class="number disarmdelay" style="display: none; margin-bottom: 5px;">
<label>
<div class="numberspacer">
<input type="number" name="autodisarmdelay" min="0" max="60" />
</div>
<span i18n="configurationAutoDisarmDelay"></span>
</div> <span i18n="configurationAutoDisarmDelay"></span>
</label>
</div>
</div>
@ -67,32 +67,28 @@
<label>
<div class="numberspacer">
<input type="number" name="minthrottle" min="0" max="2000" />
</div>
<span i18n="configurationThrottleMinimum"></span>
</div> <span i18n="configurationThrottleMinimum"></span>
</label>
</div>
<div class="number">
<label>
<div class="numberspacer">
<input type="number" name="midthrottle" min="0" max="2000" />
</div>
<span i18n="configurationThrottleMid"></span>
</div> <span i18n="configurationThrottleMid"></span>
</label>
</div>
<div class="number">
<label>
<div class="numberspacer">
<input type="number" name="maxthrottle" min="0" max="2000" />
</div>
<span i18n="configurationThrottleMaximum"></span>
</div> <span i18n="configurationThrottleMaximum"></span>
</label>
</div>
<div class="number">
<label>
<div class="numberspacer">
<input type="number" name="mincommand" min="0" max="2000" />
</div>
<span i18n="configurationThrottleMinimumCommand"></span>
</div> <span i18n="configurationThrottleMinimumCommand"></span>
</label>
</div>
</div>
@ -106,21 +102,18 @@
</div>
<div class="spacer_box">
<div class="number">
<label>
<input type="number" name="board_align_roll" step="1" min="-180" max="360" />
<span i18n="configurationBoardAlignmentRoll"></span>
<label> <input type="number" name="board_align_roll" step="1" min="-180" max="360" /> <span
i18n="configurationBoardAlignmentRoll"></span>
</label>
</div>
<div class="number">
<label>
<input type="number" name="board_align_pitch" step="1" min="-180" max="360" />
<label> <input type="number" name="board_align_pitch" step="1" min="-180" max="360" />
<span i18n="configurationBoardAlignmentPitch"></span>
</label>
</div>
<div class="number">
<label>
<input type="number" name="board_align_yaw" step="1" min="-180" max="360" />
<span i18n="configurationBoardAlignmentYaw"></span>
<label> <input type="number" name="board_align_yaw" step="1" min="-180" max="360" /> <span
i18n="configurationBoardAlignmentYaw"></span>
</label>
</div>
</div>
@ -133,15 +126,13 @@
</div>
<div class="spacer_box">
<div class="number">
<label>
<input type="number" name="roll" min="-300" max="300" />
<span i18n="configurationAccelTrimRoll"></span>
<label> <input type="number" name="roll" min="-300" max="300" /> <span
i18n="configurationAccelTrimRoll"></span>
</label>
</div>
<div class="number">
<label>
<input type="number" name="pitch" min="-300" max="300" />
<span i18n="configurationAccelTrimPitch"></span>
<label> <input type="number" name="pitch" min="-300" max="300" /> <span
i18n="configurationAccelTrimPitch"></span>
</label>
</div>
</div>
@ -201,9 +192,8 @@
</tbody>
</table>
<div class="number">
<label>
<input type="number" name="failsafe_throttle" min="0" max="2000" />
<span i18n="configurationThrottleFailsafe"></span>
<label> <input type="number" name="failsafe_throttle" min="0" max="2000" /> <span
i18n="configurationThrottleFailsafe"></span>
</label>
</div>
</div>
@ -228,27 +218,23 @@
</tbody>
</table>
<div class="number">
<label>
<input type="number" name="mincellvoltage" step="0.1" min="1" max="5" />
<span i18n="configurationBatteryMinimum"></span>
<label> <input type="number" name="mincellvoltage" step="0.1" min="1" max="5" /> <span
i18n="configurationBatteryMinimum"></span>
</label>
</div>
<div class="number">
<label>
<input type="number" name="maxcellvoltage" step="0.1" min="1" max="5" />
<span i18n="configurationBatteryMaximum"></span>
<label> <input type="number" name="maxcellvoltage" step="0.1" min="1" max="5" /> <span
i18n="configurationBatteryMaximum"></span>
</label>
</div>
<div class="number">
<label>
<input type="number" name="warningcellvoltage" step="0.1" min="1" max="5" />
<span i18n="configurationBatteryWarning"></span>
<label> <input type="number" name="warningcellvoltage" step="0.1" min="1" max="5" /> <span
i18n="configurationBatteryWarning"></span>
</label>
</div>
<div class="number">
<label>
<input type="number" name="voltagescale" step="1" min="10" max="255" />
<span i18n="configurationBatteryScale"></span>
<label> <input type="number" name="voltagescale" step="1" min="10" max="255" /> <span
i18n="configurationBatteryScale"></span>
</label>
</div>
</div>
@ -271,22 +257,20 @@
</tbody>
</table>
<div class="number">
<label>
<input type="number" name="currentscale" step="1" min="-1000" max="1000" />
<span i18n="configurationCurrentScale"></span>
<label> <input type="number" name="currentscale" step="1" min="-1000" max="1000" /> <span
i18n="configurationCurrentScale"></span>
</label>
</div>
<div class="number">
<label>
<input type="number" name="currentoffset" step="1" min="0" max="3300" />
<span i18n="configurationCurrentOffset"></span>
<label> <input type="number" name="currentoffset" step="1" min="0" max="3300" /> <span
i18n="configurationCurrentOffset"></span>
</label>
</div>
<div class="checkbox">
<div class="numberspacer">
<input type="checkbox" name="multiwiicurrentoutput" id="toggle"/>
</div><label>
<span i18n="configurationBatteryMultiwiiCurrent"></span>
<input type="checkbox" name="multiwiicurrentoutput" class="toggle" />
</div>
<label> <span i18n="configurationBatteryMultiwiiCurrent"></span>
</label>
</div>
</div>
@ -297,7 +281,8 @@
<div class="gui_box grey">
<div class="gui_box_titlebar">
<div class="spacer_box_title" i18n="configurationRSSI"></div>
<div class="helpicon cf_tip" title="RSSI is a measurement of signal strength and is very handy so you know when your aircraft isw going out of range or if it is suffering RF interference."></div>
<div class="helpicon cf_tip"
title="RSSI is a measurement of signal strength and is very handy so you know when your aircraft isw going out of range or if it is suffering RF interference."></div>
</div>
<div class="spacer_box">
<table cellpadding="0" cellspacing="0">
@ -327,15 +312,13 @@
</div>
</div>
<div class="number">
<label>
<input type="number" name="looptime" step="100" min="0" max="9000"/>
<span i18n="configurationLoopTime"></span>
<label> <input type="number" name="looptime" step="100" min="0" max="9000" /> <span
i18n="configurationLoopTime"></span>
</label>
</div>
<div class="number">
<label>
<input type="text" name="looptimehz" readonly class="disabled"/>
<span i18n="configurationCalculatedCyclesSec"></span>
<label> <input type="text" name="looptimehz" readonly class="disabled" /> <span
i18n="configurationCalculatedCyclesSec"></span>
</label>
</div>
</div>
@ -356,8 +339,7 @@
<table cellpadding="0" cellspacing="0">
<thead>
<tr>
<th i18n="configurationFeatureEnabled">
</th>
<th i18n="configurationFeatureEnabled"></th>
<th i18n="configurationFeatureDescription"></th>
<th i18n="configurationFeatureName"></th>
</tr>
@ -369,24 +351,20 @@
<div class="line">
<select class="gps_protocol">
<!-- list generated here -->
</select>
<span i18n="configurationGPSProtocol"></span>
</select> <span i18n="configurationGPSProtocol"></span>
</div>
<div class="line">
<select class="gps_baudrate">
<!-- list generated here -->
</select>
<span i18n="configurationGPSBaudrate"></span>
</select> <span i18n="configurationGPSBaudrate"></span>
</div>
<div class="line">
<select class="gps_ubx_sbas">
<!-- list generated here -->
</select>
<span i18n="configurationGPSubxSbas"></span>
</select> <span i18n="configurationGPSubxSbas"></span>
</div>
<div class="number">
<label>
<input type="number" name="mag_declination" step="0.1" min="-180" max="180" />
<label> <input type="number" name="mag_declination" step="0.1" min="-180" max="180" />
<span i18n="configurationMagDeclination"></span>
</label>
</div>
@ -415,8 +393,10 @@
</div>
</div>
<div class="clear-both"></div>
</div>
<div class="content_toolbar">
<div class="btn save_btn"><a class="save" href="#" i18n="configurationButtonSave"></a></div>
</div>
</div>
<div class="content_toolbar">
<div class="btn save_btn">
<a class="save" href="#" i18n="configurationButtonSave"></a>
</div>
</div>
</div>

@ -47,9 +47,6 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
$('#content').load("./tabs/configuration.html", process_html);
}
MSP.send_message(MSP_codes.MSP_IDENT, false, false, load_config);
function recalculate_cycles_sec() {
@ -67,12 +64,6 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
// translate to user-selected language
localize();
// locating link to used CF version
var documentationButton = $('div#content #button-documentation');
documentationButton.html("Documentation for "+CONFIG.flightControllerVersion);
documentationButton.attr("href","https://github.com/cleanflight/cleanflight/tree/v{0}/docs".format(CONFIG.flightControllerVersion));
var mixer_list_e = $('select.mixerList');
for (var i = 0; i < mixerList.length; i++) {
mixer_list_e.append('<option value="' + (i + 1) + '">' + mixerList[i].name + '</option>');
@ -143,13 +134,13 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
+ '</td><span>');
radioGroups.push(features[i].group);
} else {
row_e = $('<tr><td><input class="feature"'
row_e = $('<tr><td><input class="feature toggle"'
+ i
+ '" name="'
+ features[i].name
+ '" title="'
+ features[i].name
+ '" type="checkbox" id="toggle"/></td><td><label for="feature-'
+ '" type="checkbox"/></td><td><label for="feature-'
+ i
+ '">'
+ features[i].name
@ -367,18 +358,6 @@ TABS.configuration.initialize = function (callback, scrollPosition) {
// load switchery
var elems = Array.prototype.slice.call(document.querySelectorAll('#toggle'));
elems.forEach(function(html) {
var switchery = new Switchery(html,
{
color: '#59aa29',
secondaryColor: '#c4c4c4'
});
});
// loading tooltip
$(document).ready(function() {
$('.cf_tip').jBox('Tooltip', {
@ -466,6 +445,13 @@ elems.forEach(function(html) {
function reinitialize() {
GUI.log(chrome.i18n.getMessage('deviceRebooting'));
if (BOARD.find_board_definition(CONFIG.boardIdentifier).vcp) { // VCP-based flight controls may crash old drivers, we catch and reconnect
$('a.connect').click();
GUI.timeout_add('start_connection',function start_connection() {
$('a.connect').click();
},2000);
} else {
GUI.timeout_add('waiting_for_bootup', function waiting_for_bootup() {
MSP.send_message(MSP_codes.MSP_IDENT, false, false, function () {
GUI.log(chrome.i18n.getMessage('deviceReady'));
@ -473,6 +459,7 @@ elems.forEach(function(html) {
});
},1500); // 1500 ms seems to be just the right amount of delay to prevent data request timeouts
}
}
MSP.send_message(MSP_codes.MSP_SET_BF_CONFIG, MSP.crunch(MSP_codes.MSP_SET_BF_CONFIG), false, save_serial_config);
});
@ -486,9 +473,6 @@ elems.forEach(function(html) {
}
};
TABS.configuration.cleanup = function (callback) {
TABS.configuration.cleanup = function (callback) {
if (callback) callback();
};

@ -2,6 +2,7 @@
margin: 0 0 10px 0;
position: relative;
}
.tab-dataflash .info .progressLabel {
position: absolute;
width: 100%;
@ -18,9 +19,11 @@
.tab-dataflash .properties {
margin-top: 10px;
}
.tab-dataflash .dataflash-info {
overflow:hidden;
overflow: hidden;
}
.tab-dataflash .dataflash-info dt {
float: left;
width: 12em;
@ -28,19 +31,23 @@
line-height: 20px;
font-weight: bold;
}
.tab-dataflash .dataflash-info dd {
display: block;
height: 20px;
line-height: 20px;
}
.tab-dataflash .speed {
margin-top: 5px;
width: 80px;
border: 1px solid silver;
}
.tab-dataflash .info {
margin-top: 10px;
}
.tab-dataflash .info dt {
float: left;
width: 120px;
@ -48,123 +55,133 @@
line-height: 20px;
font-weight: bold;
}
.tab-dataflash .info dd {
display: block;
margin-left: 130px;
height: 20px;
line-height: 20px;
}
.tab-dataflash .buttons {
width: calc(100% - 20px);
position: absolute;
bottom: 10px;
}
.tab-dataflash .dataflash-progress {
display: none;
}
.tab-dataflash .dataflash-contents {
margin-top:5px;
border:1px solid silver;
background-color:#eee;
display:flex;
flex-direction:row;
flex-wrap:nowrap;
justify-content:flex-start;
border-radius:6px;
.tab-dataflash .dataflash-contents {
margin-top: 5px;
border: 1px solid silver;
background-color: #eee;
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-start;
border-radius: 6px;
}
.tab-dataflash .dataflash-contents li {
height:26px;
position:relative;
box-shadow: inset 0 0 5px rgba(0,0,0,0.20);
height: 26px;
position: relative;
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.20);
border-radius: 4px;
}
.tab-dataflash .dataflash-contents li div {
position:absolute;
top:26px;
margin-top:4px;
text-align:center;
position: absolute;
top: 26px;
margin-top: 4px;
text-align: center;
left: 0;
right: 0;
}
.tab-dataflash .dataflash-used {
background-color:#59AA29;
background-color: #59AA29;
border-radius: 4px;
}
.tab-dataflash progress::-webkit-progress-bar {
height:24px;
background-color:#eee;
height: 24px;
background-color: #eee;
}
.tab-dataflash progress::-webkit-progress-value {
background-color:#bcf;
background-color: #bcf;
}
.tab-dataflash dialog {
width:40em;
width: 40em;
border-radius: 5px;
}
.tab-dataflash dialog .buttons {
position:static;
position: static;
margin-top: 2em;
overflow: hidden;
width:auto;
width: auto;
}
.tab-dataflash dialog h3 {
margin-bottom: 0.5em;
}
.dataflash-confirm-erase .dataflash-erase-progress {
height:125px;
display:none;
height: 125px;
display: none;
border-radius: 5px;
}
.dataflash-confirm-erase.erasing .dataflash-erase-progress {
display:block;
display: block;
}
.dataflash-confirm-erase.erasing h3,
.dataflash-confirm-erase.erasing .erase-flash-confirm,
.dataflash-confirm-erase.erasing .dataflash-confirm-erase-note {
display:none;
.dataflash-confirm-erase.erasing h3, .dataflash-confirm-erase.erasing .erase-flash-confirm, .dataflash-confirm-erase.erasing .dataflash-confirm-erase-note
{
display: none;
}
.tab-dataflash progress {
display:block;
width:100%;
margin:1em 0;
display: block;
width: 100%;
margin: 1em 0;
}
.dataflash-saving .dataflash-saving-after {
display:none;
display: none;
}
.dataflash-saving.done .dataflash-saving-before {
display:none;
display: none;
}
.dataflash-saving.done .dataflash-saving-after {
display:block;
display: block;
}
.require-dataflash {
display:none;
display: none;
}
.tab-dataflash.supported .require-dataflash {
display:block;
display: block;
}
.require-no-dataflash {
display:block;
display: block;
}
.tab-dataflash.supported .require-no-dataflash {
display:none;
display: none;
}
@media only screen and (max-width: 1055px), only screen and (max-device-width: 1055px) {
.tab-dataflash table thead tr:first-child {
@media only screen and (max-width: 1055px) , only screen and (max-device-width: 1055px) {
.tab-dataflash table thead tr:first-child {
font-size: 12px;
height: 22px;
}
}
}

@ -1,42 +1,39 @@
<div class="tab-dataflash toolbar_fixed_bottom">
<div class="content_wrapper">
<div class="content_wrapper">
<div class="tab_title" i18n="tabDataflash"></div>
<div class="cf_doc_version_bt">
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
</div>
<div class="require-dataflash">
<div class="note" style="margin-bottom:20px;">
<div class="note" style="margin-bottom: 20px;">
<div class="note_spacer">
<p i18n="dataflashNote"></p>
</div>
</div>
<dialog class="dataflash-confirm-erase">
<h3 i18n="dataflashConfirmEraseTitle"></h3>
<div class="dataflash-confirm-erase-note" i18n="dataflashConfirmEraseNote">
</div>
<div class="dataflash-confirm-erase-note" i18n="dataflashConfirmEraseNote"></div>
<div class="dataflash-erase-progress">
<div class="data-loading">
<p>Erase in progress, please wait...</p>
</div>
</div>
<div class="buttons">
<a href="#" class="erase-flash-cancel" i18n="dataflashButtonEraseCancel"></a>
<a href="#" class="erase-flash-confirm" i18n="dataflashButtonEraseConfirm"></a>
<a href="#" class="erase-flash-cancel" i18n="dataflashButtonEraseCancel"></a> <a href="#"
class="erase-flash-confirm" i18n="dataflashButtonEraseConfirm"></a>
</div>
</dialog>
<dialog class="dataflash-saving">
<h3 i18n="dataflashSavingTitle"></h3>
<div class="dataflash-saving-before">
<div i18n="dataflashSavingNote">
</div>
<div i18n="dataflashSavingNote"></div>
<progress value="0" min="0" max="100"></progress>
<div class="buttons">
<a href="#" class="save-flash-cancel" i18n="dataflashButtonSaveCancel"></a>
</div>
</div>
<div class="dataflash-saving-after">
<div i18n="dataflashSavingNoteAfter">
</div>
<div i18n="dataflashSavingNoteAfter"></div>
<div class="buttons">
<a href="#" class="save-flash-dismiss" i18n="dataflashButtonSaveDismiss"></a>
</div>
@ -45,14 +42,10 @@
<h3>Dataflash contents</h3>
<ul class="dataflash-contents">
<li class="dataflash-used">
<div class="legend">
Used space
</div>
<div class="legend">Used space</div>
</li>
<li class="dataflash-free">
<div class="legend">
Free space
</div>
<div class="legend">Free space</div>
</li>
</ul>
</div>
@ -61,9 +54,13 @@
<p i18n="require-no-dataflash"></p>
</div>
</div>
</div>
<div class="content_toolbar">
<div class="btn erase_btn"><a class="erase-flash" href="#" i18n="dataflashButtonErase"></a></div>
<div class="btn save_btn"><a class="save-flash" href="#" i18n="dataflashButtonSaveFile"></a></div>
</div>
</div>
<div class="content_toolbar">
<div class="btn erase_btn">
<a class="erase-flash" href="#" i18n="dataflashButtonErase"></a>
</div>
<div class="btn save_btn">
<a class="save-flash" href="#" i18n="dataflashButtonSaveFile"></a>
</div>
</div>
</div>

@ -86,10 +86,6 @@ TABS.dataflash.initialize = function (callback) {
// translate to user-selected language
localize();
// locating link to used CF version
var documentationButton = $('div#content #button-documentation');
documentationButton.html("Documentation for "+CONFIG.flightControllerVersion);
documentationButton.attr("href","https://github.com/cleanflight/cleanflight/tree/v{0}/docs".format(CONFIG.flightControllerVersion));
if (TABS.dataflash.available) {
var supportsDataflash = DATAFLASH.totalSize > 0;

@ -2,6 +2,7 @@
margin: 10px 0 0 0;
position: relative;
}
.tab-firmware_flasher .info .progressLabel {
position: absolute;
width: 100%;
@ -16,113 +17,100 @@
/* text-shadow: 1px 0px 2px rgba(0, 0, 0, 0.9);*/
}
.red {
background-color: #dc0000;
background-image: linear-gradient(
-45deg,
rgba(255, 255, 255, .3) 10%,
transparent 10%,
transparent 20%,
rgba(255, 255, 255, .3) 20%,
rgba(255, 255, 255, .3) 30%,
transparent 30%,
transparent 40%,
rgba(255, 255, 255, .3) 40%,
rgba(255, 255, 255, .3) 50%,
transparent 50%,
transparent 60%,
rgba(255, 255, 255, .3) 60%,
rgba(255, 255, 255, .3) 70%,
transparent 70%,
transparent 80%,
rgba(255, 255, 255, .3) 80%,
rgba(255, 255, 255, .3) 90%,
transparent 90%,
transparent 100%,
rgba(255, 255, 255, .4) 100%,
transparent );
}
background-image: linear-gradient(-45deg, rgba(255, 255, 255, .3) 10%, transparent 10%, transparent 20%,
rgba(255, 255, 255, .3) 20%, rgba(255, 255, 255, .3) 30%, transparent 30%, transparent 40%,
rgba(255, 255, 255, .3) 40%, rgba(255, 255, 255, .3) 50%, transparent 50%, transparent 60%,
rgba(255, 255, 255, .3) 60%, rgba(255, 255, 255, .3) 70%, transparent 70%, transparent 80%,
rgba(255, 255, 255, .3) 80%, rgba(255, 255, 255, .3) 90%, transparent 90%, transparent 100%,
rgba(255, 255, 255, .4) 100%, transparent);
}
.darkgrey {
background-color: #575757;
}
}
.tab-firmware_flasher .spacer_box_title {
float:none;}
float: none;
}
.tab-firmware_flasher .info {
float:left;
width:100%;
}
float: left;
width: 100%;
}
.tab-firmware_flasher .info .progressLabel a {
color: white;
}
.tab-firmware_flasher .info .progressLabel a:hover {
text-decoration: underline;
}
.tab-firmware_flasher .info .progress {
width: 100%;
height: 26px;
border-radius: 5px;
border: 1px solid silver;
}
.tab-firmware_flasher .info .progress {
-webkit-appearance: none;
}
.tab-firmware_flasher .info .progress::-webkit-progress-bar {
background-color: #4f4f4f;
border-radius: 4px;
box-shadow: inset 0px 0px 5px #2f2f2f;
}
.tab-firmware_flasher .info .progress::-webkit-progress-value {
background-color: #F86008;
border-radius: 4px;
}
.tab-firmware_flasher .info .progress.valid::-webkit-progress-bar {
background-color: #56ac1d;
border-radius: 4px;
}
.tab-firmware_flasher .info .progress.valid::-webkit-progress-value {
background-color: #56ac1d;
border-radius: 4px;
}
.tab-firmware_flasher .info .progress.invalid::-webkit-progress-bar {
background-color: #A62E32;
border-radius: 4px;
}
.tab-firmware_flasher .info .progress.invalid::-webkit-progress-value {
background-color: #A62E32;
border-radius: 4px;
}
.tab-firmware_flasher .options {
position: relative;
margin-bottom: 10px;
line-height: 18px;
text-align:left;
text-align: left;
}
.tab-firmware_flasher td {
text-align:left;
text-align: left;
}
.tab-firmware_flasher .options label input {
float: left;
margin-top: 2px;
}
.tab-firmware_flasher .options label span {
font-weight: bold;
margin-left: 6px;
}
.tab-firmware_flasher .options select {
width: 250px;
height: 20px;
@ -137,37 +125,36 @@
margin: 0 0 2px 0;
line-height: 20px;
}
.tab-firmware_flasher .options .description {
position: relative;
left:0px;
left: 0px;
font-style: italic;
color: #818181;
}
.tab-firmware_flasher .cf_table td:last-child {
text-align:left;
.tab-firmware_flasher .cf_table td:last-child {
text-align: left;
}
.tab-firmware_flasher .options .flash_on_connect_wrapper {
display: none;
}
.tab-firmware_flasher .options .manual_baud_rate select {
width: 75px;
margin-left:19px;
margin-left: 19px;
}
.tab-firmware_flasher .release_info {
display: none;
}
.tab-firmware_flasher .release_info .title {
line-height: 20px;
text-align: center;
font-weight: bold;
color: white;
border-bottom: 1px solid silver;
background-color: #3f4241;
}
@ -179,81 +166,87 @@
.tab-firmware_flasher .release_info p {
padding: 5px;
}
.tab-firmware_flasher .release_info p a {
font-weight: bold;
}
.tab-firmware_flasher .release_info p a:hover {
text-decoration: underline;
}
.tab-firmware_flasher .release_info .notes {
padding: 5px;
}
.tab-firmware_flasher .git_info {
display: none;
margin-bottom: 10px;
border: 1px solid silver;
}
.tab-firmware_flasher .git_info .title {
line-height: 20px;
text-align: center;
font-weight: bold;
color: white;
border-bottom: 1px solid silver;
background-color: #3f4241;
}
.tab-firmware_flasher .git_info p {
padding: 5px;
}
.tab-firmware_flasher .git_info p a {
font-weight: bold;
}
.tab-firmware_flasher .git_info p a:hover {
text-decoration: underline;
}
.tab-firmware_flasher .buttons {
width: calc(100% - 20px);
margin-top: 10px;
bottom: 10px;
}
.tab-firmware_flasher .buttons a {
display: block;
float: left;
margin: 0 10px 0 0;
padding: 0 15px 0 15px;
height: 28px;
line-height: 28px;
text-align: center;
font-weight: bold;
border: 1px solid silver;
background-color: #ececec;
}
.tab-firmware_flasher .buttons a:hover {
background-color: #dedcdc;
}
.tab-firmware_flasher .buttons a.flash_firmware.locked {
background-color: #b8b8b8;
}
.tab-firmware_flasher .buttons a.flash_firmware.locked:hover {
cursor: default;
background-color: #b8b8b8;
}
.tab-firmware_flasher .buttons a.load_remote_file.locked {
background-color: #b8b8b8;
}
.tab-firmware_flasher .buttons a.load_remote_file.locked:hover {
cursor: default;
background-color: #b8b8b8;
}
.tab-firmware_flasher .buttons a.back {
float: right;
margin: 0;
@ -262,7 +255,7 @@
.btn a.disabled {
cursor: default;
color: #fff;
background-color:#AFAFAF;
background-color: #AFAFAF;
border: none;
pointer-events: none;
text-shadow: none;

@ -2,45 +2,35 @@
<div class="content_wrapper">
<div class="options gui_box">
<div class="spacer">
<table class="cf_table" style="margin-top:10px;">
<table class="cf_table" style="margin-top: 10px;">
<tr>
<td>
<select name="release">
<td><select name="release">
<option value="0">Loading ...</option>
</select>
</td>
</select></td>
<td><span class="description" i18n="firmwareFlasherOnlineReleasesDescription"></span></td>
</tr>
<tr>
<td><label>
<input class="updating" type="checkbox" id="toggle" />
<span i18n="firmwareFlasherNoReboot"></span>
</label>
</td>
<td><label> <input class="updating toggle" type="checkbox" /> <span
i18n="firmwareFlasherNoReboot"></span>
</label></td>
<td><span class="description" i18n="firmwareFlasherNoRebootDescription"></span></td>
</tr>
<tr class="option flash_on_connect_wrapper">
<td><label>
<input class="flash_on_connect" type="checkbox" id="toggle" />
<span i18n="firmwareFlasherFlashOnConnect"></span>
</td>
<td><label> <input class="flash_on_connect toggle" type="checkbox" /> <span
i18n="firmwareFlasherFlashOnConnect"></span></td>
</label>
<td><span class="description" i18n="firmwareFlasherFlashOnConnectDescription"></span></td>
</tr>
<tr class="option">
<td><label>
<input class="erase_chip" type="checkbox" id="toggle" />
<span i18n="firmwareFlasherFullChipErase"></span>
</label>
</td>
<td><label> <input class="erase_chip toggle" type="checkbox" /> <span
i18n="firmwareFlasherFullChipErase"></span>
</label></td>
<td><span class="description" i18n="firmwareFlasherFullChipEraseDescription"></span></td>
</tr>
<tr class="option manual_baud_rate">
<td>
<label>
<input class="flash_manual_baud" type="checkbox" id="toggle" />
<span i18n="firmwareFlasherManualBaud"></span>
<select id="flash_manual_baud_rate" title="Baud Rate">
<td><label> <input class="flash_manual_baud toggle" type="checkbox" /> <span
i18n="firmwareFlasherManualBaud"></span> <select id="flash_manual_baud_rate"
title="Baud Rate">
<option value="921600">921600</option>
<option value="460800">460800</option>
<option value="256000" selected="selected">256000</option>
@ -51,16 +41,13 @@
<option value="28800">28800</option>
<option value="19200">19200</option>
</select>
</label>
</td>
</label></td>
<td><span class="description" i18n="firmwareFlasherManualBaudDescription"></span></td>
</tr>
<tr class="option noboarder">
<td><label>
<input class="show_development_releases" type="checkbox" id="toggle" />
<span i18n="firmwareFlasherShowDevelopmentReleases"></span>
</label>
</td>
<td><label> <input class="show_development_releases toggle" type="checkbox" /> <span
i18n="firmwareFlasherShowDevelopmentReleases"></span>
</label></td>
<td><span class="description" i18n="firmwareFlasherShowDevelopmentReleasesDescription"></span></td>
</tr>
</table>
@ -70,33 +57,34 @@
<div class="git_info">
<div class="title" i18n="firmwareFlasherGithubInfoHead"></div>
<p>
<strong i18n="firmwareFlasherHash"></strong> <a i18n_title="firmwareFlasherUrl" class="hash" href="#" target="_blank"></a><br />
<strong i18n="firmwareFlasherCommiter"></strong> <span class="committer"></span><br />
<strong i18n="firmwareFlasherDate"></strong> <span class="date"></span><br />
<strong i18n="firmwareFlasherMessage"></strong> <span class="message"></span>
<strong i18n="firmwareFlasherHash"></strong> <a i18n_title="firmwareFlasherUrl" class="hash" href="#"
target="_blank"></a><br /> <strong i18n="firmwareFlasherCommiter"></strong> <span class="committer"></span><br />
<strong i18n="firmwareFlasherDate"></strong> <span class="date"></span><br /> <strong
i18n="firmwareFlasherMessage"></strong> <span class="message"></span>
</p>
</div>
<div class="release_info gui_box">
<div class="gui_box_titlebar darkgrey">
<div class="spacer_box_title" style="text-align:center; color:white;
" i18n="firmwareFlasherReleaseSummaryHead"></div>
<div class="spacer_box_title" style="text-align: center; color: white;"
i18n="firmwareFlasherReleaseSummaryHead"></div>
</div>
<div class="spacer" style="margin-bottom:10px;">
<strong i18n="firmwareFlasherReleaseTarget"></strong> <span class="target"></span><br />
<strong i18n="firmwareFlasherReleaseName"></strong> <a i18n_title="firmwareFlasherReleaseUrl" class="name" href="#" target="_blank"></a><br />
<strong i18n="firmwareFlasherReleaseFile"></strong> <a i18n_title="firmwareFlasherReleaseFileUrl" class="file" href="#" target="_blank"></a><br />
<strong i18n="firmwareFlasherReleaseDate"></strong> <span class="date"></span><br />
<strong i18n="firmwareFlasherReleaseStatus"></strong> <span class="status"></span><br />
<strong i18n="firmwareFlasherReleaseNotes"></strong> <br />
<div class="spacer" style="margin-bottom: 10px;">
<strong i18n="firmwareFlasherReleaseTarget"></strong> <span class="target"></span><br /> <strong
i18n="firmwareFlasherReleaseName"></strong> <a i18n_title="firmwareFlasherReleaseUrl" class="name"
href="#" target="_blank"></a><br /> <strong i18n="firmwareFlasherReleaseFile"></strong> <a
i18n_title="firmwareFlasherReleaseFileUrl" class="file" href="#" target="_blank"></a><br /> <strong
i18n="firmwareFlasherReleaseDate"></strong> <span class="date"></span><br /> <strong
i18n="firmwareFlasherReleaseStatus"></strong> <span class="status"></span><br /> <strong
i18n="firmwareFlasherReleaseNotes"></strong> <br />
<div class=notes></div>
</div>
</div>
<div class="gui_box">
<div class="gui_box_titlebar red">
<div class="spacer_box_title" style="text-align:center; color:white;
" i18n="firmwareFlasherWarninghead"></div>
<div class="spacer_box_title" style="text-align: center; color: white;"
i18n="firmwareFlasherWarninghead"></div>
</div>
<div class="spacer" style="margin-bottom:10px;">
<div class="spacer" style="margin-bottom: 10px;">
<p i18n="firmwareFlasherWarningText">
<p i18n="firmwareFlasherTargetWarning"></p>
</div>
@ -107,8 +95,14 @@
</div>
</div>
<div class="content_toolbar">
<div class="btn"><a class="load_file" href="#" i18n="firmwareFlasherButtonLoadLocal"></a></div>
<div class="btn"><a class="load_remote_file disabled" href="#" i18n="firmwareFlasherButtonLoadOnline"></a></div>
<div class="btn"><a class="flash_firmware disabled" href="#" i18n="firmwareFlasherFlashFirmware"></a></div>
<div class="btn">
<a class="load_file" href="#" i18n="firmwareFlasherButtonLoadLocal"></a>
</div>
<div class="btn">
<a class="load_remote_file disabled" href="#" i18n="firmwareFlasherButtonLoadOnline"></a>
</div>
<div class="btn">
<a class="flash_firmware disabled" href="#" i18n="firmwareFlasherFlashFirmware"></a>
</div>
</div>
</div>

@ -17,18 +17,6 @@ TABS.firmware_flasher.initialize = function (callback) {
// translate to user-selected language
localize();
// load switchery
var elems = Array.prototype.slice.call(document.querySelectorAll('#toggle'));
elems.forEach(function(html) {
var switchery = new Switchery(html,
{
color: '#59aa29',
secondaryColor: '#c4c4c4'
});
});
function parse_hex(str, callback) {
// parsing hex in different thread
var worker = new Worker('./js/workers/hex_parser.js');

@ -1,44 +1,39 @@
.tab-gps {
}
.tab-gps progress {
width:100%;
border-radius:3px;
width: 100%;
border-radius: 3px;
}
.tab-gps .GPS_info .head,
.tab-gps .GPS_signal_strength .head {
display: block;
.tab-gps .GPS_info .head, .tab-gps .GPS_signal_strength .head {
display: block;
text-align: center;
line-height: 20px;
font-weight: bold;
border-bottom: 1px solid silver;
background-color: #ececec;
}
.tab-gps a {
font-weight: bold;
}
.tab-gps a:hover {
text-decoration: underline;
}
progress[value]::-webkit-progress-bar {
progress[value]::-webkit-progress-bar {
background-color: #d2d2d2;
border-radius: 2px;
box-shadow: 1px 1px 0 rgba(255, 255, 255, 0.95);
box-shadow: 0 0 3px rgba(0, 0, 0, 0.25) inset;
}
progress[value]::-webkit-progress-value {
background-image:
-webkit-linear-gradient(top,
rgba(255, 255, 255, .15),
rgba(0, 0, 0, .15)),
background-image: -webkit-linear-gradient(top, rgba(255, 255, 255, .15), rgba(0, 0, 0, .15)),
-webkit-linear-gradient(left, #59aa29, #59aa29);
border-radius: 2px;
box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.25) inset;
}

@ -1,5 +1,5 @@
<div class="tab-gps">
<div class="content_wrapper">
<div class="content_wrapper">
<div class="tab_title" i18n="tabGPS">GPS</div>
<div class="cf_doc_version_bt">
<a id="button-documentation" href="https://github.com/cleanflight/cleanflight/releases" target="_blank"></a>
@ -142,9 +142,9 @@
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>

@ -16,12 +16,6 @@ TABS.gps.initialize = function (callback) {
MSP.send_message(MSP_codes.MSP_STATUS, false, false, load_html);
function process_html() {
// locating link to used CF version
var documentationButton = $('div#content #button-documentation');
documentationButton.html("Documentation for "+CONFIG.flightControllerVersion);
documentationButton.attr("href","https://github.com/cleanflight/cleanflight/tree/v{0}/docs".format(CONFIG.flightControllerVersion));
// translate to user-selected language
localize();

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save