Skip to content
Permalink
Browse files

Merge https://github.com/OpenLightingProject/ola into eurolite-pro-mk2

  • Loading branch information...
aroffringa committed Apr 29, 2019
2 parents 804c38b + f7266fa commit 947a22a88a057346aa8deed19cf451412b0cc376
@@ -296,10 +296,12 @@ before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew reinstall libtool; fi
#Fix a broken homebrew python upgrade - see https://github.com/Homebrew/homebrew-core/issues/26358
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew upgrade python || true; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then if [ ! -d /usr/local/sbin ]; then sudo mkdir -p /usr/local/sbin && sudo chown -R $(whoami) /usr/local/sbin; fi; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install ccache bison flex liblo libmicrohttpd; fi # ossp-uuid, homebrew/python/numpy and libusb already present
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$LIBFTDI" != "1" ]; then brew install libftdi0; fi # install libftdi0
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$LIBFTDI" == "1" ]; then brew install libftdi; fi # install the latest libftdi
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" == "3.6" ]; then brew install protobuf@3.6; fi
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" == "3.6" ]; then brew link -f protobuf@3.6; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.6/lib/pkgconfig; fi # When protobuf is not on the latest release
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" != "3.6" ]; then brew install protobuf@3.1; fi
- if [ "$TRAVIS_OS_NAME" == "osx" -a "$PROTOBUF" != "3.6" ]; then brew link -f protobuf@3.1; export PKG_CONFIG_PATH=/usr/local/opt/protobuf@3.1/lib/pkgconfig; brew install --build-from-source --ignore-dependencies --env=std protobuf-c; fi # When protobuf is not on the latest release
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then mkdir -p ${HOME}/Library/Python/2.7/lib/python/site-packages; echo 'import site; site.addsitedir("/usr/local/lib/python2.7/site-packages")' >> ${HOME}/Library/Python/2.7/lib/python/site-packages/homebrew.pth; fi
28 NEWS
@@ -1,15 +1,35 @@
x/y/2018 ola-0.10.8
x/y/2019 ola-0.10.8
Features:
*
* Support DragonFly BSD

API:
*

RDM Tests:
*
* Fix a bug in the RDM tests to ensure they can cope with 255 personalities
#1508
* Only add valid network interface IDs to the test list so future tests don't
fail
* Add a label to the GetOutOfRangePersonalityDescription test

Bugs:
*
* Fix a few more minor documentation spelling errors found by codespell
* Point to the main site rather than the wiki for RDM test help
* Fix the build on FreeBSD 10.0, 10.4 and 11
* Make PID store loading more robust
* Clarify some of the man page options for olad
* Fix some dead links in documentation
* Properly close socket on destruction of Python OlaClient
* Fix some Python 3.2 compatibility
* Try and fetch index and type via sockaddr_dl struct for better *BSD support
* Use C++11 if required by random #1477
* Correct uartdmx plugin documentation for the example UART #1320
* Ensure we don't return unsuitable network indices via RDM #1478
* Ensure a non-existent UID exits with a non-zero exit code
* Fix a bug in how we simulate RDM responses and collisions
* Fix an RDM discovery bug for how we handle phantom UIDs
* Ensure _close_callback is assigned before we might need to run it in the
Python API

