Совместимость с NIDAQmx Yosemite

Я установил osx 10.10 (Yosemite), и с тех пор устройство (NI-USB 6210) больше не работает. Проблема явно связана с драйвером. Я позвонил в National Instruments, и они подтвердили проблему, а также сказали, что проблема, вероятно, будет исправлена ​​в следующем выпуске nidaqmx, что произойдет не так скоро. Так что они предлагают перейти на Mavericks, что отстой. Мне также сказали проверить таблицу совместимости.

http://www.ni.com/labview/os-support/i/

чтобы узнать, когда будет поддерживаться, до тех пор мне придется бороться с понижением версии или найти обходной путь, который был бы лучшим. кто-нибудь нашел решение этой проблемы в последнее время?


person holographix    schedule 31.10.2014    source источник


Ответы (2)


В зависимости от вашего устройства и того, как вы его запрограммируете, вы сможете заставить его работать на Yosemite с помощью NI-DAQmx Base 14.0 [1].

NI-DAQmx Base 14.0 не претендует на поддержку Yosemite, но после проверки установщика и выполнения нескольких тестов я определил следующее:

  • Установщик, расширения ядра, фреймворки и приложения подписаны National Instruments, что означает, что Gatekeeper не будет прерывать вас вопросом «вы уверены, что хотите это сделать?» вопросы.
  • Предоставляются как 32-разрядные, так и 64-разрядные API-интерфейсы LabVIEW.
  • Предоставляются как 32-разрядные, так и 64-разрядные C API, но приложение C или Cocoa выдает предупреждение при выходе. Похоже, что один из компонентов драйвера пытается получить доступ к элементам пользовательского интерфейса из фонового потока. Я подозреваю, что LabVIEW Run-Time Engine, в котором работает DAQmx Base C API, делает это.

Ссылки

[1] NI-DAQmx Base 14.0 для Mac
http://www.ni.com/download/ni-daqmx-base-14.0/5060/en/

person Joe Friedrichsen    schedule 10.11.2014
comment
круто попробую! и, плюс один для вашего аватара. IT Crowd рулез ;) - person holographix; 11.11.2014
comment
кстати, я использую устройство USB-6210, и мне нужно запустить приложение C.. так что посмотрим - person holographix; 11.11.2014
comment
Спасибо :-) Я бы ожидал, что USB-6210 будет работать с C API, но вы увидите предупреждения, выдаваемые при выходе в Терминале. Фреймворк «толстый», поэтому и 32-битная, и 64-битная архитектуры находятся в бинарном файле. - person Joe Friedrichsen; 11.11.2014

У меня была такая же проблема, и я провел вечер, выясняя проблему.

Судя по всему, фреймворк NiDaq пытается отправить сообщение setHandler:withData: делегату приложения. В yosemite этот обработчик больше не существует, что вызывает исключение.

Если вы не внедрили такое сообщение в свой собственный делегат приложения, дела пойдут плохо.

Но вы можете просто реализовать фиктивный обработчик, добавив его в класс делегата вашего приложения:

- (id)setHandler:(id)a withData:(id) b
{
        return nil;
}

таким образом, фреймворк не падает !!! Мне все еще нужно проверить правильность измеренных данных, но, по крайней мере, я снова бегу!

person cocoabeginner    schedule 17.09.2015
comment
поскольку тема NIDAq настолько мала, этот ответ, вероятно, не получит много голосов. Я просто хотел лично сказать СПАСИБО за это. надеюсь, вы можете почувствовать хорошее настроение с помощью комментариев, а не голосов на данный момент. у меня был сбой setHandler:withData в моем приложении, и это СПАСЛО МЕНЯ! Спасибо большое. - person pestophagous; 01.10.2015
comment
я не могу найти никакой ссылки (даже устаревшей) на то, для чего setHandler:withData: когда-либо предполагалось использовать в любом приложении Cocoa. Вы случайно не знаете? - person pestophagous; 01.10.2015
comment
нет ; Я понятия не имею, что он делает... Я только что увидел, как он прокручивается в отладчике, и решил попробовать! Примечание: у нашего университета есть контракт на поддержку с национальными инструментами, поэтому я связался с ними. Они надеются выпустить йосемитскую версию примерно в ноябре. К сожалению, el capitan уже выпущен, поэтому я ожидаю новых проблем. - person cocoabeginner; 03.10.2015