Skip to content
Snippets Groups Projects
Commit 1004ecee authored by Carl Philipp Klemm's avatar Carl Philipp Klemm
Browse files

correct spelling of multiplexer

parent 0ec7d189
No related branches found
No related tags found
No related merge requests found
/*! \mainpage librelaxisloader manual
/*! \mainpage libeismultiplexer manual
libeismulitplexer is a shared library that allows you to controll EISmulitplexer devices
libeismultiplexer is a shared library that allows you to control EISmultiplexer devices
An API referance can be found here: \subpage API
An API reference can be found here: \subpage API
## Example usage:
......@@ -14,11 +14,11 @@ _______
int main(int argc, char* argv[])
{
// Eatch connection to a device is required to have a corrisponding eismulitplexer struct
struct eismulitplexer multiplexer;
// Each connection to a device is required to have a corresponding eismultiplexer struct
struct eismultiplexer multiplexer;
// Connect to the first device found
int ret = eismulitplexer_connect(&multiplexer, 0);
int ret = eismultiplexer_connect(&multiplexer, 0);
if(ret != 0)
{
printf("Can not connect to EISmultiplexer device\n");
......@@ -26,7 +26,7 @@ int main(int argc, char* argv[])
}
// Connect channels A and C to the common output
ret = eismulitplexer_connect_channel(&multiplexer, CHANNEL_A | CHANNEL_C);
ret = eismultiplexer_connect_channel(&multiplexer, CHANNEL_A | CHANNEL_C);
if(ret != 0)
{
printf("Failure to communicate with the device\n");
......@@ -34,7 +34,7 @@ int main(int argc, char* argv[])
}
// Disconnect from device
eismulitplexer_disconnect(&multiplexer);
eismultiplexer_disconnect(&multiplexer);
return 0;
}
@endcode
......
......@@ -32,7 +32,7 @@ static void usleep(uint64_t microseconds)
static void dataCallback(uint8_t request, unsigned char* data, size_t length, void* user_data)
{
struct eismulitplexer* muliplexer = user_data;
struct eismultiplexer* muliplexer = user_data;
if(length >= 1)
muliplexer->activeChannels = data[0];
......@@ -40,7 +40,7 @@ static void dataCallback(uint8_t request, unsigned char* data, size_t length, vo
sem_post(&muliplexer->readSem);
}
int eismulitplexer_connect(struct eismulitplexer* muliplexer, int serial)
int eismultiplexer_connect(struct eismultiplexer* muliplexer, int serial)
{
int ret;
muliplexer->priv = malloc(sizeof(*muliplexer->priv));
......@@ -61,7 +61,7 @@ int eismulitplexer_connect(struct eismulitplexer* muliplexer, int serial)
return 0;
}
int eismulitplexer_connect_channel_exclusive(struct eismulitplexer* muliplexer, channel_t channel)
int eismultiplexer_connect_channel_exclusive(struct eismultiplexer* muliplexer, channel_t channel)
{
uint16_t wValue;
// we compile with fno-strict-aliasing
......@@ -74,21 +74,21 @@ int eismulitplexer_connect_channel_exclusive(struct eismulitplexer* muliplexer,
return ret;
}
int eismulitplexer_connect_channel(struct eismulitplexer* muliplexer, channel_t channel)
int eismultiplexer_connect_channel(struct eismultiplexer* muliplexer, channel_t channel)
{
channel_t channels = eismulitplexer_get_connected(muliplexer);
channel_t channels = eismultiplexer_get_connected(muliplexer);
channels |= channel;
return eismulitplexer_connect_channel_exclusive(muliplexer, channels);
return eismultiplexer_connect_channel_exclusive(muliplexer, channels);
}
int eismulitplexer_disconnect_channel(struct eismulitplexer* muliplexer, channel_t channel)
int eismultiplexer_disconnect_channel(struct eismultiplexer* muliplexer, channel_t channel)
{
channel_t channels = eismulitplexer_get_connected(muliplexer);
channel_t channels = eismultiplexer_get_connected(muliplexer);
channels &= ~channel;
return eismulitplexer_connect_channel_exclusive(muliplexer, channels);
return eismultiplexer_connect_channel_exclusive(muliplexer, channels);
}
channel_t eismulitplexer_get_connected(struct eismulitplexer* muliplexer)
channel_t eismultiplexer_get_connected(struct eismultiplexer* muliplexer)
{
usbshm_readControlTransfer(muliplexer->priv, 3, 1);
sem_wait(&muliplexer->readSem);
......@@ -96,7 +96,7 @@ channel_t eismulitplexer_get_connected(struct eismulitplexer* muliplexer)
}
int eismulitplexer_set_led(struct eismulitplexer* muliplexer, bool on)
int eismultiplexer_set_led(struct eismultiplexer* muliplexer, bool on)
{
int ret;
while((ret = usbshm_writeControlTransfer(muliplexer->priv, on, NULL, 0, 0, 0)) == USBSHM_ERROR_AGAIN)
......@@ -104,7 +104,7 @@ int eismulitplexer_set_led(struct eismulitplexer* muliplexer, bool on)
return ret;
}
void eismulitplexer_disconnect(struct eismulitplexer* muliplexer)
void eismultiplexer_disconnect(struct eismultiplexer* muliplexer)
{
usbshm_distroy(muliplexer->priv);
free(muliplexer->priv);
......
......@@ -23,9 +23,9 @@
#include <stdbool.h>
/**
Api to controll EISmulitplexer devices.
Api to controll EISmultiplexer devices.
* @defgroup API User API
* This api allows you to controll the EISmulitplexer device.
* This api allows you to controll the EISmultiplexer device.
* @{
*/
......@@ -44,64 +44,64 @@ typedef enum {
CHANNEL_NONE = 0,
} channel_t;
struct eismulitplexer {
struct eismultiplexer {
struct usbshm* priv;
sem_t readSem;
channel_t activeChannels;
};
/**
* @brief Attempts to connect to a EISmulitplexer device and initalizes a eismulitplexer struct
* @param muliplexer pointer to a eismulitplexer struct to initalize
* @brief Attempts to connect to a EISmultiplexer device and initalizes a eismultiplexer struct
* @param muliplexer pointer to a eismultiplexer struct to initalize
* @param serial The serial number of the device to connect to, or 0 for any
* @return 0 on sucess and < 0 on failure
*/
int eismulitplexer_connect(struct eismulitplexer* muliplexer, int serial);
int eismultiplexer_connect(struct eismultiplexer* muliplexer, int serial);
/**
* @brief Conects the given channel(s) to the common inputs
* @param muliplexer pointer to a eismulitplexer struct
* @param muliplexer pointer to a eismultiplexer struct
* @param channel A channel to connect, multiple channels can be specified by or'ing together the chanel flags e.g. (CHANNEL_A | CHANNEL_B)
* @return 0 on sucess and < 0 on failure
*/
int eismulitplexer_connect_channel(struct eismulitplexer* muliplexer, channel_t channel);
int eismultiplexer_connect_channel(struct eismultiplexer* muliplexer, channel_t channel);
/**
* @brief Conects the given channel(s) to the common inputs disconnecting all others
* @param muliplexer pointer to a eismulitplexer struct
* @param muliplexer pointer to a eismultiplexer struct
* @param channel A channel to connect, multiple channels can be specified by or'ing together the chanel flags e.g. (CHANNEL_A | CHANNEL_B)
* @return 0 on sucess and < 0 on failure
*/
int eismulitplexer_connect_channel_exclusive(struct eismulitplexer* muliplexer, channel_t channel);
int eismultiplexer_connect_channel_exclusive(struct eismultiplexer* muliplexer, channel_t channel);
/**
* @brief Disconnect the given channel(s) to the common inputs disconnecting all others
* @param muliplexer pointer to a eismulitplexer struct
* @param muliplexer pointer to a eismultiplexer struct
* @param channel A channel to connect, multiple channels can be specified by or'ing together the chanel flags e.g. (CHANNEL_A | CHANNEL_B)
* All channels can be dissconnected by passing CHANNEL_NONE
* @return 0 on sucess and < 0 on failure
*/
int eismulitplexer_disconnect_channel(struct eismulitplexer* muliplexer, channel_t channel);
int eismultiplexer_disconnect_channel(struct eismultiplexer* muliplexer, channel_t channel);
/**
* @brief Returns the channels currently connected
* @param muliplexer pointer to a eismulitplexer struct
* @param muliplexer pointer to a eismultiplexer struct
* @return channels connected as a bitfield
*/
channel_t eismulitplexer_get_connected(struct eismulitplexer* muliplexer);
channel_t eismultiplexer_get_connected(struct eismultiplexer* muliplexer);
/**
* @brief Turns the led on the pcb on or off
* @param muliplexer pointer to a eismulitplexer struct
* @param muliplexer pointer to a eismultiplexer struct
* @param on true to turn the led on, false to turn it off
* @return 0 on sucess and < 0 on failure
*/
int eismulitplexer_set_led(struct eismulitplexer* muliplexer, bool on);
int eismultiplexer_set_led(struct eismultiplexer* muliplexer, bool on);
/**
* @brief Disconnects from the eismulitplexer
* @brief Disconnects from the eismultiplexer
*/
void eismulitplexer_disconnect(struct eismulitplexer* muliplexer);
void eismultiplexer_disconnect(struct eismultiplexer* muliplexer);
#ifdef __cplusplus
}
......
......@@ -74,9 +74,9 @@ int main(int argc, char* argv[])
return 0;
}
struct eismulitplexer multiplexer;
struct eismultiplexer multiplexer;
if(eismulitplexer_connect(&multiplexer, 0))
if(eismultiplexer_connect(&multiplexer, 0))
{
printf("Can not connect to EISmultiplexer device\n");
return 1;
......@@ -85,7 +85,7 @@ int main(int argc, char* argv[])
if(argc != 4)
{
print_help(argv[0]);
eismulitplexer_disconnect(&multiplexer);
eismultiplexer_disconnect(&multiplexer);
return 2;
}
......@@ -93,29 +93,29 @@ int main(int argc, char* argv[])
if(channel == CHANNEL_NONE)
{
printf("%c is not a valid channel", argv[2][0]);
eismulitplexer_disconnect(&multiplexer);
eismultiplexer_disconnect(&multiplexer);
return 2;
}
if(strcmp(argv[1], "connect") == 0)
{
if(eismulitplexer_connect_channel(&multiplexer, channel))
if(eismultiplexer_connect_channel(&multiplexer, channel))
{
printf("could not connect channel %c", argv[2][0]);
eismulitplexer_disconnect(&multiplexer);
eismultiplexer_disconnect(&multiplexer);
return 3;
}
}
else if(strcmp(argv[1], "disconnect") == 0)
{
if(eismulitplexer_disconnect_channel(&multiplexer, channel))
if(eismultiplexer_disconnect_channel(&multiplexer, channel))
{
printf("could not connect channel %c", argv[2][0]);
eismulitplexer_disconnect(&multiplexer);
eismultiplexer_disconnect(&multiplexer);
return 3;
}
}
eismulitplexer_disconnect(&multiplexer);
eismultiplexer_disconnect(&multiplexer);
return 0;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment