Skip to content

Commit cc8d7dd

Browse files
committed
Update READMEs
1 parent afc1cae commit cc8d7dd

File tree

4 files changed

+17
-14
lines changed

4 files changed

+17
-14
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,14 @@ SmartServoFramework.includes
1616

1717
# QMake temporary project files (gui)
1818
gui/SmartServoGui.pro.*
19+
gui/.qmake.stash
1920
gui/Makefile
2021
gui/build/*
2122

2223
# Scons temporary project files (examples)
2324
examples/.scon*
2425
examples/build/*
2526

26-
# Netbeans project files
27+
# Others
28+
stash/*
2729
nbproject/*

README.md

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,16 @@ SmartServoFramework 0.95
22
========================
33

44
[![Build Status](https://travis-ci.org/emericg/SmartServoFramework.svg?branch=master)](https://travis-ci.org/emericg/SmartServoFramework)
5+
[![Build status](https://ci.appveyor.com/api/projects/status/doqnmp6jrlqjyt22?svg=true)](https://ci.appveyor.com/project/emericg/smartservoframework)
6+
[![License: LGPL v3](https://img.shields.io/badge/license-LGPL%20v3-green.svg)](http://www.gnu.org/licenses/lgpl-3.0)
57

68
![SERVO](https://raw.githubusercontent.com/emericg/SmartServoFramework/master/gui/resources/img/dynamixel_ax12_diagram.png)
79

810
## Introduction
911

1012
SmartServoFramework is a C++ multi-platform framework used to drive "smart servo" devices like Dynamixel or HerkuleX actuators. It has been developed at Inria Grenoble research center.
1113

12-
**Linux** (and most Unix systems), **Mac OS X** and **Windows** operating systems are supported. All you need to begin moving stuff around is at least one servo, a serial port adapter and a modern C++ compiler! SmartServoFramework works well on Raspberry Pi or other embedded boards, but will not work on Arduinos nor any other microcontrollers.
14+
**Linux** (and most Unix systems), **macOS** and **Windows** operating systems are supported. All you need to begin moving stuff around is at least one servo, a serial port adapter and a modern C++ compiler! SmartServoFramework works well on Raspberry Pi or other embedded boards, but will not work on Arduinos nor any other microcontrollers.
1315

1416
> Dynamixel devices from [Robotis](http://www.robotis.com/) and HerkuleX devices from [Dongbu Robot](http://www.dongburobot.com/) are high-performance networked actuators for robots available in wide range of sizes and strengths.
1517
> They have adjustable torque, speed, angle limits, and provide various feedback like position, load, voltage and temperature...
@@ -27,7 +29,7 @@ We provide two different APIs:
2729
2830
You can dynamically generate a **full API documentation** from the source code using Doxygen. This will prove very important in order to work efficiently with the framework. The documentation will be accessible through `doc/API_documentation.html`.
2931

30-
If you are running a Mac/Linux system you can easily generate the documentation from a terminal:
32+
If you are running a macOS/Linux system you can easily generate the documentation from a terminal:
3133
> $ cd SmartServoFramework/
3234
> $ doxygen Doxyfile
3335
@@ -42,16 +44,13 @@ If you have problems with the command line, it's just as easy to generate the do
4244
You will need a modern C++11 capable compiler:
4345
* GCC >= 4.6
4446
* LLVM >= 3.0
45-
* MSVC >= 2012
47+
* MSVC >= 2013
4648

4749
Build system:
4850
* CMake (**ONLY** needed to build the standalone library)
4951
* Scons (**ONLY** needed to build the examples)
5052
* Doxygen (**ONLY** needed to generate the documentation)
5153

52-
Using Linux?
53-
* liblockdev (used to lock the serial port to a single software instance, which will save you from a lot of potential head scratching errors...)
54-
5554
### Building SmartServoFramework library
5655

5756
> $ cd SmartServoFramework/build/
@@ -81,9 +80,9 @@ This framework can be used with any combination of RS-232 ports, USB to TTL adap
8180
One more important thing: you need to power your servos with **proper power supply**. Shaky power sources have been known to cause interferences on serial bus, resulting in numerous packet corruptions. Be careful when using batteries and power converters!
8281

8382
First you will need to make sure your software can access your serial port:
84-
* If you are running Linux, you will need special permissions from the `uucp` and/or `dialout` groups in order to access serial ports. You can add your user account to these groups with this command: `# useradd -G uucp,dialout $USER` (you'll need root credentials for this operation).
85-
* If you are running Mac OS X, depending on your adapter, you may need to install the [FTDI driver](http://www.robotis.com/xe/download_en/646927), or the [CP210x driver](http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx).
86-
* If you are running Windows, you will need to install the [FTDI driver for the USB2Dynamixel device](http://www.robotis.com/xe/download_en/646927). You may also need other drivers depending on your adapter (like the [USB2AX driver](https://raw.githubusercontent.com/Xevel/usb2ax/master/firmware/lufa_usb2ax/USB2AX.inf), the [CP210x driver](http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx), or the official [FTDI driver](http://www.ftdichip.com/Drivers/D2XX.htm)).
83+
* If you are running Linux, you may need special permissions from the `uucp` and/or `dialout` groups in order to access serial ports. You can add your user account to these groups with this command: `# useradd -G uucp,dialout $USER` (you'll need root credentials for this operation).
84+
* If you are running macOS, depending on your adapter, you may need to install the [FTDI driver](http://www.robotis.com/xe/download_en/646927), or the [CP210x driver](http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx).
85+
* If you are running Windows, you may need to install the [FTDI driver for the USB2Dynamixel device](http://www.robotis.com/xe/download_en/646927). You may also need other drivers depending on your adapter (like the [USB2AX driver](https://raw.githubusercontent.com/Xevel/usb2ax/master/firmware/lufa_usb2ax/USB2AX.inf), the [CP210x driver](http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx), or the official [FTDI driver](http://www.ftdichip.com/Drivers/D2XX.htm)).
8786

8887
#### Communication with Dynamixel devices
8988

doc/SerialCommunication.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ You need a "regular" RS-232 full-duplex serial port with a TTL level converter t
3434

3535
You will need to make sure your software can access your serial port:
3636
* If you are running Linux, you will need special permissions from the `uucp` and/or `dialout` groups in order to access serial ports. You can add your user account to these groups with this command: `# useradd -G uucp,dialout $USER` (you'll need root credentials for this operation).
37-
* If you are running Mac OS X, depending on your adapter, you may need to install the [FTDI driver](http://www.robotis.com/xe/download_en/646927), or the [CP210x driver](http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx).
37+
* If you are running macOS, depending on your adapter, you may need to install the [FTDI driver](http://www.robotis.com/xe/download_en/646927), or the [CP210x driver](http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx).
3838
* If you are running Windows, you will need to install the [FTDI driver for the USB2Dynamixel device](http://www.robotis.com/xe/download_en/646927). You may also need other drivers depending on your adapter (like the [USB2AX driver](https://raw.githubusercontent.com/Xevel/usb2ax/master/firmware/lufa_usb2ax/USB2AX.inf), the [CP210x driver](http://www.silabs.com/products/mcu/pages/usbtouartbridgevcpdrivers.aspx), or the official [FTDI driver](http://www.ftdichip.com/Drivers/D2XX.htm)).
3939

4040
### Serial port locking mechanism
@@ -45,8 +45,9 @@ The framework will handle locking/unlocking the serial port if a locking method
4545
* Linux: "lockfile" support
4646
* Linux: "liblockdev" support (default)
4747
* Linux: "flock()" support
48-
* Mac OS X: "lockfile" support
49-
* Mac OS X: "TIOCEXCL ioctl" support (default)
48+
* macOS: "lockfile" support
49+
* macOS: "TIOCEXCL ioctl" support (default)
50+
* Windows: TODO!
5051

5152
### About latency
5253

src/SerialPortMacOS.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454

5555
// Device lock support
5656
#define LOCK_TIOCEXCL
57+
//#define LOCK_LOCKFILE
5758

5859
////////////////////////////////////////////////////////////////////////////////
5960

@@ -137,7 +138,7 @@ int serialPortsScanner(std::vector <std::string> &availableSerialPorts)
137138
kern_return_t kernResult = KERN_FAILURE;
138139
io_iterator_t serialPortIterator = 0;
139140

140-
TRACE_INFO(SERIAL, "serialPortsScanner() [MacOS variant]\n");
141+
TRACE_INFO(SERIAL, "serialPortsScanner() [macOS variant]\n");
141142

142143
// Serial devices are instances of class IOSerialBSDClient. Create a matching dictionary to find those.
143144
CFMutableDictionaryRef classesToMatch = NULL;

0 commit comments

Comments
 (0)