diff --git a/pyRF24/pyRF24.cpp b/pyRF24/pyRF24.cpp index e9703c912..7859a5348 100644 --- a/pyRF24/pyRF24.cpp +++ b/pyRF24/pyRF24.cpp @@ -142,7 +142,7 @@ BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS(txStandBy_wrap1, RF24::txStandBy, 0, 2) // from both RF24 and bcm2835 // -BOOST_PYTHON_MODULE(python-nrf24l01) +BOOST_PYTHON_MODULE(python_nrf24l01) { #ifdef BCM2835_H @@ -272,15 +272,11 @@ BOOST_PYTHON_MODULE(python-nrf24l01) .def("available_pipe", &available_wrap) // needed to rename this method as python does not allow such overloading .def("begin", &RF24::begin) .def("close_reading_pipe", &RF24::closeReadingPipe) - .def("disable_crc", &RF24::disableCRC) .def("enable_ack_payload", &RF24::enableAckPayload) .def("enable_dynamic_ack", &RF24::enableDynamicAck) .def("enable_dynamic_payloads", &RF24::enableDynamicPayloads) .def("flush_tx", &RF24::flush_tx) - .def("get_crc_length", &RF24::getCRCLength) - .def("get_data_rate", &RF24::getDataRate) .def("get_dynamic_payload_size", &RF24::getDynamicPayloadSize) - .def("get_pa_level", &RF24::getPALevel) .def("is_ack_payload_available", &RF24::isAckPayloadAvailable) .def("is_p_variant", &RF24::isPVariant) .def("is_valid", &RF24::isValid) @@ -289,8 +285,6 @@ BOOST_PYTHON_MODULE(python-nrf24l01) .def("open_reading_pipe", (void (::RF24::*)(::uint8_t, ::uint64_t))(&::RF24::openReadingPipe), (bp::arg("number"), bp::arg("address"))) .def("open_writing_pipe", &openWritingPipe_wrap, (bp::arg("address"))) .def("open_writing_pipe", (void (::RF24::*)(::uint64_t))(&::RF24::openWritingPipe), (bp::arg("address"))) - .def("power_down", &RF24::powerDown) - .def("power_up", &RF24::powerUp) .def("print_details", &RF24::printDetails) .def("re_use_tx", &RF24::reUseTX) .def("read", &read_wrap, (bp::arg("length"))) @@ -298,15 +292,11 @@ BOOST_PYTHON_MODULE(python-nrf24l01) .def("set_address_width", &RF24::setAddressWidth) .def("set_auto_ack", (void (::RF24::*)(bool))(&::RF24::setAutoAck), (bp::arg("enable"))) .def("set_auto_ack", (void (::RF24::*)(::uint8_t, bool))(&::RF24::setAutoAck), (bp::arg("pipe"), bp::arg("enable"))) - .def("set_crc_length", &RF24::setCRCLength, (bp::arg("length"))) - .def("set_channel", &RF24::setChannel, (bp::arg("channel"))) - .def("set_data_rate", &RF24::setDataRate, (bp::arg("speed"))) - .def("set_pa_level", &RF24::setPALevel, (bp::arg("level"), bp::arg("lna_enable") = 1)) .def("set_retries", &RF24::setRetries, (bp::arg("delay"), bp::arg("count"))) .def("start_fast_write", &startFastWrite_wrap1, (bp::arg("buf"), bp::arg("len"), bp::arg("multicast"))) .def("start_fast_write", &startFastWrite_wrap2, (bp::arg("buf"), bp::arg("len"), bp::arg("multicast"), bp::arg("startTx"))) - .def("start_listening", &RF24::startListening) .def("start_write", &startWrite_wrap, (bp::arg("buf"), bp::arg("length"), bp::arg("multicast"))) + .def("start_listening", &RF24::startListening) .def("stop_listening", &RF24::stopListening) .def("test_carrier", &RF24::testCarrier) .def("test_rpd", &RF24::testRPD) @@ -320,6 +310,16 @@ BOOST_PYTHON_MODULE(python-nrf24l01) .def("write_blocking", &writeBlocking_wrap, (bp::arg("buf"), bp::arg("timeout"))) .def("write_fast", &writeFast_wrap1, (bp::arg("buf"))) .def("write_fast", &writeFast_wrap2, (bp::arg("buf"), bp::arg("multicast"))) + .def("power_down", &RF24::powerDown) + .def("power_up", &RF24::powerUp) + .def("disable_crc", &RF24::disableCRC) + .add_property("crc_length", &RF24::getCRCLength, &RF24::setCRCLength) + .add_property("channel", &RF24::getChannel, &RF24::setChannel) + .add_property("data_rate", &RF24::getDataRate, &RF24::setDataRate) + .add_property("pa_level", + make_function(&RF24::getPALevel, return_value_policy), + make_function(&RF24::setPALevel, with_custodian_and_ward), + ) .add_property("payload_size", &RF24::getPayloadSize, &RF24::setPayloadSize) .def_readwrite("failure_detected", &RF24::failureDetected); } diff --git a/pyRF24/setup.py b/pyRF24/setup.py index 9b5abbc93..3dbda3e9f 100644 --- a/pyRF24/setup.py +++ b/pyRF24/setup.py @@ -12,7 +12,7 @@ def process_configparams(): global version # can't access "../Makefile.inc" from working dir because it's relative. # brute force absolute path dynamically. - script_dir = os.path.split(os.path.abspath(__file__))[0] + script_dir = os.path.split(os.path.abspath(os.getcwd()))[0] abs_file_path = os.path.join(script_dir, "Makefile.inc") with open(abs_file_path) as f: config_lines = f.read().splitlines() @@ -43,7 +43,7 @@ def process_configparams(): crossunixccompiler.register() module_RF24 = setuptools.Extension( - "python-nrf24l01", libraries=["rf24", BOOST_LIB], sources=["pyRF24.cpp"] + "python_nrf24l01", libraries=["rf24", BOOST_LIB], sources=["pyRF24.cpp"] ) -setuptools.setup(name="python-nrf24l01", version=version, ext_modules=[module_RF24]) +setuptools.setup(name="python_nrf24l01", version=version, ext_modules=[module_RF24])