<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/46487/someone-anyone-please-point-me-in-the-right-direction</link><description>Im not entirely new to the embedded world, been programming since I was a kid and been working on embedded projects for 3 years now.. In fact the few first steps I can take with relative ease.. I can build projects, debug and program the device with the</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Wed, 24 Apr 2019 14:46:05 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/46487/someone-anyone-please-point-me-in-the-right-direction" /><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183551?ContentTypeID=1</link><pubDate>Wed, 24 Apr 2019 14:46:05 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:68f987eb-e983-45f0-92ac-43c16e924408</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;Also, thank you very much nicholas!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183548?ContentTypeID=1</link><pubDate>Wed, 24 Apr 2019 14:42:19 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f699832e-3c15-4c1f-9701-931652d5e3c3</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;for future reference, here&amp;#39;s a link to the documentation for a migration matrix from nrf drivers to nfrx* drivers:&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Fnrfx_migration_user_guide.html"&gt;https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Fnrfx_migration_user_guide.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183278?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 23:23:36 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fb2e48e1-46f1-4559-afd4-259c4d40b65f</guid><dc:creator>Nicholas Lee</dc:creator><description>&lt;p&gt;Dear Daniel,&lt;br /&gt;There is no good list of what header files you need for what functions. That would be far too easy.&lt;br /&gt;The process seems to be to first find what you think might be the function you need in the &amp;quot;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Fgroup__nrf__gpio__hal.html"&gt;documentation&lt;/a&gt;&amp;quot; and then use the windows File Explorer search function to scan all the .h files in your SDK installation to find out which one contains the function declaration.&lt;br /&gt;Typically you will start the search in the directory: C:\Nordic_Semi\nRF5_SDK_15.3.0_59ac345\modules\nrfx\drivers\include&lt;br /&gt;Nordic are busy transitioning from using functions starting in &amp;quot;nrf&amp;quot; to functions ending in &amp;quot;nrfx&amp;quot;. Try and use the new ones exclusively, as if you mix and match then it breaks all the configuration and all hell breaks loose.&lt;br /&gt;I&amp;#39;m sorry to say that most the example code was written using the old functions and hasn&amp;#39;t been updated, so be careful when copying code segments.&lt;br /&gt;This&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/nrfx_migration_user_guide.html"&gt; linked guide&lt;/a&gt; should help explain how the migration works, so you can translate any example code you need.&lt;br /&gt;To get a project that works, start from the most modern example project you can find that works and modify that.&lt;br /&gt;The projects are normally configured by a huge sdk_config.h file, with a tool called CMSIS Wizard, &lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/sdk_config.html"&gt;documented here&lt;/a&gt;.&lt;br /&gt;The other main &amp;quot;gotcha&amp;quot; if/when you get linker errors is to make sure that whatever module and driver features you enable in the sdk_config.h file, you have also added the corresponding module files to your project, added the header file include directive to your main.c, and added the paths to the header files of all the dependencies to the User Include Directories section of the Preprocessor section of the (common) Project options.&lt;br /&gt;I hope that helps you get started, I have found it to be an unnecessarily obfuscated process.&lt;/p&gt;
&lt;p&gt;If you want to cut-and-paste, here&amp;#39;s my list of &amp;quot;User Include Directories&amp;quot;&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;$(ProjectDir)
$(SdkDir)/components
$(SdkDir)/config
$(SdkDir)/external
$(SdkDir)/modules
$(SdkDir)/components/802_15_4
$(SdkDir)/components/ant
$(SdkDir)/components/ble
$(SdkDir)/components/boards
$(SdkDir)/components/iot
$(SdkDir)/components/libraries
$(SdkDir)/components/nfc
$(SdkDir)/components/proprietary_rf
$(SdkDir)/components/serialization
$(SdkDir)/components/softdevice
$(SdkDir)/components/softdevice/common
$(SdkDir)/components/toolchain
$(SdkDir)/components/802_15_4/api
$(SdkDir)/components/802_15_4/raw
$(SdkDir)/components/802_15_4/secure
$(SdkDir)/components/802_15_4/src
$(SdkDir)/components/802_15_4/api/HAL
$(SdkDir)/components/802_15_4/api/MAC
$(SdkDir)/components/802_15_4/api/PHY
$(SdkDir)/components/802_15_4/api/RAL
$(SdkDir)/components/802_15_4/api/SecAL
$(SdkDir)/components/802_15_4/api/SysAL
$(SdkDir)/components/802_15_4/api/HAL/nrf52_soc
$(SdkDir)/components/802_15_4/api/RAL/nrf52_soc
$(SdkDir)/components/ant/ant_channel_config
$(SdkDir)/components/ant/ant_encryption
$(SdkDir)/components/ant/ant_fs
$(SdkDir)/components/ant/ant_key_manager
$(SdkDir)/components/ant/ant_profiles
$(SdkDir)/components/ant/ant_search_config
$(SdkDir)/components/ant/ant_state_indicator
$(SdkDir)/components/ant/ant_key_manager/config
$(SdkDir)/components/ant/ant_profiles/ant_bpwr
$(SdkDir)/components/ant/ant_profiles/ant_bsc
$(SdkDir)/components/ant/ant_profiles/ant_common
$(SdkDir)/components/ant/ant_profiles/ant_hrm
$(SdkDir)/components/ant/ant_profiles/ant_sdm
$(SdkDir)/components/ant/ant_profiles/ant_bpwr/pages
$(SdkDir)/components/ant/ant_profiles/ant_bpwr/simulator
$(SdkDir)/components/ant/ant_profiles/ant_bpwr/utils
$(SdkDir)/components/ant/ant_profiles/ant_bsc/pages
$(SdkDir)/components/ant/ant_profiles/ant_bsc/simulator
$(SdkDir)/components/ant/ant_profiles/ant_bsc/utils
$(SdkDir)/components/ant/ant_profiles/ant_common/ant_request_controller
$(SdkDir)/components/ant/ant_profiles/ant_common/pages
$(SdkDir)/components/ant/ant_profiles/ant_hrm/pages
$(SdkDir)/components/ant/ant_profiles/ant_hrm/simulator
$(SdkDir)/components/ant/ant_profiles/ant_hrm/utils
$(SdkDir)/components/ant/ant_profiles/ant_sdm/pages
$(SdkDir)/components/ant/ant_profiles/ant_sdm/simulator
$(SdkDir)/components/ant/ant_profiles/ant_sdm/utils
$(SdkDir)/components/ble/ble_advertising
$(SdkDir)/components/ble/ble_db_discovery
$(SdkDir)/components/ble/ble_dtm
$(SdkDir)/components/ble/ble_link_ctx_manager
$(SdkDir)/components/ble/ble_racp
$(SdkDir)/components/ble/ble_radio_notification
$(SdkDir)/components/ble/ble_services
$(SdkDir)/components/ble/nrf_ble_gatt
$(SdkDir)/components/ble/nrf_ble_scan
$(SdkDir)/components/ble/common
$(SdkDir)/components/ble/nrf_ble_gatt
$(SdkDir)/components/ble/nrf_ble_qwr
$(SdkDir)/components/ble/nrf_ble_scan
$(SdkDir)/components/ble/peer_manager
$(SdkDir)/components/ble/ble_services/ble_ancs_c
$(SdkDir)/components/ble/ble_services/ble_ans_c
$(SdkDir)/components/ble/ble_services/ble_bas
$(SdkDir)/components/ble/ble_services/ble_bas_c
$(SdkDir)/components/ble/ble_services/ble_bps
$(SdkDir)/components/ble/ble_services/ble_cscs
$(SdkDir)/components/ble/ble_services/ble_cts_c
$(SdkDir)/components/ble/ble_services/ble_dfu
$(SdkDir)/components/ble/ble_services/ble_dis
$(SdkDir)/components/ble/ble_services/ble_dis_c
$(SdkDir)/components/ble/ble_services/ble_escs
$(SdkDir)/components/ble/ble_services/ble_gls
$(SdkDir)/components/ble/ble_services/ble_hids
$(SdkDir)/components/ble/ble_services/ble_hrs
$(SdkDir)/components/ble/ble_services/ble_hrs_c
$(SdkDir)/components/ble/ble_services/ble_hts
$(SdkDir)/components/ble/ble_services/ble_ias
$(SdkDir)/components/ble/ble_services/ble_ias_c
$(SdkDir)/components/ble/ble_services/ble_ipsp
$(SdkDir)/components/ble/ble_services/ble_lbs
$(SdkDir)/components/ble/ble_services/ble_lbs_c
$(SdkDir)/components/ble/ble_services/ble_lls
$(SdkDir)/components/ble/ble_services/ble_nus
$(SdkDir)/components/ble/ble_services/ble_nus_c
$(SdkDir)/components/ble/ble_services/ble_rscs
$(SdkDir)/components/ble/ble_services/ble_rscs_c
$(SdkDir)/components/ble/ble_services/ble_tps
$(SdkDir)/components/ble/ble_services/eddystone
$(SdkDir)/components/ble/ble_services/experimental_ble_lns
$(SdkDir)/components/ble/ble_services/experimental_ble_ots
$(SdkDir)/components/ble/ble_services/experimental_gatts_c
$(SdkDir)/components/ble/ble_services/experimental_nrf_ble_cgms
$(SdkDir)/components/ble/ble_services/experimental_nrf_ble_ots_c
$(SdkDir)/components/ble/ble_services/nrf_ble_bms
$(SdkDir)/components/drivers_ext/adns2080
$(SdkDir)/components/drivers_ext/bh1745
$(SdkDir)/components/drivers_ext/ccs811
$(SdkDir)/components/drivers_ext/cherry8x16
$(SdkDir)/components/drivers_ext/ds1624
$(SdkDir)/components/drivers_ext/hts221
$(SdkDir)/components/drivers_ext/ili9341
$(SdkDir)/components/drivers_ext/lis2dh12
$(SdkDir)/components/drivers_ext/lps22hb
$(SdkDir)/components/drivers_ext/max9850
$(SdkDir)/components/drivers_ext/mcp4725
$(SdkDir)/components/drivers_ext/mpu6050
$(SdkDir)/components/drivers_ext/nrf6350
$(SdkDir)/components/drivers_ext/st7735
$(SdkDir)/components/drivers_ext/sx1509b
$(SdkDir)/components/drivers_ext/synaptics_touchpad
$(SdkDir)/components/drivers_ext/uda1380
$(SdkDir)/components/drivers_nrf/radio_config
$(SdkDir)/components/drivers_nrf/sdio
$(SdkDir)/components/drivers_nrf/spi_master
$(SdkDir)/components/drivers_nrf/twi_master
$(SdkDir)/components/drivers_nrf/usbd
$(SdkDir)/components/drivers_nrf/sdio/config
$(SdkDir)/components/drivers_nrf/twi_master/deprecated
$(SdkDir)/components/drivers_nrf/twi_master/deprecated/config
$(SdkDir)/components/libraries/atomic
$(SdkDir)/components/libraries/atomic_fifo
$(SdkDir)/components/libraries/atomic_flags
$(SdkDir)/components/libraries/balloc
$(SdkDir)/components/libraries/block_dev
$(SdkDir)/components/libraries/bootloader
$(SdkDir)/components/libraries/bsp
$(SdkDir)/components/libraries/button
$(SdkDir)/components/libraries/cli
$(SdkDir)/components/libraries/crc16
$(SdkDir)/components/libraries/crc32
$(SdkDir)/components/libraries/crypto
$(SdkDir)/components/libraries/csense
$(SdkDir)/components/libraries/csense_drv
$(SdkDir)/components/libraries/delay
$(SdkDir)/components/libraries/ecc
$(SdkDir)/components/libraries/experimental_libuarte
$(SdkDir)/components/libraries/experimental_section_vars
$(SdkDir)/components/libraries/experimental_task_manager
$(SdkDir)/components/libraries/fds
$(SdkDir)/components/libraries/fifo
$(SdkDir)/components/libraries/fstorage
$(SdkDir)/components/libraries/gfx
$(SdkDir)/components/libraries/gpiote
$(SdkDir)/components/libraries/hardfault
$(SdkDir)/components/libraries/hci
$(SdkDir)/components/libraries/led_softblink
$(SdkDir)/components/libraries/log
$(SdkDir)/components/libraries/low_power_pwm
$(SdkDir)/components/libraries/memobj
$(SdkDir)/components/libraries/mem_manager
$(SdkDir)/components/libraries/mpu
$(SdkDir)/components/libraries/mutex
$(SdkDir)/components/libraries/pwm
$(SdkDir)/components/libraries/pwr_mgmt
$(SdkDir)/components/libraries/queue
$(SdkDir)/components/libraries/ringbuf
$(SdkDir)/components/libraries/scheduler
$(SdkDir)/components/libraries/sdcard
$(SdkDir)/components/libraries/sensorsim
$(SdkDir)/components/libraries/serial
$(SdkDir)/components/libraries/sha256
$(SdkDir)/components/libraries/simple_timer
$(SdkDir)/components/libraries/slip
$(SdkDir)/components/libraries/sortlist
$(SdkDir)/components/libraries/spi_mngr
$(SdkDir)/components/libraries/stack_guard
$(SdkDir)/components/libraries/stack_info
$(SdkDir)/components/libraries/strerror
$(SdkDir)/components/libraries/svc
$(SdkDir)/components/libraries/timer
$(SdkDir)/components/libraries/twi_mngr
$(SdkDir)/components/libraries/twi_sensor
$(SdkDir)/components/libraries/uart
$(SdkDir)/components/libraries/usbd
$(SdkDir)/components/libraries/util
$(SdkDir)/components/libraries/block_dev/empty
$(SdkDir)/components/libraries/block_dev/qspi
$(SdkDir)/components/libraries/block_dev/ram
$(SdkDir)/components/libraries/block_dev/sdc
$(SdkDir)/components/libraries/bootloader/ble_dfu
$(SdkDir)/components/libraries/bootloader/dfu
$(SdkDir)/components/libraries/bootloader/serial_dfu
$(SdkDir)/components/libraries/cli/ble_uart
$(SdkDir)/components/libraries/cli/cdc_acm
$(SdkDir)/components/libraries/cli/libuarte
$(SdkDir)/components/libraries/cli/rtt
$(SdkDir)/components/libraries/cli/uart
$(SdkDir)/components/libraries/crypto/backend
$(SdkDir)/components/libraries/crypto/backend/cc310
$(SdkDir)/components/libraries/crypto/backend/cc310_bl
$(SdkDir)/components/libraries/crypto/backend/cifra
$(SdkDir)/components/libraries/crypto/backend/mbedtls
$(SdkDir)/components/libraries/crypto/backend/micro_ecc
$(SdkDir)/components/libraries/crypto/backend/nrf_hw
$(SdkDir)/components/libraries/crypto/backend/nrf_sw
$(SdkDir)/components/libraries/crypto/backend/oberon
$(SdkDir)/components/libraries/hardfault/nrf52
$(SdkDir)/components/libraries/hardfault/nrf52/handler
$(SdkDir)/components/libraries/log/src
$(SdkDir)/components/libraries/timer/experimental
$(SdkDir)/components/libraries/usbd/class
$(SdkDir)/components/libraries/usbd/class/audio
$(SdkDir)/components/libraries/usbd/class/cdc
$(SdkDir)/components/libraries/usbd/class/dummy
$(SdkDir)/components/libraries/usbd/class/hid
$(SdkDir)/components/libraries/usbd/class/msc
$(SdkDir)/components/libraries/usbd/class/nrf_dfu_trigger
$(SdkDir)/components/libraries/usbd/class/cdc/acm
$(SdkDir)/components/libraries/usbd/class/hid/generic
$(SdkDir)/components/libraries/usbd/class/hid/kbd
$(SdkDir)/components/libraries/usbd/class/hid/mouse
$(SdkDir)/components/nfc/ndef
$(SdkDir)/components/nfc/t2t_lib
$(SdkDir)/components/nfc/t2t_parser
$(SdkDir)/components/nfc/t4t_lib
$(SdkDir)/components/nfc/t4t_parser
$(SdkDir)/components/nfc/ndef/connection_handover
$(SdkDir)/components/nfc/ndef/conn_hand_parser
$(SdkDir)/components/nfc/ndef/generic
$(SdkDir)/components/nfc/ndef/launchapp
$(SdkDir)/components/nfc/ndef/parser
$(SdkDir)/components/nfc/ndef/text
$(SdkDir)/components/nfc/ndef/uri
$(SdkDir)/components/nfc/ndef/connection_handover/ac_rec
$(SdkDir)/components/nfc/ndef/connection_handover/ble_oob_advdata
$(SdkDir)/components/nfc/ndef/connection_handover/ble_pair_lib
$(SdkDir)/components/nfc/ndef/connection_handover/ble_pair_msg
$(SdkDir)/components/nfc/ndef/connection_handover/common
$(SdkDir)/components/nfc/ndef/connection_handover/ep_oob_rec
$(SdkDir)/components/nfc/ndef/connection_handover/hs_rec
$(SdkDir)/components/nfc/ndef/connection_handover/le_oob_rec
$(SdkDir)/components/nfc/ndef/conn_hand_parser/ac_rec_parser
$(SdkDir)/components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser
$(SdkDir)/components/nfc/ndef/conn_hand_parser/le_oob_rec_parser
$(SdkDir)/components/nfc/ndef/generic/message
$(SdkDir)/components/nfc/ndef/generic/record
$(SdkDir)/components/nfc/ndef/parser/message
$(SdkDir)/components/nfc/ndef/parser/record
$(SdkDir)/components/nfc/t2t_lib/hal_t2t
$(SdkDir)/components/nfc/t4t_lib/hal_t4t
$(SdkDir)/components/nfc/t4t_parser/apdu
$(SdkDir)/components/nfc/t4t_parser/cc_file
$(SdkDir)/components/nfc/t4t_parser/hl_detection_procedure
$(SdkDir)/components/nfc/t4t_parser/tlv
$(SdkDir)/components/proprietary_rf/esb
$(SdkDir)/components/proprietary_rf/gzll
$(SdkDir)/components/proprietary_rf/gzll/arm
$(SdkDir)/components/proprietary_rf/gzll/config
$(SdkDir)/components/proprietary_rf/gzll/gcc
$(SdkDir)/components/proprietary_rf/gzll/iar
$(SdkDir)/components/serialization/application
$(SdkDir)/components/serialization/common
$(SdkDir)/components/serialization/connectivity
$(SdkDir)/components/serialization/application/codecs
$(SdkDir)/components/serialization/application/hal
$(SdkDir)/components/serialization/application/transport
$(SdkDir)/components/serialization/application/codecs/ant
$(SdkDir)/components/serialization/application/codecs/ble
$(SdkDir)/components/serialization/application/codecs/common
$(SdkDir)/components/serialization/application/codecs/ant/middleware
$(SdkDir)/components/serialization/application/codecs/ant/serializers
$(SdkDir)/components/serialization/application/codecs/ble/middleware
$(SdkDir)/components/serialization/application/codecs/ble/serializers
$(SdkDir)/components/serialization/common/struct_ser
$(SdkDir)/components/serialization/common/transport
$(SdkDir)/components/serialization/common/struct_ser/ant
$(SdkDir)/components/serialization/common/struct_ser/ble
$(SdkDir)/components/serialization/common/transport/ser_phy
$(SdkDir)/components/serialization/common/transport/ser_phy/config
$(SdkDir)/components/serialization/connectivity/codecs
$(SdkDir)/components/serialization/connectivity/hal
$(SdkDir)/components/serialization/connectivity/codecs/ant
$(SdkDir)/components/serialization/connectivity/codecs/ble
$(SdkDir)/components/serialization/connectivity/codecs/common
$(SdkDir)/components/serialization/connectivity/codecs/ant/middleware
$(SdkDir)/components/serialization/connectivity/codecs/ant/serializers
$(SdkDir)/components/serialization/connectivity/codecs/ble/middleware
$(SdkDir)/components/serialization/connectivity/codecs/ble/serializers
$(SdkDir)/components/softdevice/common
$(SdkDir)/components/softdevice/mbr
$(SdkDir)/components/softdevice/mbr/nrf52840
$(SdkDir)/components/softdevice/mbr/nrf52840/headers
$(SdkDir)/components/softdevice/mbr/nrf52840/hex
$(SdkDir)/components/softdevice/s140
$(SdkDir)/components/softdevice/s140/doc
$(SdkDir)/components/softdevice/s140/headers
$(SdkDir)/components/softdevice/s140/headers/nrf52
$(SdkDir)/components/softdevice/s140/hex
$(SdkDir)/components/toolchain/cmsis/include
$(SdkDir)/external/fprintf
$(SdkDir)/modules/nrfx
$(SdkDir)/modules/nrfx/drivers
$(SdkDir)/modules/nrfx/hal
$(SdkDir)/modules/nrfx/mdk
$(SdkDir)/modules/nrfx/soc
$(SdkDir)/modules/nrfx/drivers/include
$(SdkDir)/modules/nrfx/drivers/src
$(SdkDir)/modules/nrfx/drivers/src/prs&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;NB: The macro defining $(SdkDir) needs to be added under the Segger menu&lt;/p&gt;
&lt;p&gt;Tools-&amp;gt;Options-&amp;gt;Environment Options-&amp;gt;Building-&amp;gt;Global Macros&lt;br /&gt;&lt;br /&gt;Here you add:&lt;br /&gt;&lt;pre class="ui-code" data-mode="text"&gt;SdkDir=C:/Nordic_Semi/nRF5_SDK_15.3.0_59ac345
CMSIS_CONFIG_TOOL=C:/Nordic_Semi/CMSIS_Configuration_Wizard.jar&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Kind Regards,&lt;br /&gt;Nicholas Lee&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183266?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 20:24:53 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:df340427-60b9-4928-93d9-67d543f9b849</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;I do not mind the responses from Andy, reading the manual is what a developer should always do, I was just frustrated because, as you point out, they are not well documented in the code.&lt;/p&gt;
&lt;p&gt;Your comment here was more insightful than the 4 days of reading examples and documentations, thank you very much.&lt;/p&gt;
&lt;p&gt;Howeverm I would like to know what I can read to know what header files must be included for the different functions, is there a table of contents or something along the lines?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183264?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 20:01:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:34ef8b50-f467-4ffd-9aa6-968a42045e32</guid><dc:creator>Nicholas Lee</dc:creator><description>&lt;p&gt;Dear Daniel,&lt;br /&gt;Firstly, I&amp;#39;m sorry for the other heartless responses you have received along the lines of RTFM. &lt;br /&gt;The documentation is terrible for beginners to learn from because they have just run doxygen on a code base that wasn&amp;#39;t meaningfully commented to begin with. This has resulted in &amp;quot;documentation&amp;quot; that is just a list of function names with no context or English-language description of what the functions are for, or how to use them. The example code also contains no comments or description, so a beginner needs to be psychic to be able to learn how they work.&lt;br /&gt;&lt;br /&gt;To begin with, include the relevant headers&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;
#include &amp;quot;nrfx_config.h&amp;quot;
#include &amp;quot;nrf_gpio.h&amp;quot;
#include &amp;quot;nrfx_gpiote.h&amp;quot;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Define your pin names with macros like these:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;#define UART_RTS_PIN NRF_GPIO_PIN_MAP(0,5)  // P0.05 = SIO_05
#define UART_TX_PIN  NRF_GPIO_PIN_MAP(0,6)  // P0.06 = SIO_06
#define UART_CTS_PIN NRF_GPIO_PIN_MAP(0,7)  // P0.07 = SIO_07
#define UART_RX_PIN  NRF_GPIO_PIN_MAP(0,8)  // P0.08 = SIO_08
#define KG_PIN       NRF_GPIO_PIN_MAP(1,2)  // P1.02 = SIO_34
&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Then, define their directions and pull up/down, as follows:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;  // Digital Outputs
  nrf_gpio_cfg_output(UART_TX_PIN);
  nrf_gpio_cfg_output(UART_RTS_PIN);
  nrf_gpio_cfg_output(KG_PIN);
  
  // Digital Inputs
  nrf_gpio_cfg_input(UART_RX_PIN, NRF_GPIO_PIN_PULLUP);
  nrf_gpio_cfg_input(UART_CTS_PIN, NRF_GPIO_PIN_PULLUP);  &lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Finally, you can set or clear the value on IO pins as follows:&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;// Clear a pin
    nrf_gpio_pin_clear(KG_PIN); // P1.02 = SIO_34

// Set a pin
    nrf_gpio_pin_set(KG_PIN); // P1.02 = SIO_34
&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183242?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:43:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7534ece3-50f1-44fa-a596-99ee8aec3054</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;The&amp;nbsp;nrf_gpio_cfg_output() just calls&amp;nbsp;&lt;span&gt;nrf_gpio_cfg() internally with some default parameters to configure the pin as output. If you need to configure something specifically, then you use&amp;nbsp;nrf_gpio_cfg() directly.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The sense mechanism is what is used internally for external interrupts. You can read about it in the product specification, section 6.9.1&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183241?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:40:01 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:cc5b28e5-e8ac-4f19-8914-97a734a6869c</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;Heh.. RTFM&lt;/p&gt;
&lt;p&gt;You have the patience of a saint&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183240?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:38:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b80924e5-86d8-463b-8260-ad3858e6bb36</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;So I dont need to use &amp;quot;nrf_gpio_cfg()&amp;quot;(?)&lt;/p&gt;
&lt;p&gt;Then that function is more in depth.. huh..&amp;nbsp;&lt;/p&gt;
&lt;p&gt;What does it mean to &amp;quot;sense&amp;quot; a pin? what happens if I configure for sensing?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183238?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:26:50 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:eef29e78-21d0-44cb-af57-15d1b8872493</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;Yes, look at the&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v15.3.0%2Fgroup__nrf__gpio__hal.html"&gt;documentation&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183237?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:26:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5e83a813-448c-448e-807c-d3ca6ae3da9f</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;Can I pass a pin number to this function?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183236?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:25:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4145a1eb-adcd-4028-86a0-304f3a75fd57</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;Yes I am, Thank you for your help!&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183235?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:21:59 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8f0919b1-54f4-446a-8c29-29d9f44cca28</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;&lt;pre class="ui-code" data-mode="text"&gt;nrf_gpio_cfg_output(LED_PIN);&lt;/pre&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183232?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:20:33 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f054506c-2796-4f4b-948e-a003c4b7f58f</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;Also, the blinky example&amp;#39;s main() function initializes GPIO pins using a board support package (BSP_INIT_LEDS) and that is not helpful.. How would I configure a single pin as an output?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183231?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:19:51 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c5c1c6b-e1d0-4543-8417-5df6265c9f21</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;If you&amp;#39;re interested, the GPIOTE documentation is&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/hardware_driver_gpiote.html"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183229?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:16:08 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:281d1229-a23b-4f9c-8ef8-28a41d9d98bf</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;Ah, you&amp;#39;re referring to the GPIOTE module, not the GPIO module. I think you&amp;#39;re confused, the GPIOTE driver is meant to be used to set up external interrupts.&lt;/p&gt;
&lt;p&gt;If you want to just configure a GPIO as input/output and that kind of stuff, you need to check the nrf_gpio.h file, which declares some inline functions to work with GPIOs. GPIOTE is overkill for a blinky application.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183227?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:11:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1e763139-975d-41e5-9294-f3219df91b11</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;&lt;img src="https://devzone.nordicsemi.com/resized-image/__size/640x480/__key/communityserver-discussions-components-files/4/pastedimage1556043721049v1.png" alt=" " /&gt;&lt;/p&gt;
&lt;p&gt;This, I&amp;#39;m using the project template and this is the header file.&lt;/p&gt;
&lt;p&gt;Which are the include files im supposed to use?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183226?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:08:17 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2357f552-c9a2-4c81-9e78-92e61ef416e8</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;I just searched for &amp;quot;task&amp;quot; and &amp;quot;interrupt&amp;quot; in the nrf_gpio.h header file and found nothing. What are you talking about?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183225?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 18:05:03 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b0322952-ceba-4c21-9088-e6b264eaff30</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;What does the header refer to when they are taling about a &amp;quot;task&amp;quot; is it similar to an interrupt?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183215?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 16:52:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:200ba424-312c-4a06-a764-41e18c7c1d6e</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;Honestly, every function in the nrf_gpio header file is explained thoroughly. There&amp;#39;s documentation for every function and it&amp;#39;s as clear as it gets, so I&amp;#39;m not sure exactly what you&amp;#39;re asking.&lt;/p&gt;
&lt;p&gt;If you haven&amp;#39;t seen the documentation, you can find it&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/group__nrf__gpio__hal.html"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183213?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 16:32:02 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d176d9cb-7fe1-4fd5-9e72-3486d5129cb8</guid><dc:creator>danielb1194</dc:creator><description>&lt;p&gt;Yes, I have really read the examples, and the current tutorials are easy to follow, that&amp;#39;s not the point.. the point is its frustrating not knowing what to pass as an argument to &amp;quot;&lt;span&gt;nrf_gpio_cfg()&amp;quot; in order to configure it (every single argument is a &amp;quot;nrf&amp;quot; custom type, and I have not found information about these types apart from reading the numerous imports).. A tutorial like blinky should explain this, and it doesnt! It just lists the procedure, just like any other tutorial from nordic.. and its not supposed to, its supposed to teach how to use it, including the libraries and HALs. I do not want to write my HALs or drivers but I want to learn how to use theirs. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Please I want help, not starting a discussion&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Someone, anyone PLEASE point me in the right direction</title><link>https://devzone.nordicsemi.com/thread/183056?ContentTypeID=1</link><pubDate>Tue, 23 Apr 2019 09:11:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:15493063-a52d-4572-8997-c60fb59622af</guid><dc:creator>Andy</dc:creator><description>&lt;p&gt;Did you already take a look at the examples? They&amp;#39;re pretty easy to follow IMO.&lt;/p&gt;
&lt;p&gt;Check the&amp;nbsp;&lt;a href="https://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk5.v15.3.0/gpio_example.html"&gt;Blinky&lt;/a&gt;&amp;nbsp;example, it shows exactly what you want to do. Regarding the &amp;quot;layers upon layers&amp;quot; of abstraction, I think Nordic did a pretty good job providing a lot of libraries and HALs to work with their chips. If you want to really understand everything on a register level, read the product specification and start from there.&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Be aware that you will have to use or write your own HALs eventually, and to me that&amp;#39;s just unnecessarily trying to reinvent the wheel.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>