Skip to content

Commit

Permalink
Added Nuget badges to README and fixed a lot of typos
Browse files Browse the repository at this point in the history
  • Loading branch information
pysco68 committed Jul 14, 2017
1 parent b9ec27a commit e66e066
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 19 deletions.
File renamed without changes.
35 changes: 18 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Staudt Engineering / lidaRx
===========================
LidaRx
======

[![Build status](https://ci.appveyor.com/api/projects/status/sy2l3c91cvlnd1p6?svg=true)](https://ci.appveyor.com/project/pysco68/lidarx)
[![NuGet](https://img.shields.io/nuget/v/Staudt.Engineering.LidaRx.svg)](https://www.nuget.org/packages/Staudt.Engineering.LidaRx/)
Expand All @@ -12,10 +12,10 @@ samples received by the scanner.
Features
--------

- Unified data processing
- Unified data processing with all the power of [Rx.NET](http://reactivex.io/) at your fingertip
- 3D coordinates
- Configurable sensor position and orientation
- Sensor position and orientation updatable at runtime (== your sensor can move, scanned coordinates will be transformed accordingly)
- Sensor position and orientation updatable at runtime
- Vendor agnostic sensor fusion (join data streams from multiple scanners)
- Comprehensive API an helpers: [LidaRx readme](src/Staudt.Engineering.LidaRx/README.md)
- Unified base API for scanners: connect/disconnect, start/stop scanning and simple status information
Expand All @@ -24,29 +24,30 @@ Features
- `PointsInDistanceRange`
- `RadiusRangeMinDistance`
- `RadiusRangeMaxDistance`
- Carthesian coordinates filters
- Cartesian coordinates filters
- `PointsInBox`
- Grouping/Transforming operators
- `BufferByScan`
- Plus all the power of Rx.NET at your fingertip
- Fully async
- Cross plattform support:
- Cross platform support:
- .NET Standard 1.5 / .NET Core 1.0
- .NET Standard 2.0 / .NET Core 2.0
- .NET 4.6+

Supported devices
-----------------

These device are officially supported by LidaRx:

- Scanse.io SWEEP [Readme](src/Staudt.Engineering.LidaRx.Drivers.Sweep/README.md)
- Pepperl+Fuchs OMDxxx-R2000 device familly (HD and UHD) [Readme](src/Staudt.Engineering.LidaRx.Drivers.R2000/README.md)
- Pepperl+Fuchs OMDxxx-R2000 device family (HD and UHD) [Readme](src/Staudt.Engineering.LidaRx.Drivers.R2000/README.md)

Show me some code!
------------------

Here's a simple example using a Scanse.io Sweep sensor.

Basically the programm connects to the Sweep on `Com1`, set the motor speed to 10Hz and the sample rate to 1kHz
Basically the program connects to the Sweep on `Com1`, set the motor speed to 10Hz and the sample rate to 1kHz

```csharp
using (var sweep = new SweepScanner("COM1"))
Expand All @@ -58,7 +59,7 @@ using (var sweep = new SweepScanner("COM1"))
await sweep.StartScanAsync();
```

...then the programm registers for `LidarStatusEvent` with the `LidarStatusLevel.Error` and logs the
...then the program registers for `LidarStatusEvent` with the `LidarStatusLevel.Error` and logs the
messages to the console.

```csharp
Expand All @@ -69,7 +70,7 @@ messages to the console.
});
```

Next, the programm takes the LIDAR point stream and filters away all the points that are outside of the distance
Next, the program takes the LIDAR point stream and filters away all the points that are outside of the distance
range 40cm to 100cm (imagine two concentric circles around the scanner; only points between them propagate in the
resulting `Observable<LidarPoint>` stream)

Expand All @@ -83,7 +84,7 @@ resulting `Observable<LidarPoint>` stream)

Finally we use the restrained stream as source for a Rx `Buffer()` which collects all the points into consecutive
"1 second long" buffers. In the second part the program uses the `pointsBetween400and1000mm` stream and restricts
it further to points in the azimut range of -45 to +45 degree.
it further to points in the azimuth range of -45 to +45 degree.

```csharp
// buffer in 1second long samples
Expand Down Expand Up @@ -126,22 +127,22 @@ the code above it buffers by scan (basically per scanner head revolution).
Roadmap
-------

- Usable implementation of 3D colision test (think of `PointsIn3DModel(string pathToStlFile)` )
- Usable implementation of 3D collision test (think of `PointsIn3DModel(string pathToStlFile)` )
- Points to object matching
- Point agglomeration tracking
- Point and motion tracking

License
-------

lidaRx is dual licenced. Unless you've made a separate licence agreement with Staudt
lidaRx is dual licensed. Unless you've made a separate licence agreement with Staudt
Engineering (for example because you can't stand the LGPL / use contact form on
http://www.staudt-engineering.com) you can use lidaRx under the GNU Lesser General
Public License v3.0. The full licence text is available in this repository: [LICENCE](LICENCE)
Public License v3.0. The full licence text is available in this repository: [LICENSE](LICENSE)

Support & Contribution
----------------------

Commercial support and device driver developement service is available, support
Commercial support and device driver development service is available, support
for open source usage is limited on a "free time available" basis, but please
feel free to open issues or pull requests if you can think of something that
would make this library more awesome :)
7 changes: 5 additions & 2 deletions src/Staudt.Engineering.LidaRx.Drivers.R2000/README.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
LidaRx driver for Pepperl+Fuchs OMDxxx-R2000 devices
====================================================

[![NuGet](https://img.shields.io/nuget/v/Staudt.Engineering.LidaRx.Drivers.R2000.svg)](https://www.nuget.org/packages/Staudt.Engineering.LidaRx/)
[![NuGet](https://img.shields.io/nuget/vpre/Staudt.Engineering.LidaRx.Drivers.R2000.svg)](https://www.nuget.org/packages/Staudt.Engineering.LidaRx/)

This device driver adds support for Pepperl+Fuchs OMDxxx-R2000 family 2D scanners.

Features
--------

- Support for Firmwares 0.97+ (PFSDP protocol v1.00 to v1.02) (automatic handling of protocol differences)
- Support for firmware 0.97+ (PFSDP protocol v1.00 to v1.02) (automatic handling of protocol differences)
- Support both HD and UHD models
- TCP wire protocol for data stream
- Discards invalid data points
- Driver periodically fetches device status
- Automatic data stream watchdog reset (driver selects optimal reset method based on firmware version)
- Stronly typed settings API for motor speed and sample rate (includes validation of supplied parameters)
- Strongly typed settings API for motor speed and sample rate (includes validation of supplied parameters)

Roadmap
-------
Expand Down
1 change: 1 addition & 0 deletions src/Staudt.Engineering.LidaRx.sln
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Staudt.Engineering.LidaRx.D
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{285C6B76-63D0-4BAE-9AF3-2E30D6179A49}"
ProjectSection(SolutionItems) = preProject
..\appveyor.yml = ..\appveyor.yml
..\LICENSE = ..\LICENSE
..\README.md = ..\README.md
EndProjectSection
Expand Down

0 comments on commit e66e066

Please sign in to comment.