From edd8d64fc6cebbd47be3579232e179e6dac56eab Mon Sep 17 00:00:00 2001
From: Sergi Hernandez Juan <shernand@iri.upc.edu>
Date: Tue, 14 Apr 2020 09:48:07 +0200
Subject: [PATCH] Updated the description of the ReadMe file.

---
 ReadMe.md | 22 +++++++++++++++++-----
 1 file changed, 17 insertions(+), 5 deletions(-)

diff --git a/ReadMe.md b/ReadMe.md
index 87e9d72..d9a3504 100644
--- a/ReadMe.md
+++ b/ReadMe.md
@@ -3,24 +3,36 @@ Dynamixel                        {#mainpage}
 
 ## Description
 
-This library provides a server to handle all the devices connected to a Dynamixel Bus and also low level read and write functions to access each one.
+This library provides a server to handle all the devices connected to a Dynamixel bus and also low level read and write functions to access each one.
 
-The server allows to:
+The server features are:
 
 - Scan the bus for devices: it checks all the possible addresses (from 0 to 254) for all the possible frequencies. Once a device responds in a given frequency, all other frequencies are discarded.
 
 - Change the ID of a given device on the bus. By default all devices came with the same address (0) and it is necessary to change it in order to have multiple devices on the same bus.
 
-- Change the bus baudrate. Some device have a slow baudrate by default and to achive the peak performance it is necessary to change it.
+- Change the bus baudrate. Some device have a slow baudrate by default and to achieve the peak performance it is necessary to change it.
+
+- Supports two different communication interfaces: using a regular serial port and also using the ftdi low level API.
+
+- Implements both version 1 and version 2 of the Dynamixel protocol.
 
 For each device, the following operations are provided:
 
 - Read and write to any 8 or 16 bit register. Allow access to all the device registers.
 
-- Synchronized write operations. Allow loading a given value to a given register to all the devices at the same time. The value is sent to the device using a REG_WRITE operation, but it does not take effect until the ACTION command is sent.
+- Synchronized write operations for version 1 protocol.
+
+- Synchronized and bulk read and write operations for version 2 protocol.
 
 - Broadcast a command to several devices.
 
+This library also includes an slave module to implement an slave device. The main features of an slave device are:
+
+- Configurable protocol version, bus speed and ID.
+
+- Provides callback functions for the main operations: read, write and ping.
+
 ## Installation
 
 * Add the labrobotica repository if it is not already added:
@@ -35,7 +47,7 @@ For each device, the following operations are provided:
 
 ## Important information
 
-To use this driver is necessary to unload the *ftdi_sio* module, so the device is detected as a serial-usb device.
+To use the FTDI version of this library is necessary to unload the *ftdi_sio* module, so the device is detected as a serial-usb device.
 This can be achieved with the following command
    
    ```sudo rmmod ftdi_sio```
-- 
GitLab