本文整理汇总了C++中bus函数的典型用法代码示例。如果您正苦于以下问题:C++ bus函数的具体用法?C++ bus怎么用?C++ bus使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了bus函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: iwl_irq_handle_error
/**
* iwl_irq_handle_error - called for HW or SW error interrupt from card
*/
static void iwl_irq_handle_error(struct iwl_trans *trans)
{
struct iwl_priv *priv = priv(trans);
/* W/A for WiFi/WiMAX coex and WiMAX own the RF */
if (priv->cfg->internal_wimax_coex &&
(!(iwl_read_prph(bus(trans), APMG_CLK_CTRL_REG) &
APMS_CLK_VAL_MRB_FUNC_MODE) ||
(iwl_read_prph(bus(trans), APMG_PS_CTRL_REG) &
APMG_PS_CTRL_VAL_RESET_REQ))) {
/*
* Keep the restart process from trying to send host
* commands by clearing the ready bit.
*/
clear_bit(STATUS_READY, &trans->shrd->status);
clear_bit(STATUS_HCMD_ACTIVE, &trans->shrd->status);
wake_up(&priv->shrd->wait_command_queue);
IWL_ERR(trans, "RF is used by WiMAX\n");
return;
}
IWL_ERR(trans, "Loaded firmware version: %s\n",
priv->hw->wiphy->fw_version);
iwl_dump_nic_error_log(trans);
iwl_dump_csr(trans);
iwl_dump_fh(trans, NULL, false);
iwl_dump_nic_event_log(trans, false, NULL, false);
#ifdef CONFIG_IWLWIFI_DEBUG
if (iwl_get_debug_level(trans->shrd) & IWL_DL_FW_ERRORS)
iwl_print_rx_config_cmd(priv(trans), IWL_RXON_CTX_BSS);
#endif
iwlagn_fw_error(priv, false);
}
开发者ID:PDi-Communication-Systems-Inc,项目名称:lollipop_hardware_imx,代码行数:37,代码来源:iwl-trans-pcie-rx.c
示例2: i2c_write_bytes
int i2c_write_bytes(i2c_t dev, uint16_t addr, const void *data, size_t len,
uint8_t flags)
{
int ret;
assert(dev < I2C_NUMOF);
/* Check for unsupported operations */
if (flags & I2C_ADDR10) {
return -EOPNOTSUPP;
}
/* Check for wrong arguments given */
if (data == NULL || len == 0) {
return -EINVAL;
}
if (!(flags & I2C_NOSTART)) {
ret = _start(bus(dev), (addr<<1));
if (ret < 0) {
DEBUG("Start command failed\n");
return ret;
}
}
ret = _write(bus(dev), data, len, (flags & I2C_NOSTOP) ? 0 : 1);
if (ret < 0) {
DEBUG("Write command failed\n");
return ret;
}
return 0;
}
开发者ID:OTAkeys,项目名称:RIOT,代码行数:30,代码来源:i2c.c
示例3: iwl_reset_ict
/* Device is going up inform it about using ICT interrupt table,
* also we need to tell the driver to start using ICT interrupt.
*/
int iwl_reset_ict(struct iwl_trans *trans)
{
u32 val;
unsigned long flags;
struct iwl_trans_pcie *trans_pcie =
IWL_TRANS_GET_PCIE_TRANS(trans);
if (!trans_pcie->ict_tbl_vir)
return 0;
spin_lock_irqsave(&trans->shrd->lock, flags);
iwl_disable_interrupts(trans);
memset(&trans_pcie->ict_tbl[0], 0, sizeof(u32) * ICT_COUNT);
val = trans_pcie->aligned_ict_tbl_dma >> PAGE_SHIFT;
val |= CSR_DRAM_INT_TBL_ENABLE;
val |= CSR_DRAM_INIT_TBL_WRAP_CHECK;
IWL_DEBUG_ISR(trans, "CSR_DRAM_INT_TBL_REG =0x%X "
"aligned dma address %Lx\n",
val,
(unsigned long long)trans_pcie->aligned_ict_tbl_dma);
iwl_write32(bus(trans), CSR_DRAM_INT_TBL_REG, val);
trans_pcie->use_ict = true;
trans_pcie->ict_index = 0;
iwl_write32(bus(trans), CSR_INT, trans_pcie->inta_mask);
iwl_enable_interrupts(trans);
spin_unlock_irqrestore(&trans->shrd->lock, flags);
return 0;
}
开发者ID:PDi-Communication-Systems-Inc,项目名称:lollipop_hardware_imx,代码行数:37,代码来源:iwl-trans-pcie-rx.c
示例4: iwl_reset_ict
/* Device is going up inform it about using ICT interrupt table,
* also we need to tell the driver to start using ICT interrupt.
*/
int iwl_reset_ict(struct iwl_trans *trans)
{
u32 val;
unsigned long flags;
struct iwl_trans_pcie *trans_pcie =
IWL_TRANS_GET_PCIE_TRANS(trans);
if (!trans_pcie->ict_tbl)
return 0;
spin_lock_irqsave(&trans->shrd->lock, flags);
iwl_disable_interrupts(trans);
memset(trans_pcie->ict_tbl, 0, ICT_SIZE);
val = trans_pcie->ict_tbl_dma >> ICT_SHIFT;
val |= CSR_DRAM_INT_TBL_ENABLE;
val |= CSR_DRAM_INIT_TBL_WRAP_CHECK;
IWL_DEBUG_ISR(trans, "CSR_DRAM_INT_TBL_REG =0x%x\n", val);
iwl_write32(bus(trans), CSR_DRAM_INT_TBL_REG, val);
trans_pcie->use_ict = true;
trans_pcie->ict_index = 0;
iwl_write32(bus(trans), CSR_INT, trans_pcie->inta_mask);
iwl_enable_interrupts(trans);
spin_unlock_irqrestore(&trans->shrd->lock, flags);
return 0;
}
开发者ID:JamesTPan,项目名称:compat-wireless-3.2.5-1-ranc,代码行数:34,代码来源:iwl-trans-pcie-rx.c
示例5: i2c_read_bytes
int i2c_read_bytes(i2c_t dev, uint16_t addr,
void *data, size_t len, uint8_t flags)
{
int ret;
assert(dev < I2C_NUMOF);
/* Check for unsupported operations */
if (flags & I2C_ADDR10) {
return -EOPNOTSUPP;
}
/* Check for wrong arguments given */
if (data == NULL || len == 0) {
return -EINVAL;
}
if (!(flags & I2C_NOSTART)) {
/* start transmission and send slave address */
ret = _start(bus(dev), (addr << 1) | I2C_READ);
if (ret < 0) {
DEBUG("Start command failed\n");
return ret;
}
}
/* read data to register and issue stop if needed */
ret = _read(bus(dev), data, len, (flags & I2C_NOSTOP) ? 0 : 1);
if (ret < 0) {
DEBUG("Read command failed\n");
return ret;
}
/* Ensure all bytes has been read */
while ((bus(dev)->STATUS.reg & SERCOM_I2CM_STATUS_BUSSTATE_Msk)
!= BUSSTATE_IDLE) {}
/* return number of bytes sent */
return 0;
}
开发者ID:OTAkeys,项目名称:RIOT,代码行数:35,代码来源:i2c.c
示例6: _i2c_poweroff
void _i2c_poweroff(i2c_t dev)
{
assert(dev < I2C_NUMOF);
if (bus(dev) == NULL) {
return;
}
bus(dev)->CTRLA.bit.ENABLE = 0;
while (bus(dev)->SYNCBUSY.bit.ENABLE) {}
}
开发者ID:OTAkeys,项目名称:RIOT,代码行数:10,代码来源:i2c.c
示例7: iwl1000_nic_config
/* NIC configuration for 1000 series */
static void iwl1000_nic_config(struct iwl_priv *priv)
{
/* set CSR_HW_CONFIG_REG for uCode use */
iwl_set_bit(bus(priv), CSR_HW_IF_CONFIG_REG,
CSR_HW_IF_CONFIG_REG_BIT_RADIO_SI |
CSR_HW_IF_CONFIG_REG_BIT_MAC_SI);
/* Setting digital SVR for 1000 card to 1.32V */
/* locking is acquired in iwl_set_bits_mask_prph() function */
iwl_set_bits_mask_prph(bus(priv), APMG_DIGITAL_SVR_REG,
APMG_SVR_DIGITAL_VOLTAGE_1_32,
~APMG_SVR_VOLTAGE_CONFIG_BIT_MSK);
}
开发者ID:Andrew-Gazizov,项目名称:linux-3.2.1-kpp,代码行数:14,代码来源:iwl-1000.c
示例8: iwl_alloc_isr_ict
/*
* allocate dram shared table, it is an aligned memory
* block of ICT_SIZE.
* also reset all data related to ICT table interrupt.
*/
int iwl_alloc_isr_ict(struct iwl_trans *trans)
{
struct iwl_trans_pcie *trans_pcie =
IWL_TRANS_GET_PCIE_TRANS(trans);
trans_pcie->ict_tbl =
dma_alloc_coherent(bus(trans)->dev, ICT_SIZE,
&trans_pcie->ict_tbl_dma,
GFP_KERNEL);
if (!trans_pcie->ict_tbl)
return -ENOMEM;
/* just an API sanity check ... it is guaranteed to be aligned */
if (WARN_ON(trans_pcie->ict_tbl_dma & (ICT_SIZE - 1))) {
iwl_free_isr_ict(trans);
return -EINVAL;
}
IWL_DEBUG_ISR(trans, "ict dma addr %Lx\n",
(unsigned long long)trans_pcie->ict_tbl_dma);
IWL_DEBUG_ISR(trans, "ict vir addr %p\n", trans_pcie->ict_tbl);
/* reset table and index to all 0 */
memset(trans_pcie->ict_tbl, 0, ICT_SIZE);
trans_pcie->ict_index = 0;
/* add periodic RX interrupt */
trans_pcie->inta_mask |= CSR_INT_BIT_RX_PERIODIC;
return 0;
}
开发者ID:JamesTPan,项目名称:compat-wireless-3.2.5-1-ranc,代码行数:36,代码来源:iwl-trans-pcie-rx.c
示例9: bus
// Bus-panning command method.
bool qtractorBusPanningCommand::redo (void)
{
qtractorBus *pBus = bus();
if (pBus == NULL)
return false;
// Set Bus panning (repective monitor gets set too...)
const float fPanning = m_fPrevPanning;
qtractorMeter *pMeter = meter();
if (pMeter)
pMeter->setPanning(m_fPanning);
// MIDI buses are special...
if (pBus->busType() == qtractorTrack::Midi) {
// Now we gotta make sure of proper MIDI bus...
qtractorMidiBus *pMidiBus
= static_cast<qtractorMidiBus *> (pBus);
if (pMidiBus)
pMidiBus->setMasterPanning(m_fPanning);
}
// Set undo value...
m_fPrevPanning = m_fPanning;
m_fPanning = fPanning;
return true;
}
开发者ID:Reaper10,项目名称:qtractor,代码行数:29,代码来源:qtractorEngineCommand.cpp
示例10: device_add
zx_status_t PlatformBus::Create(zx_device_t* parent, const char* name, zx::vmo zbi) {
// This creates the "sys" device.
sys_device_proto.version = DEVICE_OPS_VERSION;
device_add_args_t args = {};
args.version = DEVICE_ADD_ARGS_VERSION;
args.name = "sys";
args.ops = &sys_device_proto;
args.flags = DEVICE_ADD_NON_BINDABLE;
// Add child of sys for the board driver to bind to.
auto status = device_add(parent, &args, &parent);
if (status != ZX_OK) {
return status;
}
fbl::AllocChecker ac;
fbl::unique_ptr<platform_bus::PlatformBus> bus(new (&ac) platform_bus::PlatformBus(parent));
if (!ac.check()) {
return ZX_ERR_NO_MEMORY;
}
status = bus->Init(std::move(zbi));
if (status != ZX_OK) {
return status;
}
// devmgr is now in charge of the device.
__UNUSED auto* dummy = bus.release();
return ZX_OK;
}
开发者ID:saltstar,项目名称:smartnix,代码行数:31,代码来源:platform-bus.cpp
示例11: QObject
FileReceiver::FileReceiver(QObject *parent)
: QObject(parent)
{
QDBusConnection bus(QDBusConnection::sessionBus());
AccountFactoryPtr accountFactory = AccountFactory::create(bus);
ConnectionFactoryPtr connectionFactory = ConnectionFactory::create(bus);
ChannelFactoryPtr channelFactory = ChannelFactory::create(bus);
channelFactory->addCommonFeatures(Channel::FeatureCore);
channelFactory->addFeaturesForIncomingFileTransfers(IncomingFileTransferChannel::FeatureCore);
mCR = ClientRegistrar::create(accountFactory, connectionFactory,
channelFactory);
qDebug() << "Registering incoming file transfer handler";
mHandler = FileReceiverHandler::create();
QString handlerName(QLatin1String("TpQtExampleFileReceiverHandler"));
if (!mCR->registerClient(AbstractClientPtr::dynamicCast(mHandler), handlerName)) {
qWarning() << "Unable to register incoming file transfer handler, aborting";
QCoreApplication::exit(1);
return;
}
qDebug() << "Awaiting file transfers";
}
开发者ID:TelepathyQt,项目名称:telepathy-qt,代码行数:25,代码来源:file-receiver.cpp
示例12: Q_ASSERT
void VCSlider::setSliderMode(SliderMode mode)
{
Q_ASSERT(mode >= Bus && mode <= Submaster);
/* Disconnect these to prevent double callbacks and non-needes signals */
disconnect(Bus::instance(), SIGNAL(nameChanged(quint32, const QString&)),
this, SLOT(slotBusNameChanged(quint32, const QString&)));
disconnect(Bus::instance(), SIGNAL(valueChanged(quint32, quint32)),
this, SLOT(slotBusValueChanged(quint32, quint32)));
/* Unregister this as a DMX source if the new mode is not "Level" */
if (m_sliderMode == Level && mode != Level)
_app->masterTimer()->unregisterDMXSource(this);
m_sliderMode = mode;
if (mode == Bus)
{
/* Set the slider range */
m_slider->setRange(busLowLimit() * MasterTimer::frequency(),
busHighLimit() * MasterTimer::frequency());
setSliderValue(Bus::instance()->value(bus()));
slotSliderMoved(sliderValue());
/* Reconnect to bus emitter */
connect(Bus::instance(), SIGNAL(nameChanged(quint32, const QString&)),
this, SLOT(slotBusNameChanged(quint32, const QString&)));
connect(Bus::instance(), SIGNAL(valueChanged(quint32, quint32)),
this, SLOT(slotBusValueChanged(quint32, quint32)));
m_bottomLabel->hide();
m_tapButton->show();
m_time->start();
}
开发者ID:Andersbakken,项目名称:qlc-svn,代码行数:35,代码来源:vcslider.cpp
示例13: checkNumberOfChannelsForInput
// Any time a connection or disconnection happens on any of our inputs, we potentially need to change the
// number of channels of our output.
void ChannelMergerNode::checkNumberOfChannelsForInput(ContextRenderLock& r, AudioNodeInput* input)
{
// Count how many channels we have all together from all of the inputs.
uint32_t numberOfOutputChannels = 0;
for (uint32_t i = 0; i < numberOfInputs(); ++i)
{
auto input = this->input(i);
if (input->isConnected())
{
numberOfOutputChannels += input->bus(r)->numberOfChannels();
}
}
// Set the correct number of channels on the output
auto output = this->output(0);
output->setNumberOfChannels(r, numberOfOutputChannels);
// Note * There can in rare cases be a slight delay before the output bus is updated to the new number of
// channels because of tryLocks() in the context's updating system. So record the new number of
// output channels here.
m_desiredNumberOfOutputChannels = numberOfOutputChannels;
AudioNode::checkNumberOfChannelsForInput(r, input);
}
开发者ID:cor3ntin,项目名称:LabSound,代码行数:28,代码来源:ChannelMergerNode.cpp
示例14: bus
MacWidget::~MacWidget()
{
// No longer listen to synchronous messages.
Gst::ScopedObject<GstBus> bus(gst_pipeline_get_bus(GST_PIPELINE(mPipeline)));
gst_bus_disable_sync_message_emission(bus.get());
g_signal_handlers_disconnect_by_func(bus.get(), (void*)G_CALLBACK(&MacWidget::OnSyncMessage), gpointer(this));
}
开发者ID:boodjoom,项目名称:stacked-crooked,代码行数:7,代码来源:MacWidget.cpp
示例15: iwl_rx_queue_update_write_ptr
/**
* iwl_rx_queue_update_write_ptr - Update the write pointer for the RX queue
*/
void iwl_rx_queue_update_write_ptr(struct iwl_trans *trans,
struct iwl_rx_queue *q)
{
unsigned long flags;
u32 reg;
spin_lock_irqsave(&q->lock, flags);
if (q->need_update == 0)
goto exit_unlock;
if (hw_params(trans).shadow_reg_enable) {
/* shadow register enabled */
/* Device expects a multiple of 8 */
q->write_actual = (q->write & ~0x7);
iwl_write32(bus(trans), FH_RSCSR_CHNL0_WPTR, q->write_actual);
} else {
/* If power-saving is in use, make sure device is awake */
if (test_bit(STATUS_POWER_PMI, &trans->shrd->status)) {
reg = iwl_read32(bus(trans), CSR_UCODE_DRV_GP1);
if (reg & CSR_UCODE_DRV_GP1_BIT_MAC_SLEEP) {
IWL_DEBUG_INFO(trans,
"Rx queue requesting wakeup,"
" GP1 = 0x%x\n", reg);
iwl_set_bit(bus(trans), CSR_GP_CNTRL,
CSR_GP_CNTRL_REG_FLAG_MAC_ACCESS_REQ);
goto exit_unlock;
}
q->write_actual = (q->write & ~0x7);
iwl_write_direct32(bus(trans), FH_RSCSR_CHNL0_WPTR,
q->write_actual);
/* Else device is assumed to be awake */
} else {
/* Device expects a multiple of 8 */
q->write_actual = (q->write & ~0x7);
iwl_write_direct32(bus(trans), FH_RSCSR_CHNL0_WPTR,
q->write_actual);
}
}
q->need_update = 0;
exit_unlock:
spin_unlock_irqrestore(&q->lock, flags);
}
开发者ID:PDi-Communication-Systems-Inc,项目名称:lollipop_hardware_imx,代码行数:50,代码来源:iwl-trans-pcie-rx.c
示例16: mPipeline
MacWidget::MacWidget(GstElement * inPipeline, WindowId) :
mPipeline(inPipeline)
{
// Listen to synchronous messages
Gst::ScopedObject<GstBus> bus(gst_pipeline_get_bus(GST_PIPELINE(mPipeline)));
gst_bus_enable_sync_message_emission(bus.get());
g_signal_connect(bus.get(), "sync-message::element", G_CALLBACK(&MacWidget::OnSyncMessage), gpointer(this));
}
开发者ID:boodjoom,项目名称:stacked-crooked,代码行数:8,代码来源:MacWidget.cpp
示例17: iwl2000_nic_config
/* NIC configuration for 2000 series */
static void iwl2000_nic_config(struct iwl_priv *priv)
{
iwl_rf_config(priv);
if (priv->cfg->iq_invert)
iwl_set_bit(bus(priv), CSR_GP_DRIVER_REG,
CSR_GP_DRIVER_REG_BIT_RADIO_IQ_INVER);
}
开发者ID:padovan,项目名称:bluetooth-next,代码行数:9,代码来源:iwl-2000.c
示例18: trace_recorder
void FlowPortTest::Execute(void)
{
cout << "Executing FlowPortTest" << endl;
Simulator::Init(L"ExteriorLight.ernest");
Simulator::SetDuration(seconds(10));
BinaryTraceRecorder trace_recorder("ExteriorLight.ernest.bt1");
trace_recorder.AddEventMapping("ExteriorLight.ernest#//@structureModel.0/@modules.23/@ports.3", 0);
Simulator::SetTraceRecorder(&trace_recorder);
//
// Building the hardware topology
//
// Create ECU
Ecu ecu1("ECU1");
Ecu ecu2("ECU2");
// Create the bus
SimpleBus bus("SimpleBus");
// Adding bus interfaces to ecus
SimpleBusInterface *ecu1BusInterface = ecu1.AddHardware<SimpleBusInterface>();
SimpleBusInterface *ecu2BusInterface = ecu2.AddHardware<SimpleBusInterface>();
// Attaching the interfaces to the bus
bus.AttachInterface(ecu1BusInterface);
bus.AttachInterface(ecu2BusInterface);
//
// Configuring the software system
//
// Set scheduler
OsekOS *os1 = ecu1.GetService<OsekOS>();
OsekOS *os2 = ecu2.GetService<OsekOS>();
os1->SetScheduler<RoundRobin>();
os2->SetScheduler<RoundRobin>();
// Create one task with two SWF
Task* t1 = os1->DeclareTask<SwfA>(0,
milliseconds(0),
milliseconds(40),
new WorstCaseExecutionSpecification(milliseconds(20)));
Task* t2 = os2->DeclareTask<SwfB>(0,
milliseconds(10),
milliseconds(40),
new WorstCaseExecutionSpecification(milliseconds(20)));
SwfA* swfA = dynamic_cast<SwfA*>(t1->GetSwf());
SwfB* swfB = dynamic_cast<SwfB*>(t2->GetSwf());
connect_ports(swfA->src_counter, swfB->counter);
Simulator::Start();
}
开发者ID:FraunhoferESK,项目名称:ernest-simulation-framework,代码行数:57,代码来源:flow_port_test.cpp
示例19: iwl_power_initialize
/* initialize to default */
void iwl_power_initialize(struct iwl_priv *priv)
{
priv->power_data.bus_pm = bus_get_pm_support(bus(priv));
priv->power_data.debug_sleep_level_override = -1;
memset(&priv->power_data.sleep_cmd, 0,
sizeof(priv->power_data.sleep_cmd));
}
开发者ID:AMouri,项目名称:linux,代码行数:10,代码来源:iwl-power.c
示例20: sensordLogD
void SensorManager::removeSensor(const QString& id)
{
sensordLogD() << "Removing sensor: " << id;
QMap<QString, SensorInstanceEntry>::iterator entryIt = sensorInstanceMap_.find(id);
bus().unregisterObject(OBJECT_PATH + "/" + id);
delete entryIt.value().sensor_;
entryIt.value().sensor_ = 0;
}
开发者ID:foolab,项目名称:sensorfw,代码行数:9,代码来源:sensormanager.cpp
注:本文中的bus函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论