open-index/open-npm huggingface dataset:
npm package: @giwisoft/ryze-tello-sdk
Description: NodeJS utility for the [Ryze Tello Drone](https://www.ryzerobotics.com/tello)
Author: Giwi
Latest version: 0.0.3

# Ryze Tello commands

NodeJS utility for the [Ryze Tello Drone](https://www.ryzerobotics.com/tello)

Video stream is supported, but you need mplayer.

## Usage

    yarn install @giwisoft/ryze-tello-sdk

Connect to the Tello's Wifi.

    yarn start

```javascript
'use strict';
const tello = require('./lib/tello');

tello.start()
    .then(() => tello.takeoff())
    .then(() => tello.forward(50))
    .then(() => tello.rotateCCW(360))
    .then(() => {
        return new Promise(resolve =>
            tello.get('h').then(r => {
                console.log('height', r.value);
                resolve()
            }));
    })
    .then(() => tello.backward(50))
    .then(() => tello.land())
    .then(() => tello.stop());
```    

or 

```javascript
const tello = require('./lib/tello');

'use strict';

(async() => {
  // Start the engine
  await tello.start();
  await tello.startStream();
  await tello.startTelemetry({});
  await tello.takeoff();
  // Read the battery status
  console.log('battery', (await tello.get('bat')).value, '%');
  // Go up
  await tello.up(50);
  // Perform a forward flip
  await tello.flip('f');
  // Go forward
  await tello.forward(50);
  await tello.right(20);
  // Read the height
  console.log('height', (await tello.get('h')).value, 'cm');
  // Go backward
  await tello.backward(100);
  await tello.rotateCW(360);
  // Finally land
  await tello.land();
  await tello.stopTelemetry();
  await tello.stopStream();
  // And then shut down the engine
})().then(() => tello.stop());
```

## Tello flight vars

| Name | Unit | Description |
| --- | --- | --- |
| `h` | cm | height |
| `baro` | cm | barometer |
| `tof` | cm | to floor distance |
| `templ` | °C | min temperature |
| `temph` | °C | max temperature |
| `pitch` | ° | attitude pitch |
| `roll` | ° | attitude roll |
| `yaw` | ° | attitude yaw |
| `agx` | 0.001g | acceleration x |
| `agy` | 0.001g | acceleration y |
| `agz` | 0.001g | acceleration z |
| `vgx` | cm/s | speed x |
| `vgy` | cm/s | speed y |
| `vgz` | cm/s | speed z | 
| `bat` | % | battery |

## RoadMap

- [ ] Save video on the file system
- [ ] Take pictures
- [ ] RealTime remote control with web video stream
- [ ] Raspberry setup
- [ ] GamePad support on Raspberry
npm package: @giwisoft/wc-split
Description: Unopinionated utilities for resizeable split views
Author: Giwi
Latest version: 1.0.9

# Web component wc-split 

Unopinionated utilities for resizeable split views (also called panes or frames). It handles weird edge cases so you don't have to. Split.js is CSS-driven, only using JS to recalculate CSS styles on drag. Split.js does not attach any window event listeners, instead relying on CSS for the layout when the window size changes. This keeps the JS overhead extremely low.

Embed [Split.js](https://split.js.org/) in a Web Component.


## Using this component

### Script tag

- Put a script tag similar to this `<script src='https://unpkg.com/@giwisoft/wc-split@0.0.1/dist/wc-split.js'></script>` in the head of your index.html
- Then you can use the element anywhere in your template, JSX, html etc

### Node Modules
- Run `npm install @giwisoft/wc-split --save`
- Put a script tag similar to this `<script src='node_modules/@giwisoft/wc-split/dist/wc-split.js'></script>` in the head of your index.html
- Then you can use the element anywhere in your template, JSX, html etc


## Contribute

```bash
yarn install
yarn dev
```

To build the component for production, run:

```bash
yarn build
```

To run the unit tests for the components, run:

```bash
yarn test
```

## Integrations

[See here](https://stenciljs.com/docs/framework-integration)
npm package: @giwisoft/wc-tabs
Description: Tabs component
Author: Giwi
Latest version: 1.0.10

# wc-tabs


Simple tabs component

```html
<wc-tabs selection="1">
  <wc-tabs-header slot="header" name="tab1">Tab 1</wc-tabs-header>
  <wc-tabs-header slot="header" name="tab2">Tab 2</wc-tabs-header>
  <wc-tabs-header slot="header" name="tab3" disabled="true">Tab 3</wc-tabs-header>

  <wc-tabs-content slot="content" name="tab1">Content tab 1</wc-tabs-content>
  <wc-tabs-content slot="content" name="tab2" responsive="true">Content tab 2</wc-tabs-content>
  <wc-tabs-content slot="content" name="tab3">Content tab 3</wc-tabs-content>
</wc-tabs>
```

## Properties

`selection` property is not mandatory. Default selection is the first tab (0).

`selection` can be changed externaly anytime to force tab selection.

`selection` is applied modulus the number of tab.


## CSS vars

| Name | Description | Default |
| --- | --- | --- |
| --wc-tab-header-border-color | Outline border color | #dee2e6 |
| --wc-tab-header-bg-color | Header default background color | transparent |
| --wc-tab-header-color | Header default font color | #007bff |
| --wc-tab-header-selected-color | Selected header font color | #495057 |
| --wc-tab-header-selected-bg-color | Selected header background color | #fff |
| --wc-tab-header-selected-border-color | Selected header border color | #dee2e6 |
| --wc-tab-header-disabled-color | Disabled header font color |
| --wc-tab-header-disabled-bg-color | Disabled header background color | transparent |

## wc-tabs-content

### Properties
| Property     | Attribute    | Description | Type      | Default     |
| ------------ | ------------ | ----------- | --------- | ----------- |
| `name`       | `name`       |             | `string`  | `undefined` |
| `responsive` | `responsive` |  when set, force the div dimensions to 100%           | `boolean` | `false`     |

### Methods

#### `getChild() => Promise<IWcTabContentData>`

##### Returns

Type: `Promise<IWcTabContentData>`

## wc-tabs-header

### Properties

| Property   | Attribute  | Description | Type      | Default     |
| ---------- | ---------- | ----------- | --------- | ----------- |
| `disabled` | `disabled` |             | `boolean` | `undefined` |
| `name`     | `name`     |             | `string`  | `undefined` |


### Events

| Event      | Description | Detail |
| ---------- | ----------- | ------ |
| `onSelect` |             | void   |


### Methods

#### `getChild() => Promise<IWcTabHeaderData>`

##### Returns

Type: `Promise<IWcTabHeaderData>`