Internal:
*
@@ -180,6 +180,9 @@ const ResponderOps<AdvancedDimmerResponder>::ParamHandler
{ PID_IDENTIFY_DEVICE,
&AdvancedDimmerResponder::GetIdentify,
&AdvancedDimmerResponder::SetIdentify},
{ PID_IDENTIFY_MODE,
&AdvancedDimmerResponder::GetIdentifyMode,
&AdvancedDimmerResponder::SetIdentifyMode},
{ PID_CAPTURE_PRESET,
NULL,
&AdvancedDimmerResponder::SetCapturePreset},
@@ -546,7 +546,7 @@ void RpcChannel::SendRequestFailed(OutstandingRequest *request) {


/*
* Sent if we get a request for a non-existant method.
* Sent if we get a request for a non-existent method.
*/
void RpcChannel::SendNotImplemented(int msg_id) {
RpcMessage message;
@@ -74,7 +74,7 @@ class RpcController {
/**
* @brief Get the session information for this RPC.
*
* Unless specfically provided, the session be NULL on the client side.
* Unless specifically provided, the session be NULL on the client side.
* @returns the RpcSession object, ownership is not transferred.
*/
RpcSession *Session();
@@ -100,7 +100,7 @@ bool RpcServer::Init() {
if (!accepting_socket->Listen(
IPV4SocketAddress(IPV4Address::Loopback(), m_options.listen_port))) {
OLA_FATAL << "Could not listen on the RPC port " << m_options.listen_port
<< ", you probably have another instance of running.";
<< ", you probably have another instance running.";
return false;
}
if (m_options.export_map) {
@@ -130,7 +130,7 @@ class DiscoveryTargetInterface {
* We also track responders that fail to ack a mute request (we attempt to mute
* MAX_MUTE_ATTEMPTS times) and branches that contain responders which continue
* to respond once muted. The latter causes a branch to be marked as corrupt,
* which prevents us from looping forver.
* which prevents us from looping forever.
*/
class DiscoveryAgent {
public:
@@ -459,7 +459,7 @@
</noscript>

<div id='footer'>
OLA &copy; 2005-2018 Open Lighting Project<br/>
OLA &copy; 2005-2019 Open Lighting Project<br/>
<a href="ola.html">Full Version</a> - <a href="new/">New UI (Beta)</a>
</div>
</body>
@@ -1026,7 +1026,7 @@ <h2 id="plugin_name"></h2>
</noscript>

<div id='footer'>
OLA &copy; 2005-2018 Open Lighting Project<br>
OLA &copy; 2005-2019 Open Lighting Project<br>
<a href="mobile.html">Mobile Version</a> - <a href="new/">New UI (Beta)</a>
</div>
</body>
@@ -1003,11 +1003,17 @@ void ArtNetNodeImpl::HandlePacket(const IPV4Address &source_address,
packet.data.ip_program,
packet_size - header_size);
break;
case ARTNET_SYNC:
// TODO(Someone): Implement me, not currently implemented.
OLA_DEBUG << "ArtSync input not currently supported";
break;
case ARTNET_RDM_SUB:
// Not implemented
// TODO(Someone): Implement me, not currently implemented.
OLA_DEBUG << "ArtRDMSub input not currently supported";
break;
case ARTNET_TIME_CODE:
// Not implemented
// TODO(Someone): Implement me, not currently implemented.
OLA_DEBUG << "ArtTimeCode input not currently supported";
break;
default:
OLA_INFO << "Art-Net got unknown packet " << std::hex
@@ -1594,7 +1600,7 @@ ArtNetNodeImpl::InputPort *ArtNetNodeImpl::GetInputPort(uint8_t port_id,
bool warn) {
if (port_id >= m_input_ports.size()) {
if (warn) {
OLA_WARN << "Port index of out bounds: "
OLA_WARN << "Port index out of bounds: "
<< static_cast<int>(port_id) << " >= " << m_input_ports.size();
}
return NULL;
@@ -1605,7 +1611,7 @@ ArtNetNodeImpl::InputPort *ArtNetNodeImpl::GetInputPort(uint8_t port_id,
const ArtNetNodeImpl::InputPort *ArtNetNodeImpl::GetInputPort(
uint8_t port_id) const {
if (port_id >= m_input_ports.size()) {
OLA_WARN << "Port index of out bounds: "
OLA_WARN << "Port index out of bounds: "
<< static_cast<int>(port_id) << " >= " << m_input_ports.size();
return NULL;
}
@@ -1629,7 +1635,7 @@ ArtNetNodeImpl::InputPort *ArtNetNodeImpl::GetEnabledInputPort(

ArtNetNodeImpl::OutputPort *ArtNetNodeImpl::GetOutputPort(uint8_t port_id) {
if (port_id >= ARTNET_MAX_PORTS) {
OLA_WARN << "Port index of out bounds: "
OLA_WARN << "Port index out of bounds: "
<< static_cast<int>(port_id) << " >= " << ARTNET_MAX_PORTS;
return NULL;
}
@@ -1639,7 +1645,7 @@ ArtNetNodeImpl::OutputPort *ArtNetNodeImpl::GetOutputPort(uint8_t port_id) {
const ArtNetNodeImpl::OutputPort *ArtNetNodeImpl::GetOutputPort(
uint8_t port_id) const {
if (port_id >= ARTNET_MAX_PORTS) {
OLA_WARN << "Port index of out bounds: "
OLA_WARN << "Port index out of bounds: "
<< static_cast<int>(port_id) << " >= " << ARTNET_MAX_PORTS;
return NULL;
}
@@ -1846,7 +1852,7 @@ void ArtNetNode::SendRDMRequest(uint8_t port_id, RDMRequest *request,

bool ArtNetNode::CheckInputPortId(uint8_t port_id) {
if (port_id >= m_controllers.size()) {
OLA_WARN << "Port index of out bounds: " << static_cast<int>(port_id)
OLA_WARN << "Port index out of bounds: " << static_cast<int>(port_id)
<< " >= " << m_controllers.size();
return false;
}
@@ -55,6 +55,7 @@ typedef enum artnet_packet_type_e {
ARTNET_POLL = 0x2000,
ARTNET_REPLY = 0x2100,
ARTNET_DMX = 0x5000,
ARTNET_SYNC = 0x5200,
ARTNET_TODREQUEST = 0x8000,
ARTNET_TODDATA = 0x8100,
ARTNET_TODCONTROL = 0x8200,
@@ -31,7 +31,7 @@
* constructor. Of these, the only message a widget must respond to is
* SERIAL_LABEL. The other two messages are part of the Usb Pro Extensions
* (https://wiki.openlighting.org/index.php/USB_Protocol_Extensions) and allow
* us to determine more specfically what type of device this is.
* us to determine more specifically what type of device this is.
*
* If the widget responds to SERIAL_LABEL the on_success callback is run.
* Otherwise on_failure is run. It's important you register callbacks for each
@@ -85,7 +85,7 @@ def SupportedParameters(self, uid, response_data):
def ProxiedDevices(self, uid, response_data):
uids = []
for uid_data in response_data['uids']:
uids.append(UID(uid_data['manufacturer_id'], uid_data['device_id']))
uids.append(uid_data['uid'])
for uid in sorted(uids):
print(uid)

@@ -1,6 +1,6 @@
This currently only works with the original Saleae Logic and Logic 16.
The more recent Logic 4, Logic 8, Logic Pro 8 and Logic Pro 16 are not supported by the SDK.
http://support.saleae.com/hc/en-us/articles/210245633-Device-SDK-status-for-the-new-products
https://support.saleae.com/saleae-api-and-sdk/other-information/device-sdk-status-for-new-products

In order to compile the logic rdm sniffer, you need the SaleaeDeviceSDK, there
is a version available from:
@@ -9,7 +9,7 @@ http://downloads.saleae.com/SDK/SaleaeDeviceSdk-1.1.14.zip
You will also need to set the include path to your SaleaeDeviceSDK. Example:

```
./configure CPPFLAGS="-I/path/to/your/SaleaeDeviceSdk-1.1.9/include"
./configure CPPFLAGS="-I/path/to/your/SaleaeDeviceSdk-1.1.14/include"
```

The configure script should output something like this:
@@ -262,4 +262,4 @@ def main():


if __name__ == "__main__":
main()
main()
@@ -6821,13 +6821,13 @@ def CheckFieldIsZero(self, fields, key):

def CheckFieldIsBetween(self, fields, key, min_value, max_value):
if fields[key] < min_value:
self.AddWarning(
'%s for scene %d (%d s) is less than the min of %s' %
(key, self.index, fields[key], min_value))
self.AddWarning(
'%s for scene %d (%d s) is less than the min of %s' %
(key, self.index, fields[key], min_value))
if fields[key] > max_value:
self.AddWarning(
'%s for scene %d (%d s) is more than the min of %s' %
(key, self.index, fields[key], max_value))
self.AddWarning(
'%s for scene %d (%d s) is more than the min of %s' %
(key, self.index, fields[key], max_value))


class GetPresetStatusWithNoData(TestMixins.GetWithNoDataMixin,

0 comments on commit 947a22a

Please sign in to comment.
You can’t perform that action at this time.