Get master building on MacOS
This commit is contained in:
parent
55bf28d4c3
commit
1354864038
5 changed files with 75 additions and 26 deletions
|
|
@ -629,9 +629,15 @@ QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.15
|
||||||
macx:ICON = qt/OpenRGB.icns
|
macx:ICON = qt/OpenRGB.icns
|
||||||
|
|
||||||
unix:macx {
|
unix:macx {
|
||||||
|
SOURCES += \
|
||||||
|
serial_port/find_usb_serial_port_linux.cpp \
|
||||||
|
|
||||||
INCLUDEPATH += \
|
INCLUDEPATH += \
|
||||||
/usr/local/include \
|
/usr/local/include \
|
||||||
|
|
||||||
LIBS += \
|
LIBS += \
|
||||||
-L/usr/local/lib -lusb-1.0 -lhidapi \
|
-L/usr/local/lib -lusb-1.0 -lhidapi \
|
||||||
|
|
||||||
|
CONFIG += \
|
||||||
|
c++14 \
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,7 @@ typedef unsigned short u16;
|
||||||
typedef unsigned int u32;
|
typedef unsigned int u32;
|
||||||
typedef int s32;
|
typedef int s32;
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
//Data for SMBus Messages
|
//Data for SMBus Messages
|
||||||
#define I2C_SMBUS_BLOCK_MAX 32
|
#define I2C_SMBUS_BLOCK_MAX 32
|
||||||
|
|
@ -33,11 +33,27 @@ union i2c_smbus_data
|
||||||
u8 block[I2C_SMBUS_BLOCK_MAX + 2];
|
u8 block[I2C_SMBUS_BLOCK_MAX + 2];
|
||||||
};
|
};
|
||||||
|
|
||||||
#else /* WIN32 */
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
#include <linux/i2c.h>
|
#include <linux/i2c.h>
|
||||||
|
|
||||||
#endif /* WIN32 */
|
#endif /* __linux__ */
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
|
||||||
|
//Data for SMBus Messages
|
||||||
|
#define I2C_SMBUS_BLOCK_MAX 32
|
||||||
|
|
||||||
|
union i2c_smbus_data
|
||||||
|
{
|
||||||
|
u8 byte;
|
||||||
|
u16 word;
|
||||||
|
u8 block[I2C_SMBUS_BLOCK_MAX + 2];
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* __APPLE__ */
|
||||||
|
|
||||||
// i2c_smbus_xfer read or write markers
|
// i2c_smbus_xfer read or write markers
|
||||||
#define I2C_SMBUS_READ 1
|
#define I2C_SMBUS_READ 1
|
||||||
|
|
|
||||||
BIN
qt/OpenRGB.icns
Normal file
BIN
qt/OpenRGB.icns
Normal file
Binary file not shown.
|
|
@ -40,7 +40,7 @@ bool serial_port::serial_open()
|
||||||
{
|
{
|
||||||
// printf("SerialPort: Opening serial port %s at baud rate %d.\n", port_name, baud_rate);
|
// printf("SerialPort: Opening serial port %s at baud rate %d.\n", port_name, baud_rate);
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
file_descriptor = CreateFile(port_name, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
|
file_descriptor = CreateFile(port_name, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
|
||||||
|
|
||||||
if((int)file_descriptor < 0)
|
if((int)file_descriptor < 0)
|
||||||
|
|
@ -74,7 +74,9 @@ bool serial_port::serial_open()
|
||||||
timeouts.WriteTotalTimeoutMultiplier=10;
|
timeouts.WriteTotalTimeoutMultiplier=10;
|
||||||
SetCommTimeouts(file_descriptor, &timeouts);
|
SetCommTimeouts(file_descriptor, &timeouts);
|
||||||
|
|
||||||
#else
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
file_descriptor = open(port_name, O_RDWR | O_NOCTTY | O_NDELAY);
|
file_descriptor = open(port_name, O_RDWR | O_NOCTTY | O_NDELAY);
|
||||||
|
|
||||||
|
|
@ -116,7 +118,7 @@ bool serial_port::serial_open()
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//fcntl(file_descriptor, F_SETFL, 0);
|
//fcntl(file_descriptor, F_SETFL, 0);
|
||||||
#endif
|
#endif /* __linux__ */
|
||||||
|
|
||||||
// printf("SerialPort: Serial port %s opened successfully.\n", port_name);
|
// printf("SerialPort: Serial port %s opened successfully.\n", port_name);
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -143,12 +145,15 @@ bool serial_port::serial_open(const char* name, unsigned int baud)
|
||||||
void serial_port::serial_close()
|
void serial_port::serial_close()
|
||||||
{
|
{
|
||||||
// printf("SerialPort: Closing port %s.\n", port_name);
|
// printf("SerialPort: Closing port %s.\n", port_name);
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
#else
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
close(file_descriptor);
|
close(file_descriptor);
|
||||||
#endif
|
|
||||||
|
#endif /* __linux__ */
|
||||||
}
|
}
|
||||||
|
|
||||||
// read
|
// read
|
||||||
|
|
@ -158,18 +163,24 @@ void serial_port::serial_close()
|
||||||
// available bytes
|
// available bytes
|
||||||
int serial_port::serial_read(char * buffer, int length)
|
int serial_port::serial_read(char * buffer, int length)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
DWORD bytesread;
|
DWORD bytesread;
|
||||||
ReadFile(file_descriptor, buffer, length, &bytesread, NULL);
|
ReadFile(file_descriptor, buffer, length, &bytesread, NULL);
|
||||||
|
return bytesread;
|
||||||
|
|
||||||
#else
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
int bytesread;
|
int bytesread;
|
||||||
bytesread = read(file_descriptor, buffer, length);
|
bytesread = read(file_descriptor, buffer, length);
|
||||||
#endif
|
return bytesread;
|
||||||
|
|
||||||
|
#endif /* __linux__ */
|
||||||
|
|
||||||
//printf("SerialPort: Read %d bytes on port %s.\n", bytesread, port_name);
|
//printf("SerialPort: Read %d bytes on port %s.\n", bytesread, port_name);
|
||||||
return bytesread;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//write
|
//write
|
||||||
|
|
@ -180,40 +191,53 @@ int serial_port::serial_read(char * buffer, int length)
|
||||||
// past <buffer> and may cause a segfault
|
// past <buffer> and may cause a segfault
|
||||||
int serial_port::serial_write(char * buffer, int length)
|
int serial_port::serial_write(char * buffer, int length)
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
DWORD byteswritten;
|
DWORD byteswritten;
|
||||||
WriteFile(file_descriptor, buffer, length, &byteswritten, NULL);
|
WriteFile(file_descriptor, buffer, length, &byteswritten, NULL);
|
||||||
|
return byteswritten;
|
||||||
|
|
||||||
#else
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
int byteswritten;
|
int byteswritten;
|
||||||
byteswritten = write(file_descriptor, buffer, length);
|
byteswritten = write(file_descriptor, buffer, length);
|
||||||
#endif
|
return byteswritten;
|
||||||
|
|
||||||
|
#endif /* __linux__ */
|
||||||
|
|
||||||
//printf("SerialPort: Wrote %d bytes on port %s.\n", byteswritten, port_name);
|
//printf("SerialPort: Wrote %d bytes on port %s.\n", byteswritten, port_name);
|
||||||
return byteswritten;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
//flush
|
//flush
|
||||||
void serial_port::serial_flush_rx()
|
void serial_port::serial_flush_rx()
|
||||||
{
|
{
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
PurgeComm(file_descriptor, PURGE_RXABORT | PURGE_RXCLEAR);
|
PurgeComm(file_descriptor, PURGE_RXABORT | PURGE_RXCLEAR);
|
||||||
|
|
||||||
#else
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
tcflush(file_descriptor, TCIFLUSH);
|
tcflush(file_descriptor, TCIFLUSH);
|
||||||
#endif
|
|
||||||
|
#endif /* __linux__ */
|
||||||
}
|
}
|
||||||
|
|
||||||
void serial_port::serial_flush_tx()
|
void serial_port::serial_flush_tx()
|
||||||
{
|
{
|
||||||
|
#ifdef _WIN32
|
||||||
|
|
||||||
#ifdef WIN32
|
|
||||||
PurgeComm(file_descriptor, PURGE_TXABORT | PURGE_TXCLEAR);
|
PurgeComm(file_descriptor, PURGE_TXABORT | PURGE_TXCLEAR);
|
||||||
|
|
||||||
#else
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
tcflush(file_descriptor, TCOFLUSH);
|
tcflush(file_descriptor, TCOFLUSH);
|
||||||
#endif
|
|
||||||
|
#endif /* __linux__ */
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -13,10 +13,13 @@
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef _WIN32
|
||||||
|
|
||||||
#include <windows.h>
|
#include <windows.h>
|
||||||
|
|
||||||
#else
|
#endif /* _WIN32 */
|
||||||
|
|
||||||
|
#ifdef __linux__
|
||||||
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
@ -35,7 +38,7 @@
|
||||||
#include <asm-generic/ioctls.h>
|
#include <asm-generic/ioctls.h>
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif /* __linux__ */
|
||||||
|
|
||||||
|
|
||||||
//Serial Port Class
|
//Serial Port Class
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue