# node-firefly2

> node-firefly2

Latest version **0.0.41** (published 2013-08-12) · 0 weekly downloads

## Install

```sh
npm install node-firefly2
pnpm add node-firefly2
yarn add node-firefly2
bun add node-firefly2
```

## Health

**Score 10/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; low quality score; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.0.41 |
| Published | 2013-08-12 |
| First published | 2013-07-26 |
| Weekly downloads | 0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Known vulnerabilities | 0 |
| Install scripts | yes |
| GitHub stars | 0 |
| Author | Redfish LLC |
| Maintainers | m0ose |

## Links

- npm: https://www.npmjs.com/package/node-firefly2
- Repository: https://github.com/m0ose/node-firefly2
- npm.io page: https://npm.io/package/node-firefly2

## Recent versions

- 0.0.41 (latest) — 2013-08-12
- 0.0.4 — 2013-08-12
- 0.0.3 — 2013-08-02
- 0.0.21 — 2013-07-29
- 0.0.2 — 2013-07-29
- 0.0.1 — 2013-07-26

## README

node-firefly2
=============

nodejs binding for firefly 2 camera

Introduction:
This is a wrapper for the FlyCapture2 Api from Point Grey research, http://www.ptgrey.com/support/downloads/documents/Doxygen/html/annotated.html.

Intallation:   
------------
<b> Windows and Linux are supported (more or less). Macintosh is not</b>. Point Grey Research does not support an SDK for mac. If someone can find a version it would be a big help

<i>  It compiled once for me on Windows 7, but I would like to learn how to ship with a binary </i>

* get nodejs and npm, from nodejs.org

* Install node-gyp from https://github.com/TooTallNate/node-gyp. Use his installation instructions, they are good.

* Download and install Point grey SDK from  http://www.ptgrey.com/support/downloads/downloads_admin/Index.aspx;

* npm install node-firefly2
 

Example:
--------

        var addon = require('node-firefly2');
        var fs = require('fs');
        var sys = require('sys');
        var Png = require('png').Png;//note doesn't work on windows. use png-sync instead
        //
        var cam = new addon();
        console.log( 'num cameras' , cam.getNumCameras())
        console.log("start Camera 0 ", cam.startCamera())
        //
        //set some default parameters.
        cam.autoGain(true);
        cam.autoExposure(true);
        cam.autoWhiteBalance(true);
        cam.triggerOff(false);//True uses the cable. Note don't use true unless you have a cable. It will wait forever. 
        //
        //take a few just to get it warmed up. might help?
        cam.takePhoto();cam.takePhoto();cam.takePhoto();cam.takePhoto()
        var pic = cam.takePhoto();//actually take the picture
        var png2 = new Png(pic,640,480,'rgb')
        var png_image = png2.encodeSync();
        fs.writeFileSync('../pics/png_test.png', png_image.toString('binary'), 'binary');
        
API:
----

* var cam = new addon.FireFlyWrap(); // allways start with this
* cam.getNumCameras() // returns the number of cameras found
* cam.startCamera() // starts using the first camera
* cam.autoGain(false); // turn gain on or off
* cam.autoExposure(false); // turn auto shutter speed on or off
* cam.autoWhiteBalance(false); // turn auto white balance on or off
* cam.gain(2); // manually sets the gain. Note that auto gain must be off for this to work
* cam.exposure(90); // manually sets shutter speed. in milli seconds
* cam.triggerOff(true);//True is off, waits for hardware trigger. If no trigger is connected it will wait forever.
* cam.frameRate(); // sets the fram rate to 90 fps
* cam.triggerDelay(0.000)//  takes a number in seconds to delay between when the cable trigger fires and when the picture is taken. 
* cam.takePhoto(); // takes a picture and returns a node::buffer


CHANGES:
-------
*  2013/7/20 : Started this project on linux only.
*  2013/8/2 : Complete rewrite in order to get it to work on Windows. A bi-product is that the code is much cleaner.

---
_Source: https://npm.io/package/node-firefly2 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
