You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ad...@apache.org on 2017/12/13 22:36:38 UTC

[mynewt-site] branch master updated (7e67852 -> e30806a)

This is an automated email from the ASF dual-hosted git repository.

aditi pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-site.git.


    from 7e67852  Update landing.html
     new 4f5a7e5  added a new directory for v1.2 under versions
     new 61d60b1  changed version number in versions/v1_2_0/mkdocs.yml
     new e30806a  created symbolic link to custom-theme

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 mkdocs.yml                                                  |   3 +++
 versions/{v1_1_0 => v1_2_0}/custom-theme                    |   0
 versions/{v1_1_0 => v1_2_0}/docs/about.md                   |   0
 versions/{v1_1_0 => v1_2_0}/docs/community.md               |   0
 versions/{v1_1_0 => v1_2_0}/docs/documentation.md           |   0
 {docs => versions/v1_2_0/docs}/download.md                  |   0
 versions/{v1_1_0 => v1_2_0}/docs/events.md                  |   0
 versions/{v1_1_0 => v1_2_0}/docs/extra.css                  |   0
 versions/{v1_1_0 => v1_2_0}/docs/faq/answers.md             |   0
 versions/{v1_1_0 => v1_2_0}/docs/faq/go_env.md              |   0
 versions/{v1_1_0 => v1_2_0}/docs/faq/how_to_edit_docs.md    |   0
 {docs => versions/v1_2_0/docs}/faq/ide.md                   |   0
 versions/{v1_1_0 => v1_2_0}/docs/faq/mynewt_dev_cycle.jpg   | Bin
 .../docs/faq/pics/debug_new_config_small.png                | Bin
 .../{v1_1_0 => v1_2_0}/docs/faq/pics/gdb_debug_small.png    | Bin
 .../{v1_1_0 => v1_2_0}/docs/faq/pics/gdb_server_small.png   | Bin
 versions/{v1_1_0 => v1_2_0}/docs/faq/pics/gdb_small.png     | Bin
 .../docs/faq/pics/integrated_terminal_small.png             | Bin
 versions/{v1_1_0 => v1_2_0}/docs/faq/pics/launch_small.png  | Bin
 .../{v1_1_0 => v1_2_0}/docs/faq/pics/task_json_small.png    | Bin
 .../{v1_1_0 => v1_2_0}/docs/faq/pics/task_runner_small.png  | Bin
 .../{v1_1_0 => v1_2_0}/docs/faq/pics/task_select_small.png  | Bin
 .../{v1_1_0 => v1_2_0}/docs/faq/pics/task_start_small.png   | Bin
 versions/{v1_1_0 => v1_2_0}/docs/images/egg-logo2.png       | Bin
 versions/{v1_1_0 => v1_2_0}/docs/index.md                   |   0
 versions/{v1_1_0 => v1_2_0}/docs/known_issues.md            |   0
 .../docs/network/ble/ble_hs/ble_att/ble_att.md              |   0
 .../network/ble/ble_hs/ble_att/functions/ble_att_mtu.md     |   0
 .../ble/ble_hs/ble_att/functions/ble_att_preferred_mtu.md   |   0
 .../ble_hs/ble_att/functions/ble_att_set_preferred_mtu.md   |   0
 .../ble/ble_hs/ble_att/functions/ble_att_svr_read_local.md  |   0
 .../ble/ble_hs/ble_att/functions/ble_att_svr_write_local.md |   0
 .../docs/network/ble/ble_hs/ble_att/mdtoc.md                |   0
 .../docs/network/ble/ble_hs/ble_gap/ble_gap.md              |   0
 .../network/ble/ble_hs/ble_gap/definitions/ble_gap_defs.md  |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_adv_active.md      |   0
 .../ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_data.md    |   0
 .../ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_fields.md  |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_adv_set_data.md    |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_adv_set_fields.md  |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_adv_set_phys.md    |   0
 .../ble_hs/ble_gap/functions/ble_gap_adv_set_tx_power.md    |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_adv_start.md       |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_adv_stop.md        |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_conn_active.md     |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_conn_cancel.md     |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_conn_find.md       |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_conn_rssi.md       |   0
 .../network/ble/ble_hs/ble_gap/functions/ble_gap_connect.md |   0
 .../network/ble/ble_hs/ble_gap/functions/ble_gap_disc.md    |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_disc_active.md     |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_disc_cancel.md     |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_ext_connect.md     |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_ext_disc.md        |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_read_le_phy.md     |   0
 .../ble_hs/ble_gap/functions/ble_gap_security_initiate.md   |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_set_event_cb.md    |   0
 .../functions/ble_gap_set_prefered_default_le_phy.md        |   0
 .../ble_hs/ble_gap/functions/ble_gap_set_prefered_le_phy.md |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_set_priv_mode.md   |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_terminate.md       |   0
 .../ble/ble_hs/ble_gap/functions/ble_gap_update_params.md   |   0
 .../network/ble/ble_hs/ble_gap/functions/ble_gap_wl_set.md  |   0
 .../docs/network/ble/ble_hs/ble_gap/mdtoc.md                |   0
 .../docs/network/ble/ble_hs/ble_gattc/ble_gattc.md          |   0
 .../ble/ble_hs/ble_gattc/definitions/ble_gattc_defs.md      |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_disc_all_chrs.md   |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_disc_all_dscs.md   |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_disc_all_svcs.md   |   0
 .../ble_gattc/functions/ble_gattc_disc_chrs_by_uuid.md      |   0
 .../ble_gattc/functions/ble_gattc_disc_svc_by_uuid.md       |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_exchange_mtu.md    |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_find_inc_svcs.md   |   0
 .../ble/ble_hs/ble_gattc/functions/ble_gattc_indicate.md    |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_indicate_custom.md |   0
 .../ble/ble_hs/ble_gattc/functions/ble_gattc_notify.md      |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_notify_custom.md   |   0
 .../ble/ble_hs/ble_gattc/functions/ble_gattc_read.md        |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_read_by_uuid.md    |   0
 .../ble/ble_hs/ble_gattc/functions/ble_gattc_read_long.md   |   0
 .../ble/ble_hs/ble_gattc/functions/ble_gattc_read_mult.md   |   0
 .../ble/ble_hs/ble_gattc/functions/ble_gattc_write.md       |   0
 .../ble/ble_hs/ble_gattc/functions/ble_gattc_write_flat.md  |   0
 .../ble/ble_hs/ble_gattc/functions/ble_gattc_write_long.md  |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp.md    |   0
 .../ble_gattc/functions/ble_gattc_write_no_rsp_flat.md      |   0
 .../ble_hs/ble_gattc/functions/ble_gattc_write_reliable.md  |   0
 .../docs/network/ble/ble_hs/ble_gattc/mdtoc.md              |   0
 .../docs/network/ble/ble_hs/ble_gatts/ble_gatts.md          |   0
 .../ble/ble_hs/ble_gatts/definitions/ble_gatts_defs.md      |   0
 .../ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs.md    |   0
 .../ble/ble_hs/ble_gatts/functions/ble_gatts_count_cfg.md   |   0
 .../ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr.md    |   0
 .../ble/ble_hs/ble_gatts/functions/ble_gatts_find_dsc.md    |   0
 .../ble/ble_hs/ble_gatts/functions/ble_gatts_find_svc.md    |   0
 .../ble_gatts/functions/ble_gatts_svc_set_visibility.md     |   0
 .../docs/network/ble/ble_hs/ble_gatts/mdtoc.md              |   0
 .../{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_hs.md    |   0
 .../docs/network/ble/ble_hs/ble_hs_id/ble_hs_id.md          |   0
 .../ble/ble_hs/ble_hs_id/functions/ble_hs_id_copy_addr.md   |   0
 .../ble/ble_hs/ble_hs_id/functions/ble_hs_id_gen_rnd.md     |   0
 .../ble/ble_hs/ble_hs_id/functions/ble_hs_id_set_rnd.md     |   0
 .../docs/network/ble/ble_hs/ble_hs_id/mdtoc.md              |   0
 .../docs/network/ble/ble_hs/ble_hs_return_codes.md          |   0
 .../other/functions/ble_eddystone_set_adv_data_uid.md       |   0
 .../other/functions/ble_eddystone_set_adv_data_url.md       |   0
 .../network/ble/ble_hs/other/functions/ble_hs_evq_set.md    |   0
 .../ble/ble_hs/other/functions/ble_hs_mbuf_att_pkt.md       |   0
 .../ble/ble_hs/other/functions/ble_hs_mbuf_from_flat.md     |   0
 .../ble/ble_hs/other/functions/ble_hs_mbuf_to_flat.md       |   0
 .../ble/ble_hs/other/functions/ble_hs_sched_reset.md        |   0
 .../network/ble/ble_hs/other/functions/ble_hs_synced.md     |   0
 .../ble/ble_hs/other/functions/ble_ibeacon_set_adv_data.md  |   0
 .../docs/network/ble/ble_hs/other/functions/ble_uuid_cmp.md |   0
 .../ble/ble_hs/other/functions/ble_uuid_init_from_buf.md    |   0
 .../network/ble/ble_hs/other/functions/ble_uuid_to_str.md   |   0
 .../docs/network/ble/ble_hs/other/functions/ble_uuid_u16.md |   0
 .../docs/network/ble/ble_hs/other/mdtoc.md                  |   0
 .../docs/network/ble/ble_hs/other/other.md                  |   0
 {docs => versions/v1_2_0/docs}/network/ble/ble_intro.md     |   0
 versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_sec.md     |   0
 .../docs/network/ble/ble_setup/ble_addr.md                  |   0
 .../docs/network/ble/ble_setup/ble_lp_clock.md              |   0
 .../docs/network/ble/ble_setup/ble_setup_intro.md           |   0
 .../docs/network/ble/ble_setup/ble_sync_cb.md               |   0
 .../docs/network/ble/bletiny/bletiny_GAP.md                 |   0
 .../docs/network/ble/bletiny/bletiny_GATT.md                |   0
 .../docs/network/ble/bletiny/bletiny_advdata.md             |   0
 .../docs/network/ble/bletiny/bletiny_api.md                 |   0
 versions/{v1_1_0 => v1_2_0}/docs/network/ble/bletiny_api.md |   0
 .../docs/network/ble/btshell/btshell_GAP.md                 |   0
 .../docs/network/ble/btshell/btshell_GATT.md                |   0
 .../docs/network/ble/btshell/btshell_advdata.md             |   0
 .../docs/network/ble/btshell/btshell_api.md                 |   0
 versions/{v1_1_0 => v1_2_0}/docs/news/article1.md           |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_build.md |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_clean.md |   0
 .../docs/newt/command_list/newt_complete.md                 |   0
 .../docs/newt/command_list/newt_create_image.md             |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_debug.md |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_help.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_info.md  |   0
 .../docs/newt/command_list/newt_install.md                  |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_load.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_mfg.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_new.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_pkg.md   |   0
 .../docs/newt/command_list/newt_resign_image.md             |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_run.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_size.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_sync.md  |   0
 .../docs/newt/command_list/newt_target.md                   |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_test.md  |   0
 .../docs/newt/command_list/newt_upgrade.md                  |   0
 .../{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_vals.md  |   0
 .../docs/newt/command_list/newt_version.md                  |   0
 {docs => versions/v1_2_0/docs}/newt/install/newt_linux.md   |   0
 {docs => versions/v1_2_0/docs}/newt/install/newt_mac.md     |   0
 {docs => versions/v1_2_0/docs}/newt/install/newt_windows.md |   0
 .../v1_2_0/docs}/newt/install/prev_releases.md              |   0
 versions/{v1_1_0 => v1_2_0}/docs/newt/newt_intro.md         |   0
 versions/{v1_1_0 => v1_2_0}/docs/newt/newt_operation.md     |   0
 versions/{v1_1_0 => v1_2_0}/docs/newt/newt_ops.md           |   0
 .../docs/newtmgr/command_list/newtmgr_config.md             |   0
 .../docs/newtmgr/command_list/newtmgr_conn.md               |   0
 .../docs/newtmgr/command_list/newtmgr_crash.md              |   0
 .../docs/newtmgr/command_list/newtmgr_datetime.md           |   0
 .../docs/newtmgr/command_list/newtmgr_echo.md               |   0
 .../docs/newtmgr/command_list/newtmgr_fs.md                 |   0
 .../docs/newtmgr/command_list/newtmgr_image.md              |   0
 .../docs/newtmgr/command_list/newtmgr_logs.md               |   0
 .../docs/newtmgr/command_list/newtmgr_mpstats.md            |   0
 .../docs/newtmgr/command_list/newtmgr_reset.md              |   0
 .../docs/newtmgr/command_list/newtmgr_run.md                |   0
 .../docs/newtmgr/command_list/newtmgr_stat.md               |   0
 .../docs/newtmgr/command_list/newtmgr_taskstats.md          |   0
 {docs => versions/v1_2_0/docs}/newtmgr/install_linux.md     |   0
 {docs => versions/v1_2_0/docs}/newtmgr/install_mac.md       |   0
 {docs => versions/v1_2_0/docs}/newtmgr/install_windows.md   |   0
 versions/{v1_1_0 => v1_2_0}/docs/newtmgr/overview.md        |   0
 {docs => versions/v1_2_0/docs}/newtmgr/prev_releases.md     |   0
 versions/{v1_1_0 => v1_2_0}/docs/newtmgr/protocol.md        |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/callout/callout.md   |   0
 .../docs/os/core_os/callout/os_callout_func_init.md         |   0
 .../docs/os/core_os/callout/os_callout_init.md              |   0
 .../docs/os/core_os/callout/os_callout_queued.md            |   0
 .../docs/os/core_os/callout/os_callout_reset.md             |   0
 .../docs/os/core_os/callout/os_callout_stop.md              |   0
 .../docs/os/core_os/context_switch/context_switch.md        |   0
 .../docs/os/core_os/context_switch/os_arch_ctx_sw.md        |   0
 .../docs/os/core_os/context_switch/os_sched.md              |   0
 .../docs/os/core_os/context_switch/os_sched_ctx_sw_hook.md  |   0
 .../os/core_os/context_switch/os_sched_get_current_task.md  |   0
 .../docs/os/core_os/context_switch/os_sched_insert.md       |   0
 .../docs/os/core_os/context_switch/os_sched_next_task.md    |   0
 .../docs/os/core_os/context_switch/os_sched_os_timer_exp.md |   0
 .../docs/os/core_os/context_switch/os_sched_remove.md       |   0
 .../docs/os/core_os/context_switch/os_sched_resort.md       |   0
 .../os/core_os/context_switch/os_sched_set_current_task.md  |   0
 .../docs/os/core_os/context_switch/os_sched_sleep.md        |   0
 .../docs/os/core_os/context_switch/os_sched_wakeup.md       |   0
 .../docs/os/core_os/cputime/os_cputime.md                   |   0
 .../docs/os/core_os/cputime/os_cputime_delay_nsecs.md       |   0
 .../docs/os/core_os/cputime/os_cputime_delay_ticks.md       |   0
 .../docs/os/core_os/cputime/os_cputime_delay_usecs.md       |   0
 .../docs/os/core_os/cputime/os_cputime_get32.md             |   0
 .../docs/os/core_os/cputime/os_cputime_init.md              |   0
 .../docs/os/core_os/cputime/os_cputime_nsecs_to_ticks.md    |   0
 .../docs/os/core_os/cputime/os_cputime_ticks_to_nsecs.md    |   0
 .../docs/os/core_os/cputime/os_cputime_ticks_to_usecs.md    |   0
 .../docs/os/core_os/cputime/os_cputime_timer_init.md        |   0
 .../docs/os/core_os/cputime/os_cputime_timer_relative.md    |   0
 .../docs/os/core_os/cputime/os_cputime_timer_start.md       |   0
 .../docs/os/core_os/cputime/os_cputime_timer_stop.md        |   0
 .../docs/os/core_os/cputime/os_cputime_usecs_to_ticks.md    |   0
 .../docs/os/core_os/event_queue/event_queue.md              |   0
 .../docs/os/core_os/event_queue/os_eventq_designate.md      |   0
 .../docs/os/core_os/event_queue/os_eventq_dflt_get.md       |   0
 .../docs/os/core_os/event_queue/os_eventq_dflt_set.md       |   0
 .../docs/os/core_os/event_queue/os_eventq_get.md            |   0
 .../docs/os/core_os/event_queue/os_eventq_init.md           |   0
 .../docs/os/core_os/event_queue/os_eventq_inited.md         |   0
 .../docs/os/core_os/event_queue/os_eventq_put.md            |   0
 .../docs/os/core_os/event_queue/os_eventq_remove.md         |   0
 .../docs/os/core_os/event_queue/os_eventq_run.md            |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/heap/heap.md    |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/heap/os_free.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/heap/os_malloc.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/heap/os_realloc.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_DATA.md |   0
 .../docs/os/core_os/mbuf/OS_MBUF_LEADINGSPACE.md            |   0
 .../docs/os/core_os/mbuf/OS_MBUF_PKTHDR.md                  |   0
 .../docs/os/core_os/mbuf/OS_MBUF_PKTHDR_TO_MBUF.md          |   0
 .../docs/os/core_os/mbuf/OS_MBUF_PKTLEN.md                  |   0
 .../docs/os/core_os/mbuf/OS_MBUF_TRAILINGSPACE.md           |   0
 .../docs/os/core_os/mbuf/OS_MBUF_USRHDR.md                  |   0
 .../docs/os/core_os/mbuf/OS_MBUF_USRHDR_LEN.md              |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/mbuf.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_adj.md  |   0
 .../docs/os/core_os/mbuf/os_mbuf_append.md                  |   0
 .../docs/os/core_os/mbuf/os_mbuf_concat.md                  |   0
 .../docs/os/core_os/mbuf/os_mbuf_copydata.md                |   0
 .../docs/os/core_os/mbuf/os_mbuf_copyinto.md                |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_dup.md  |   0
 .../docs/os/core_os/mbuf/os_mbuf_extend.md                  |   0
 .../docs/os/core_os/mbuf/os_mbuf_free_chain.md              |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_get.md  |   0
 .../docs/os/core_os/mbuf/os_mbuf_get_pkthdr.md              |   0
 .../docs/os/core_os/mbuf/os_mbuf_memcmp.md                  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_off.md  |   0
 .../docs/os/core_os/mbuf/os_mbuf_pool_init.md               |   0
 .../docs/os/core_os/mbuf/os_mbuf_prepend.md                 |   0
 .../docs/os/core_os/mbuf/os_mbuf_pullup.md                  |   0
 .../docs/os/core_os/mbuf/pics/mbuf_fig1.png                 | Bin
 .../docs/os/core_os/mbuf/pics/mbuf_fig2.png                 | Bin
 .../docs/os/core_os/mbuf/pics/mbuf_fig3.png                 | Bin
 .../docs/os/core_os/memory_pool/OS_MEMPOOL_BYTES.md         |   0
 .../docs/os/core_os/memory_pool/OS_MEMPOOL_SIZE.md          |   0
 .../docs/os/core_os/memory_pool/memory_pool.md              |   0
 .../docs/os/core_os/memory_pool/os_memblock_get.md          |   0
 .../docs/os/core_os/memory_pool/os_memblock_put.md          |   0
 .../docs/os/core_os/memory_pool/os_mempool_info_get_next.md |   0
 .../docs/os/core_os/memory_pool/os_mempool_init.md          |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/mqueue/mqueue.md     |   0
 .../docs/os/core_os/mqueue/os_mqueue_get.md                 |   0
 .../docs/os/core_os/mqueue/os_mqueue_init.md                |   0
 .../docs/os/core_os/mqueue/os_mqueue_put.md                 |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/msys/msys.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/msys/os_msys_get.md  |   0
 .../docs/os/core_os/msys/os_msys_get_pkthdr.md              |   0
 .../docs/os/core_os/msys/os_msys_register.md                |   0
 .../docs/os/core_os/msys/os_msys_reset.md                   |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mutex/mutex.md  |   0
 .../docs/os/core_os/mutex/os_mutex_init.md                  |   0
 .../docs/os/core_os/mutex/os_mutex_pend.md                  |   0
 .../docs/os/core_os/mutex/os_mutex_release.md               |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mynewt_os.md    |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/os_init.md      |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/os_start.md     |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/os_started.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/porting/port_bsp.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/porting/port_cpu.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/porting/port_mcu.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/porting/port_os.md   |   0
 .../docs/os/core_os/sanity/os_sanity_check_init.md          |   0
 .../docs/os/core_os/sanity/os_sanity_check_register.md      |   0
 .../docs/os/core_os/sanity/os_sanity_check_reset.md         |   0
 .../docs/os/core_os/sanity/os_sanity_task_checkin.md        |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/sanity/sanity.md     |   0
 .../docs/os/core_os/semaphore/os_sem_init.md                |   0
 .../docs/os/core_os/semaphore/os_sem_pend.md                |   0
 .../docs/os/core_os/semaphore/os_sem_release.md             |   0
 .../docs/os/core_os/semaphore/semaphore.md                  |   0
 .../docs/os/core_os/task/os_task_count.md                   |   0
 .../docs/os/core_os/task/os_task_info_get_next.md           |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/task/os_task_init.md |   0
 .../docs/os/core_os/task/os_task_remove.md                  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/task/task.md    |   0
 .../docs/os/core_os/time/os_get_uptime_usec.md              |   0
 .../docs/os/core_os/time/os_gettimeofday.md                 |   0
 .../docs/os/core_os/time/os_settimeofday.md                 |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_time.md |   0
 .../docs/os/core_os/time/os_time_advance.md                 |   0
 .../docs/os/core_os/time/os_time_delay.md                   |   0
 .../{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_time_get.md  |   0
 .../docs/os/core_os/time/os_time_ms_to_ticks.md             |   0
 .../v1_2_0/docs}/os/get_started/cross_tools.md              |   0
 {docs => versions/v1_2_0/docs}/os/get_started/docker.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/get_started/get_started.md   |   0
 .../docs/os/get_started/native_install_intro.md             |   0
 .../{v1_1_0 => v1_2_0}/docs/os/get_started/native_tools.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/get_started/pics/ft232h.png  | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/get_started/pics/m0pro.png   | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/get_started/pics/nrf52dk.png | Bin
 .../docs/os/get_started/pics/virtualbox_usb.jpg             | Bin
 .../docs/os/get_started/project_create.md                   |   0
 .../{v1_1_0 => v1_2_0}/docs/os/get_started/serial_access.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/get_started/vocabulary.md    |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/introduction.md         |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/baselibc.md     |   0
 .../docs/os/modules/bootloader/boot_build_status.md         |   0
 .../docs/os/modules/bootloader/boot_build_status_one.md     |   0
 .../docs/os/modules/bootloader/boot_clear_status.md         |   0
 .../docs/os/modules/bootloader/boot_copy_area.md            |   0
 .../docs/os/modules/bootloader/boot_copy_image.md           |   0
 .../docs/os/modules/bootloader/boot_erase_area.md           |   0
 .../docs/os/modules/bootloader/boot_fill_slot.md            |   0
 .../docs/os/modules/bootloader/boot_find_image_area_idx.md  |   0
 .../docs/os/modules/bootloader/boot_find_image_part.md      |   0
 .../docs/os/modules/bootloader/boot_find_image_slot.md      |   0
 .../docs/os/modules/bootloader/boot_go.md                   |   0
 .../docs/os/modules/bootloader/boot_init_flash.md           |   0
 .../docs/os/modules/bootloader/boot_move_area.md            |   0
 .../docs/os/modules/bootloader/boot_read_image_header.md    |   0
 .../docs/os/modules/bootloader/boot_read_image_headers.md   |   0
 .../docs/os/modules/bootloader/boot_read_status.md          |   0
 .../docs/os/modules/bootloader/boot_select_image_slot.md    |   0
 .../docs/os/modules/bootloader/boot_slot_addr.md            |   0
 .../docs/os/modules/bootloader/boot_slot_to_area_idx.md     |   0
 .../docs/os/modules/bootloader/boot_swap_areas.md           |   0
 .../docs/os/modules/bootloader/boot_vect_delete_main.md     |   0
 .../docs/os/modules/bootloader/boot_vect_delete_test.md     |   0
 .../docs/os/modules/bootloader/boot_vect_read_main.md       |   0
 .../docs/os/modules/bootloader/boot_vect_read_one.md        |   0
 .../docs/os/modules/bootloader/boot_vect_read_test.md       |   0
 .../docs/os/modules/bootloader/boot_write_status.md         |   0
 .../docs/os/modules/bootloader/bootloader.md                |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/console/console.md   |   0
 .../docs/os/modules/console/console_echo.md                 |   0
 .../docs/os/modules/console/console_init.md                 |   0
 .../docs/os/modules/console/console_is_init.md              |   0
 .../docs/os/modules/console/console_printf.md               |   0
 .../docs/os/modules/console/console_read.md                 |   0
 .../docs/os/modules/console/console_set_queues.md           |   0
 .../docs/os/modules/console/console_write.md                |   0
 .../docs/os/modules/devmgmt/customize_newtmgr.md            |   0
 .../docs/os/modules/devmgmt/device-mgmt.png                 | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/modules/devmgmt/newtmgr.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/devmgmt/oicmgr.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/drivers/driver.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/drivers/flash.md     |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/drivers/mmc.md  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/elua/elua.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/elua/lua_init.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/elua/lua_main.md     |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb.md      |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_append.md    |   0
 .../docs/os/modules/fcb/fcb_append_finish.md                |   0
 .../docs/os/modules/fcb/fcb_append_to_scratch.md            |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_clear.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_getnext.md   |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_init.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_is_empty.md  |   0
 .../docs/os/modules/fcb/fcb_offset_last_n.md                |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_rotate.md    |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_walk.md |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fatfs.md     |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_close.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_closedir.md |   0
 .../docs/os/modules/fs/fs/fs_dirent_is_dir.md               |   0
 .../docs/os/modules/fs/fs/fs_dirent_name.md                 |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_filelen.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_getpos.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_mkdir.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_open.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_opendir.md  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_ops.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_read.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_readdir.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_register.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_rename.md   |   0
 .../docs/os/modules/fs/fs/fs_return_codes.md                |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_seek.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_unlink.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_write.md    |   0
 .../docs/os/modules/fs/fs/fsutil_read_file.md               |   0
 .../docs/os/modules/fs/fs/fsutil_write_file.md              |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs.md |   0
 .../docs/os/modules/fs/nffs/nffs_area_desc.md               |   0
 .../docs/os/modules/fs/nffs/nffs_config.md                  |   0
 .../docs/os/modules/fs/nffs/nffs_detect.md                  |   0
 .../docs/os/modules/fs/nffs/nffs_format.md                  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs_init.md |   0
 .../docs/os/modules/fs/nffs/nffs_internals.md               |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/otherfs.md   |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal.md      |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_api.md  |   0
 .../docs/os/modules/hal/hal_bsp/hal_bsp.md                  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_creation.md  |   0
 .../docs/os/modules/hal/hal_flash/hal_flash.md              |   0
 .../docs/os/modules/hal/hal_flash/hal_flash_int.md          |   0
 .../docs/os/modules/hal/hal_gpio/hal_gpio.md                |   0
 .../docs/os/modules/hal/hal_i2c/hal_i2c.md                  |   0
 .../docs/os/modules/hal/hal_in_libraries.md                 |   0
 .../docs/os/modules/hal/hal_os_tick/hal_os_tick.md          |   0
 .../docs/os/modules/hal/hal_spi/hal_spi.md                  |   0
 .../docs/os/modules/hal/hal_system/hal_sys.md               |   0
 .../docs/os/modules/hal/hal_timer/hal_timer.md              |   0
 .../docs/os/modules/hal/hal_uart/hal_uart.md                |   0
 .../docs/os/modules/hal/hal_watchdog/hal_watchdog.md        |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/imgmgr/imgmgr.md     |   0
 .../docs/os/modules/imgmgr/imgmgr_module_init.md            |   0
 .../docs/os/modules/imgmgr/imgr_ver_parse.md                |   0
 .../docs/os/modules/imgmgr/imgr_ver_str.md                  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/json/json.md    |   0
 .../docs/os/modules/json/json_encode_object_entry.md        |   0
 .../docs/os/modules/json/json_encode_object_finish.md       |   0
 .../docs/os/modules/json/json_encode_object_key.md          |   0
 .../docs/os/modules/json/json_encode_object_start.md        |   0
 .../docs/os/modules/json/json_read_object.md                |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/logs/logs.md    |   0
 .../docs/os/modules/sensor_framework/sensor_api.md          |   0
 .../docs/os/modules/sensor_framework/sensor_create.md       |   0
 .../docs/os/modules/sensor_framework/sensor_driver.md       |   0
 .../docs/os/modules/sensor_framework/sensor_framework.png   | Bin
 .../modules/sensor_framework/sensor_framework_overview.md   |   0
 .../docs/os/modules/sensor_framework/sensor_listener_api.md |   0
 .../docs/os/modules/sensor_framework/sensor_mgr_api.md      |   0
 .../docs/os/modules/sensor_framework/sensor_oic.md          |   0
 .../docs/os/modules/sensor_framework/sensor_shell.md        |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell.md  |   0
 .../docs/os/modules/shell/shell_cmd_register.md             |   0
 .../docs/os/modules/shell/shell_evq_set.md                  |   0
 .../docs/os/modules/shell/shell_nlip_input_register.md      |   0
 .../docs/os/modules/shell/shell_nlip_output.md              |   0
 .../docs/os/modules/shell/shell_register.md                 |   0
 .../docs/os/modules/shell/shell_register_app_cmd_handler.md |   0
 .../docs/os/modules/shell/shell_register_default_module.md  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/split/split.md  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/modules/stats/stats.md  |   0
 .../docs/os/modules/sysinitconfig/sysconfig_error.md        |   0
 .../docs/os/modules/sysinitconfig/sysinitconfig.md          |   0
 .../docs/os/modules/testutil/test_assert.md                 |   0
 .../docs/os/modules/testutil/test_case.md                   |   0
 .../docs/os/modules/testutil/test_decl.md                   |   0
 .../docs/os/modules/testutil/test_pass.md                   |   0
 .../docs/os/modules/testutil/test_suite.md                  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/testutil/testutil.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/modules/testutil/tu_init.md  |   0
 .../docs/os/modules/testutil/tu_restart.md                  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/os_user_guide.md        |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/STM32F303.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/add_newtmgr.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/air_quality_ble.md |   0
 .../docs/os/tutorials/air_quality_sensor.md                 |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/arduino_zero.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/ble_bare_bones.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/blehci_project.md  |   0
 .../docs/os/tutorials/bleprph/bleprph-adv.md                |   0
 .../docs/os/tutorials/bleprph/bleprph-app.md                |   0
 .../docs/os/tutorials/bleprph/bleprph-chr-access.md         |   0
 .../docs/os/tutorials/bleprph/bleprph-conn.md               |   0
 .../docs/os/tutorials/bleprph/bleprph-gap-event.md          |   0
 .../docs/os/tutorials/bleprph/bleprph-intro.md              |   0
 .../docs/os/tutorials/bleprph/bleprph-svc-reg.md            |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky.md     |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky_console.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky_primo.md    |   0
 .../docs/os/tutorials/blinky_sram_olimex.md                 |   0
 .../docs/os/tutorials/blinky_stm32f4disc.md                 |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky_windows.md  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/codesize.md   |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/define_target.md   |   0
 .../docs/os/tutorials/downloads/openocd-wnrf52.tgz          | Bin
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/eddystone.md  |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/event_queue.md     |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/ibeacon.md    |   0
 .../v1_2_0/docs}/os/tutorials/lora/lorawanapp.md            |   0
 {docs => versions/v1_2_0/docs}/os/tutorials/nRF52.md        |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/nrf52_adc.md  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/olimex.md     |   0
 .../docs/os/tutorials/ota_upgrade_nrf52.md                  |   0
 .../docs/os/tutorials/pics/BNO055_small.jpg                 | Bin
 .../docs/os/tutorials/pics/LightBlue-1.jpg                  | Bin
 .../docs/os/tutorials/pics/LightBlue-2.jpg                  | Bin
 .../docs/os/tutorials/pics/LightBlue-3.jpg                  | Bin
 .../docs/os/tutorials/pics/LightBlue-4.jpg                  | Bin
 .../docs/os/tutorials/pics/LightBlue-5.jpg                  | Bin
 .../docs/os/tutorials/pics/LightBlue-6.jpg                  | Bin
 .../docs/os/tutorials/pics/MyNewtSensorReader.jpg           | Bin
 .../docs/os/tutorials/pics/MyNewtSensorReader006.jpg        | Bin
 .../docs/os/tutorials/pics/NRF52_I2C_small.jpg              | Bin
 .../docs/os/tutorials/pics/STM32-E407_bot_small.jpg         | Bin
 .../docs/os/tutorials/pics/STM32-E407_top_small.jpg         | Bin
 .../docs/os/tutorials/pics/STM32f3discovery_connector.png   | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/Senseair1.png | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/Senseair2.png | Bin
 .../docs/os/tutorials/pics/adc-demo-1.png                   | Bin
 .../docs/os/tutorials/pics/adc-demo-2.png                   | Bin
 .../docs/os/tutorials/pics/arduino_wifi.png                 | Bin
 .../docs/os/tutorials/pics/bottomview.png                   | Bin
 .../docs/os/tutorials/pics/breadboard.png                   | Bin
 .../docs/os/tutorials/pics/device_manager_ft232H.png        | Bin
 .../docs/os/tutorials/pics/device_manager_no_ft232H.png     | Bin
 .../docs/os/tutorials/pics/mkr1000-jlink.jpg                | Bin
 .../docs/os/tutorials/pics/mkr1000-serial.jpg               | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/nrf52.JPG     | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/nrf52.png     | Bin
 .../docs/os/tutorials/pics/primo-jlink.jpg                  | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/putty.png     | Bin
 .../docs/os/tutorials/pics/segger_sysview1.png              | Bin
 .../docs/os/tutorials/pics/segger_sysview_recording.png     | Bin
 .../docs/os/tutorials/pics/segger_sysview_start_record.png  | Bin
 .../docs/os/tutorials/pics/serial_conn.png                  | Bin
 .../os/tutorials/pics/smart_controller_accelerometer.png    | Bin
 .../docs/os/tutorials/pics/smart_controller_main.png        | Bin
 .../docs/os/tutorials/pics/stm32f4_disc.jpg                 | Bin
 .../docs/os/tutorials/pics/task_lesson.png                  | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/thingy.jpg    | Bin
 .../docs/os/tutorials/pics/thingy_jlink.jpg                 | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/topview.png   | Bin
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/pin-wheel-mods.md  |   0
 .../v1_2_0/docs}/os/tutorials/project-nrf52-slinky.md       |   0
 .../docs/os/tutorials/project-sim-slinky.md                 |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/project-slinky.md  |   0
 .../docs/os/tutorials/project-stm32-slinky.md               |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/rbnano2.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/repo/add_repos.md  |   0
 .../docs/os/tutorials/repo/create_repo.md                   |   0
 .../docs/os/tutorials/repo/private_repo.md                  |   0
 .../docs/os/tutorials/repo/upgrade_repo.md                  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/segger_rtt.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/segger_sysview.md  |   0
 .../docs/os/tutorials/sensors/sensor_bleprph_oic.md         |   0
 .../docs/os/tutorials/sensors/sensor_nrf52_bno055.md        |   0
 .../docs/os/tutorials/sensors/sensor_nrf52_bno055_oic.md    |   0
 .../docs/os/tutorials/sensors/sensor_offboard_config.md     |   0
 .../docs/os/tutorials/sensors/sensor_oic_overview.md        |   0
 .../docs/os/tutorials/sensors/sensor_thingy_lis2dh12_onb.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/sensors/sensors.md |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/tasks_lesson.md    |   0
 .../{v1_1_0 => v1_2_0}/docs/os/tutorials/try_markdown.md    |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/tutorials.md  |   0
 versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/unit_test.md  |   0
 .../docs/os/tutorials/wi-fi_on_arduino.md                   |   0
 versions/{v1_1_0 => v1_2_0}/docs/pages/ble.md               |   0
 versions/{v1_1_0 => v1_2_0}/docs/pages/configurability.md   |   0
 versions/{v1_1_0 => v1_2_0}/docs/pages/securitybullets.md   |   0
 versions/{v1_1_0 => v1_2_0}/docs/quick-start.md             |   0
 versions/{v1_1_0 => v1_2_0}/docs/talks.md                   |   0
 mkdocs.yml => versions/v1_2_0/mkdocs.yml                    |   5 ++++-
 562 files changed, 7 insertions(+), 1 deletion(-)
 copy versions/{v1_1_0 => v1_2_0}/custom-theme (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/about.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/community.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/documentation.md (100%)
 copy {docs => versions/v1_2_0/docs}/download.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/events.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/extra.css (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/answers.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/go_env.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/how_to_edit_docs.md (100%)
 copy {docs => versions/v1_2_0/docs}/faq/ide.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/mynewt_dev_cycle.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/debug_new_config_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/gdb_debug_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/gdb_server_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/gdb_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/integrated_terminal_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/launch_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/task_json_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/task_runner_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/task_select_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/faq/pics/task_start_small.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/images/egg-logo2.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/index.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/known_issues.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_att/ble_att.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_att/functions/ble_att_mtu.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_att/functions/ble_att_preferred_mtu.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_att/functions/ble_att_set_preferred_mtu.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_att/functions/ble_att_svr_read_local.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_att/mdtoc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/ble_gap.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/definitions/ble_gap_defs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_active.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_data.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_fields.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_data.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_fields.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_phys.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_tx_power.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_start.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_stop.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_active.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_cancel.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_find.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_rssi.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_connect.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc_active.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc_cancel.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_ext_connect.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_ext_disc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_read_le_phy.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_security_initiate.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_event_cb.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_prefered_default_le_phy.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_prefered_le_phy.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_priv_mode.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_terminate.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_update_params.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_wl_set.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gap/mdtoc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/ble_gattc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/definitions/ble_gattc_defs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_chrs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_dscs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_svcs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_chrs_by_uuid.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_svc_by_uuid.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_exchange_mtu.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_find_inc_svcs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate_custom.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_by_uuid.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_long.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_mult.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_flat.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp_flat.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_reliable.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gattc/mdtoc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/ble_gatts.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_cfg.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_dsc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_svc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_svc_set_visibility.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_gatts/mdtoc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_hs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_hs_id/ble_hs_id.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_copy_addr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_gen_rnd.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_set_rnd.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_hs_id/mdtoc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/ble_hs_return_codes.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_uid.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_url.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_hs_evq_set.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_att_pkt.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_from_flat.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_to_flat.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_hs_sched_reset.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_hs_synced.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_ibeacon_set_adv_data.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_uuid_cmp.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_uuid_init_from_buf.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_uuid_to_str.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/functions/ble_uuid_u16.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/mdtoc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_hs/other/other.md (100%)
 copy {docs => versions/v1_2_0/docs}/network/ble/ble_intro.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_sec.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_setup/ble_addr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_setup/ble_lp_clock.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_setup/ble_setup_intro.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/ble_setup/ble_sync_cb.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/bletiny/bletiny_GAP.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/bletiny/bletiny_GATT.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/bletiny/bletiny_advdata.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/bletiny/bletiny_api.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/bletiny_api.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/btshell/btshell_GAP.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/btshell/btshell_GATT.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/btshell/btshell_advdata.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/network/ble/btshell/btshell_api.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/news/article1.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_build.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_clean.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_complete.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_create_image.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_debug.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_help.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_info.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_install.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_load.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_mfg.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_new.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_pkg.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_resign_image.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_run.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_size.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_sync.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_target.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_test.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_upgrade.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_vals.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/command_list/newt_version.md (100%)
 copy {docs => versions/v1_2_0/docs}/newt/install/newt_linux.md (100%)
 copy {docs => versions/v1_2_0/docs}/newt/install/newt_mac.md (100%)
 copy {docs => versions/v1_2_0/docs}/newt/install/newt_windows.md (100%)
 copy {docs => versions/v1_2_0/docs}/newt/install/prev_releases.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/newt_intro.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/newt_operation.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newt/newt_ops.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_config.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_conn.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_crash.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_datetime.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_echo.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_fs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_image.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_logs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_mpstats.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_reset.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_run.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_stat.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/command_list/newtmgr_taskstats.md (100%)
 copy {docs => versions/v1_2_0/docs}/newtmgr/install_linux.md (100%)
 copy {docs => versions/v1_2_0/docs}/newtmgr/install_mac.md (100%)
 copy {docs => versions/v1_2_0/docs}/newtmgr/install_windows.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/overview.md (100%)
 copy {docs => versions/v1_2_0/docs}/newtmgr/prev_releases.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/newtmgr/protocol.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/callout/callout.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/callout/os_callout_func_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/callout/os_callout_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/callout/os_callout_queued.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/callout/os_callout_reset.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/callout/os_callout_stop.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/context_switch.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_arch_ctx_sw.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_ctx_sw_hook.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_get_current_task.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_insert.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_next_task.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_os_timer_exp.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_remove.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_resort.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_set_current_task.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_sleep.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/context_switch/os_sched_wakeup.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_delay_nsecs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_delay_ticks.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_delay_usecs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_get32.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_nsecs_to_ticks.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_ticks_to_nsecs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_ticks_to_usecs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_timer_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_timer_relative.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_timer_start.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_timer_stop.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/cputime/os_cputime_usecs_to_ticks.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/event_queue.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_designate.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_dflt_get.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_dflt_set.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_get.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_inited.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_put.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_remove.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/event_queue/os_eventq_run.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/heap/heap.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/heap/os_free.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/heap/os_malloc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/heap/os_realloc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_DATA.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_LEADINGSPACE.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_PKTHDR.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_PKTHDR_TO_MBUF.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_PKTLEN.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_TRAILINGSPACE.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_USRHDR.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/OS_MBUF_USRHDR_LEN.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/mbuf.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_adj.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_append.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_concat.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_copydata.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_copyinto.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_dup.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_extend.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_free_chain.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_get.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_get_pkthdr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_memcmp.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_off.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_pool_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_prepend.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/os_mbuf_pullup.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/pics/mbuf_fig1.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/pics/mbuf_fig2.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mbuf/pics/mbuf_fig3.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/memory_pool/OS_MEMPOOL_BYTES.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/memory_pool/OS_MEMPOOL_SIZE.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/memory_pool/memory_pool.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/memory_pool/os_memblock_get.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/memory_pool/os_memblock_put.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/memory_pool/os_mempool_info_get_next.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/memory_pool/os_mempool_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mqueue/mqueue.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mqueue/os_mqueue_get.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mqueue/os_mqueue_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mqueue/os_mqueue_put.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/msys/msys.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/msys/os_msys_get.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/msys/os_msys_get_pkthdr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/msys/os_msys_register.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/msys/os_msys_reset.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mutex/mutex.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mutex/os_mutex_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mutex/os_mutex_pend.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mutex/os_mutex_release.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/mynewt_os.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/os_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/os_start.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/os_started.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/porting/port_bsp.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/porting/port_cpu.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/porting/port_mcu.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/porting/port_os.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/sanity/os_sanity_check_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/sanity/os_sanity_check_register.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/sanity/os_sanity_check_reset.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/sanity/os_sanity_task_checkin.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/sanity/sanity.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/semaphore/os_sem_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/semaphore/os_sem_pend.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/semaphore/os_sem_release.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/semaphore/semaphore.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/task/os_task_count.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/task/os_task_info_get_next.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/task/os_task_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/task/os_task_remove.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/task/task.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_get_uptime_usec.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_gettimeofday.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_settimeofday.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_time.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_time_advance.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_time_delay.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_time_get.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/core_os/time/os_time_ms_to_ticks.md (100%)
 copy {docs => versions/v1_2_0/docs}/os/get_started/cross_tools.md (100%)
 copy {docs => versions/v1_2_0/docs}/os/get_started/docker.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/get_started.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/native_install_intro.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/native_tools.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/pics/ft232h.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/pics/m0pro.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/pics/nrf52dk.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/pics/virtualbox_usb.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/project_create.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/serial_access.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/get_started/vocabulary.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/introduction.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/baselibc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_build_status.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_build_status_one.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_clear_status.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_copy_area.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_copy_image.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_erase_area.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_fill_slot.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_find_image_area_idx.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_find_image_part.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_find_image_slot.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_go.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_init_flash.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_move_area.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_read_image_header.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_read_image_headers.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_read_status.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_select_image_slot.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_slot_addr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_slot_to_area_idx.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_swap_areas.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_vect_delete_main.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_vect_delete_test.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_vect_read_main.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_vect_read_one.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_vect_read_test.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/boot_write_status.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/bootloader/bootloader.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/console/console.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/console/console_echo.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/console/console_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/console/console_is_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/console/console_printf.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/console/console_read.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/console/console_set_queues.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/console/console_write.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/devmgmt/customize_newtmgr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/devmgmt/device-mgmt.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/devmgmt/newtmgr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/devmgmt/oicmgr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/drivers/driver.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/drivers/flash.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/drivers/mmc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/elua/elua.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/elua/lua_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/elua/lua_main.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_append.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_append_finish.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_append_to_scratch.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_clear.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_getnext.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_is_empty.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_offset_last_n.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_rotate.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fcb/fcb_walk.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fatfs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_close.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_closedir.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_dirent_is_dir.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_dirent_name.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_filelen.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_getpos.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_mkdir.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_open.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_opendir.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_ops.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_read.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_readdir.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_register.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_rename.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_return_codes.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_seek.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_unlink.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fs_write.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fsutil_read_file.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/fs/fsutil_write_file.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs_area_desc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs_config.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs_detect.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs_format.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/nffs/nffs_internals.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/fs/otherfs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_api.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_bsp/hal_bsp.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_creation.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_flash/hal_flash.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_flash/hal_flash_int.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_gpio/hal_gpio.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_i2c/hal_i2c.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_in_libraries.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_os_tick/hal_os_tick.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_spi/hal_spi.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_system/hal_sys.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_timer/hal_timer.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_uart/hal_uart.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/hal/hal_watchdog/hal_watchdog.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/imgmgr/imgmgr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/imgmgr/imgmgr_module_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/imgmgr/imgr_ver_parse.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/imgmgr/imgr_ver_str.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/json/json.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/json/json_encode_object_entry.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/json/json_encode_object_finish.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/json/json_encode_object_key.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/json/json_encode_object_start.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/json/json_read_object.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/logs/logs.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_api.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_create.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_driver.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_framework.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_framework_overview.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_listener_api.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_mgr_api.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_oic.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sensor_framework/sensor_shell.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell_cmd_register.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell_evq_set.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell_nlip_input_register.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell_nlip_output.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell_register.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell_register_app_cmd_handler.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/shell/shell_register_default_module.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/split/split.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/stats/stats.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sysinitconfig/sysconfig_error.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/sysinitconfig/sysinitconfig.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/testutil/test_assert.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/testutil/test_case.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/testutil/test_decl.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/testutil/test_pass.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/testutil/test_suite.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/testutil/testutil.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/testutil/tu_init.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/modules/testutil/tu_restart.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/os_user_guide.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/STM32F303.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/add_newtmgr.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/air_quality_ble.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/air_quality_sensor.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/arduino_zero.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/ble_bare_bones.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/blehci_project.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/bleprph/bleprph-adv.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/bleprph/bleprph-app.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/bleprph/bleprph-chr-access.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/bleprph/bleprph-conn.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/bleprph/bleprph-gap-event.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/bleprph/bleprph-intro.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/bleprph/bleprph-svc-reg.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky_console.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky_primo.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky_sram_olimex.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky_stm32f4disc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/blinky_windows.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/codesize.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/define_target.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/downloads/openocd-wnrf52.tgz (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/eddystone.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/event_queue.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/ibeacon.md (100%)
 copy {docs => versions/v1_2_0/docs}/os/tutorials/lora/lorawanapp.md (100%)
 copy {docs => versions/v1_2_0/docs}/os/tutorials/nRF52.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/nrf52_adc.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/olimex.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/ota_upgrade_nrf52.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/BNO055_small.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/LightBlue-1.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/LightBlue-2.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/LightBlue-3.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/LightBlue-4.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/LightBlue-5.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/LightBlue-6.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/MyNewtSensorReader.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/MyNewtSensorReader006.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/NRF52_I2C_small.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/STM32-E407_bot_small.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/STM32-E407_top_small.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/STM32f3discovery_connector.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/Senseair1.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/Senseair2.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/adc-demo-1.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/adc-demo-2.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/arduino_wifi.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/bottomview.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/breadboard.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/device_manager_ft232H.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/device_manager_no_ft232H.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/mkr1000-jlink.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/mkr1000-serial.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/nrf52.JPG (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/nrf52.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/primo-jlink.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/putty.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/segger_sysview1.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/segger_sysview_recording.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/segger_sysview_start_record.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/serial_conn.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/smart_controller_accelerometer.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/smart_controller_main.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/stm32f4_disc.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/task_lesson.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/thingy.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/thingy_jlink.jpg (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pics/topview.png (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/pin-wheel-mods.md (100%)
 copy {docs => versions/v1_2_0/docs}/os/tutorials/project-nrf52-slinky.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/project-sim-slinky.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/project-slinky.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/project-stm32-slinky.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/rbnano2.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/repo/add_repos.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/repo/create_repo.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/repo/private_repo.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/repo/upgrade_repo.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/segger_rtt.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/segger_sysview.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/sensors/sensor_bleprph_oic.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/sensors/sensor_nrf52_bno055.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/sensors/sensor_nrf52_bno055_oic.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/sensors/sensor_offboard_config.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/sensors/sensor_oic_overview.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/sensors/sensor_thingy_lis2dh12_onb.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/sensors/sensors.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/tasks_lesson.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/try_markdown.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/tutorials.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/unit_test.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/os/tutorials/wi-fi_on_arduino.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/pages/ble.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/pages/configurability.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/pages/securitybullets.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/quick-start.md (100%)
 copy versions/{v1_1_0 => v1_2_0}/docs/talks.md (100%)
 copy mkdocs.yml => versions/v1_2_0/mkdocs.yml (99%)

-- 
To stop receiving notification emails like this one, please contact
['"commits@mynewt.apache.org" <co...@mynewt.apache.org>'].

[mynewt-site] 02/03: changed version number in versions/v1_2_0/mkdocs.yml

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

aditi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-site.git

commit 61d60b11c8fa47d44c91b6ce3832c61e95f27a17
Author: aditihilbert <ad...@runtime.io>
AuthorDate: Wed Dec 13 13:40:20 2017 -0800

    changed version number in versions/v1_2_0/mkdocs.yml
---
 versions/v1_2_0/mkdocs.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/versions/v1_2_0/mkdocs.yml b/versions/v1_2_0/mkdocs.yml
index e423be7..71bd8d2 100644
--- a/versions/v1_2_0/mkdocs.yml
+++ b/versions/v1_2_0/mkdocs.yml
@@ -612,7 +612,7 @@ markdown_extensions:
         pygments_style: xcode
 
 extra:
-    version: 'latest'
+    version: 'v1_2_0'
     versions:
         - label: 'master'
           dir: 'latest'

-- 
To stop receiving notification emails like this one, please contact
"commits@mynewt.apache.org" <co...@mynewt.apache.org>.

[mynewt-site] 01/03: added a new directory for v1.2 under versions

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

aditi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-site.git

commit 4f5a7e556eccc359b9babe54d9f98451a82f5b9e
Author: aditihilbert <ad...@runtime.io>
AuthorDate: Wed Dec 13 13:23:33 2017 -0800

    added a new directory for v1.2 under versions
---
 mkdocs.yml                                         |   3 +
 versions/v1_2_0/custom-theme                       |   1 +
 versions/v1_2_0/docs/about.md                      |  25 +
 versions/v1_2_0/docs/community.md                  |   8 +
 versions/v1_2_0/docs/documentation.md              |   5 +
 versions/v1_2_0/docs/download.md                   |  55 ++
 versions/v1_2_0/docs/events.md                     |   3 +
 versions/v1_2_0/docs/extra.css                     |  19 +
 versions/v1_2_0/docs/faq/answers.md                |  74 ++
 versions/v1_2_0/docs/faq/go_env.md                 | 182 +++++
 versions/v1_2_0/docs/faq/how_to_edit_docs.md       |  55 ++
 versions/v1_2_0/docs/faq/ide.md                    | 252 ++++++
 versions/v1_2_0/docs/faq/mynewt_dev_cycle.jpg      | Bin 0 -> 255157 bytes
 .../docs/faq/pics/debug_new_config_small.png       | Bin 0 -> 71855 bytes
 versions/v1_2_0/docs/faq/pics/gdb_debug_small.png  | Bin 0 -> 134895 bytes
 versions/v1_2_0/docs/faq/pics/gdb_server_small.png | Bin 0 -> 99128 bytes
 versions/v1_2_0/docs/faq/pics/gdb_small.png        | Bin 0 -> 59655 bytes
 .../docs/faq/pics/integrated_terminal_small.png    | Bin 0 -> 51077 bytes
 versions/v1_2_0/docs/faq/pics/launch_small.png     | Bin 0 -> 92234 bytes
 versions/v1_2_0/docs/faq/pics/task_json_small.png  | Bin 0 -> 93487 bytes
 .../v1_2_0/docs/faq/pics/task_runner_small.png     | Bin 0 -> 92407 bytes
 .../v1_2_0/docs/faq/pics/task_select_small.png     | Bin 0 -> 66049 bytes
 versions/v1_2_0/docs/faq/pics/task_start_small.png | Bin 0 -> 99242 bytes
 versions/v1_2_0/docs/images/egg-logo2.png          | Bin 0 -> 7241 bytes
 versions/v1_2_0/docs/index.md                      |   1 +
 versions/v1_2_0/docs/known_issues.md               |  18 +
 .../docs/network/ble/ble_hs/ble_att/ble_att.md     |  27 +
 .../ble/ble_hs/ble_att/functions/ble_att_mtu.md    |  20 +
 .../ble_att/functions/ble_att_preferred_mtu.md     |  18 +
 .../ble_att/functions/ble_att_set_preferred_mtu.md |  23 +
 .../ble_att/functions/ble_att_svr_read_local.md    |  28 +
 .../ble_att/functions/ble_att_svr_write_local.md   |  28 +
 .../docs/network/ble/ble_hs/ble_att/mdtoc.md       |   8 +
 .../docs/network/ble/ble_hs/ble_gap/ble_gap.md     |  48 ++
 .../ble/ble_hs/ble_gap/definitions/ble_gap_defs.md | 582 ++++++++++++++
 .../ble_hs/ble_gap/functions/ble_gap_adv_active.md |  21 +
 .../ble_gap/functions/ble_gap_adv_rsp_set_data.md  |  28 +
 .../functions/ble_gap_adv_rsp_set_fields.md        |  24 +
 .../ble_gap/functions/ble_gap_adv_set_data.md      |  28 +
 .../ble_gap/functions/ble_gap_adv_set_fields.md    |  25 +
 .../ble_gap/functions/ble_gap_adv_set_phys.md      |  26 +
 .../ble_gap/functions/ble_gap_adv_set_tx_power.md  |  25 +
 .../ble_hs/ble_gap/functions/ble_gap_adv_start.md  |  35 +
 .../ble_hs/ble_gap/functions/ble_gap_adv_stop.md   |  22 +
 .../ble_gap/functions/ble_gap_conn_active.md       |  21 +
 .../ble_gap/functions/ble_gap_conn_cancel.md       |  21 +
 .../ble_hs/ble_gap/functions/ble_gap_conn_find.md  |  27 +
 .../ble_hs/ble_gap/functions/ble_gap_conn_rssi.md  |  28 +
 .../ble_hs/ble_gap/functions/ble_gap_connect.md    |  38 +
 .../ble/ble_hs/ble_gap/functions/ble_gap_disc.md   |  33 +
 .../ble_gap/functions/ble_gap_disc_active.md       |  21 +
 .../ble_gap/functions/ble_gap_disc_cancel.md       |  22 +
 .../ble_gap/functions/ble_gap_ext_connect.md       |  41 +
 .../ble_hs/ble_gap/functions/ble_gap_ext_disc.md   |  44 ++
 .../ble_gap/functions/ble_gap_read_le_phy.md       |  29 +
 .../ble_gap/functions/ble_gap_security_initiate.md |  25 +
 .../ble_gap/functions/ble_gap_set_event_cb.md      |  29 +
 .../ble_gap_set_prefered_default_le_phy.md         |  27 +
 .../functions/ble_gap_set_prefered_le_phy.md       |  30 +
 .../ble_gap/functions/ble_gap_set_priv_mode.md     |  31 +
 .../ble_hs/ble_gap/functions/ble_gap_terminate.md  |  28 +
 .../ble_gap/functions/ble_gap_update_params.md     |  30 +
 .../ble/ble_hs/ble_gap/functions/ble_gap_wl_set.md |  27 +
 .../docs/network/ble/ble_hs/ble_gap/mdtoc.md       |  26 +
 .../docs/network/ble/ble_hs/ble_gattc/ble_gattc.md |  41 +
 .../ble_hs/ble_gattc/definitions/ble_gattc_defs.md |  91 +++
 .../ble_gattc/functions/ble_gattc_disc_all_chrs.md |  33 +
 .../ble_gattc/functions/ble_gattc_disc_all_dscs.md |  33 +
 .../ble_gattc/functions/ble_gattc_disc_all_svcs.md |  26 +
 .../functions/ble_gattc_disc_chrs_by_uuid.md       |  35 +
 .../functions/ble_gattc_disc_svc_by_uuid.md        |  31 +
 .../ble_gattc/functions/ble_gattc_exchange_mtu.md  |  29 +
 .../ble_gattc/functions/ble_gattc_find_inc_svcs.md |  33 +
 .../ble_gattc/functions/ble_gattc_indicate.md      |  27 +
 .../functions/ble_gattc_indicate_custom.md         |  29 +
 .../ble_hs/ble_gattc/functions/ble_gattc_notify.md |  27 +
 .../ble_gattc/functions/ble_gattc_notify_custom.md |  29 +
 .../ble_hs/ble_gattc/functions/ble_gattc_read.md   |  31 +
 .../ble_gattc/functions/ble_gattc_read_by_uuid.md  |  34 +
 .../ble_gattc/functions/ble_gattc_read_long.md     |  32 +
 .../ble_gattc/functions/ble_gattc_read_mult.md     |  33 +
 .../ble_hs/ble_gattc/functions/ble_gattc_write.md  |  33 +
 .../ble_gattc/functions/ble_gattc_write_flat.md    |  35 +
 .../ble_gattc/functions/ble_gattc_write_long.md    |  34 +
 .../ble_gattc/functions/ble_gattc_write_no_rsp.md  |  29 +
 .../functions/ble_gattc_write_no_rsp_flat.md       |  31 +
 .../functions/ble_gattc_write_reliable.md          |  30 +
 .../docs/network/ble/ble_hs/ble_gattc/mdtoc.md     |  26 +
 .../docs/network/ble/ble_hs/ble_gatts/ble_gatts.md |  26 +
 .../ble_hs/ble_gatts/definitions/ble_gatts_defs.md | 235 ++++++
 .../ble_gatts/functions/ble_gatts_add_svcs.md      |  23 +
 .../ble_gatts/functions/ble_gatts_count_cfg.md     |  24 +
 .../ble_gatts/functions/ble_gatts_find_chr.md      |  31 +
 .../ble_gatts/functions/ble_gatts_find_dsc.md      |  31 +
 .../ble_gatts/functions/ble_gatts_find_svc.md      |  27 +
 .../functions/ble_gatts_svc_set_visibility.md      |  27 +
 .../docs/network/ble/ble_hs/ble_gatts/mdtoc.md     |  11 +
 versions/v1_2_0/docs/network/ble/ble_hs/ble_hs.md  |  21 +
 .../docs/network/ble/ble_hs/ble_hs_id/ble_hs_id.md |  42 +
 .../ble_hs_id/functions/ble_hs_id_copy_addr.md     |  31 +
 .../ble_hs_id/functions/ble_hs_id_gen_rnd.md       |  27 +
 .../ble_hs_id/functions/ble_hs_id_set_rnd.md       |  23 +
 .../docs/network/ble/ble_hs/ble_hs_id/mdtoc.md     |   6 +
 .../docs/network/ble/ble_hs/ble_hs_return_codes.md | 271 +++++++
 .../functions/ble_eddystone_set_adv_data_uid.md    |  29 +
 .../functions/ble_eddystone_set_adv_data_url.md    |  35 +
 .../ble/ble_hs/other/functions/ble_hs_evq_set.md   |  20 +
 .../ble_hs/other/functions/ble_hs_mbuf_att_pkt.md  |  21 +
 .../other/functions/ble_hs_mbuf_from_flat.md       |  27 +
 .../ble_hs/other/functions/ble_hs_mbuf_to_flat.md  |  32 +
 .../ble_hs/other/functions/ble_hs_sched_reset.md   |  20 +
 .../ble/ble_hs/other/functions/ble_hs_synced.md    |  21 +
 .../other/functions/ble_ibeacon_set_adv_data.md    |  30 +
 .../ble/ble_hs/other/functions/ble_uuid_cmp.md     |  27 +
 .../other/functions/ble_uuid_init_from_buf.md      |  29 +
 .../ble/ble_hs/other/functions/ble_uuid_to_str.md  |  24 +
 .../ble/ble_hs/other/functions/ble_uuid_u16.md     |  23 +
 .../v1_2_0/docs/network/ble/ble_hs/other/mdtoc.md  |  16 +
 .../v1_2_0/docs/network/ble/ble_hs/other/other.md  |  33 +
 versions/v1_2_0/docs/network/ble/ble_intro.md      |  65 ++
 versions/v1_2_0/docs/network/ble/ble_sec.md        |  38 +
 .../v1_2_0/docs/network/ble/ble_setup/ble_addr.md  |  57 ++
 .../docs/network/ble/ble_setup/ble_lp_clock.md     |  58 ++
 .../docs/network/ble/ble_setup/ble_setup_intro.md  |   6 +
 .../docs/network/ble/ble_setup/ble_sync_cb.md      |  75 ++
 .../v1_2_0/docs/network/ble/bletiny/bletiny_GAP.md | 209 +++++
 .../docs/network/ble/bletiny/bletiny_GATT.md       |  53 ++
 .../docs/network/ble/bletiny/bletiny_advdata.md    |  26 +
 .../v1_2_0/docs/network/ble/bletiny/bletiny_api.md | 122 +++
 versions/v1_2_0/docs/network/ble/bletiny_api.md    | 144 ++++
 .../v1_2_0/docs/network/ble/btshell/btshell_GAP.md | 210 +++++
 .../docs/network/ble/btshell/btshell_GATT.md       |  59 ++
 .../docs/network/ble/btshell/btshell_advdata.md    |  35 +
 .../v1_2_0/docs/network/ble/btshell/btshell_api.md | 120 +++
 versions/v1_2_0/docs/news/article1.md              |   0
 .../v1_2_0/docs/newt/command_list/newt_build.md    |  32 +
 .../v1_2_0/docs/newt/command_list/newt_clean.md    |  32 +
 .../v1_2_0/docs/newt/command_list/newt_complete.md |  31 +
 .../docs/newt/command_list/newt_create_image.md    |  32 +
 .../v1_2_0/docs/newt/command_list/newt_debug.md    |  36 +
 .../v1_2_0/docs/newt/command_list/newt_help.md     |  60 ++
 .../v1_2_0/docs/newt/command_list/newt_info.md     |  26 +
 .../v1_2_0/docs/newt/command_list/newt_install.md  |  30 +
 .../v1_2_0/docs/newt/command_list/newt_load.md     |  31 +
 versions/v1_2_0/docs/newt/command_list/newt_mfg.md |  99 +++
 versions/v1_2_0/docs/newt/command_list/newt_new.md |  30 +
 versions/v1_2_0/docs/newt/command_list/newt_pkg.md |  44 ++
 .../docs/newt/command_list/newt_resign_image.md    |  34 +
 versions/v1_2_0/docs/newt/command_list/newt_run.md |  41 +
 .../v1_2_0/docs/newt/command_list/newt_size.md     |  61 ++
 .../v1_2_0/docs/newt/command_list/newt_sync.md     |  27 +
 .../v1_2_0/docs/newt/command_list/newt_target.md   |  68 ++
 .../v1_2_0/docs/newt/command_list/newt_test.md     |  43 +
 .../v1_2_0/docs/newt/command_list/newt_upgrade.md  |  25 +
 .../v1_2_0/docs/newt/command_list/newt_vals.md     |  63 ++
 .../v1_2_0/docs/newt/command_list/newt_version.md  |  28 +
 versions/v1_2_0/docs/newt/install/newt_linux.md    | 216 +++++
 versions/v1_2_0/docs/newt/install/newt_mac.md      | 162 ++++
 versions/v1_2_0/docs/newt/install/newt_windows.md  | 201 +++++
 versions/v1_2_0/docs/newt/install/prev_releases.md |  79 ++
 versions/v1_2_0/docs/newt/newt_intro.md            | 202 +++++
 versions/v1_2_0/docs/newt/newt_operation.md        | 306 +++++++
 versions/v1_2_0/docs/newt/newt_ops.md              |  50 ++
 .../docs/newtmgr/command_list/newtmgr_config.md    |  30 +
 .../docs/newtmgr/command_list/newtmgr_conn.md      |  46 ++
 .../docs/newtmgr/command_list/newtmgr_crash.md     |  30 +
 .../docs/newtmgr/command_list/newtmgr_datetime.md  |  32 +
 .../docs/newtmgr/command_list/newtmgr_echo.md      |  28 +
 .../v1_2_0/docs/newtmgr/command_list/newtmgr_fs.md |  34 +
 .../docs/newtmgr/command_list/newtmgr_image.md     |  61 ++
 .../docs/newtmgr/command_list/newtmgr_logs.md      |  44 ++
 .../docs/newtmgr/command_list/newtmgr_mpstats.md   |  57 ++
 .../docs/newtmgr/command_list/newtmgr_reset.md     |  28 +
 .../docs/newtmgr/command_list/newtmgr_run.md       |  35 +
 .../docs/newtmgr/command_list/newtmgr_stat.md      |  91 +++
 .../docs/newtmgr/command_list/newtmgr_taskstats.md |  48 ++
 versions/v1_2_0/docs/newtmgr/install_linux.md      | 224 ++++++
 versions/v1_2_0/docs/newtmgr/install_mac.md        | 126 +++
 versions/v1_2_0/docs/newtmgr/install_windows.md    | 163 ++++
 versions/v1_2_0/docs/newtmgr/overview.md           |  33 +
 versions/v1_2_0/docs/newtmgr/prev_releases.md      |  79 ++
 versions/v1_2_0/docs/newtmgr/protocol.md           |   9 +
 versions/v1_2_0/docs/os/core_os/callout/callout.md |  63 ++
 .../os/core_os/callout/os_callout_func_init.md     |  44 ++
 .../docs/os/core_os/callout/os_callout_init.md     |  38 +
 .../docs/os/core_os/callout/os_callout_queued.md   |  22 +
 .../docs/os/core_os/callout/os_callout_reset.md    |  33 +
 .../docs/os/core_os/callout/os_callout_stop.md     |  31 +
 .../os/core_os/context_switch/context_switch.md    |  43 +
 .../os/core_os/context_switch/os_arch_ctx_sw.md    |  46 ++
 .../docs/os/core_os/context_switch/os_sched.md     |  46 ++
 .../core_os/context_switch/os_sched_ctx_sw_hook.md |  37 +
 .../context_switch/os_sched_get_current_task.md    |  39 +
 .../os/core_os/context_switch/os_sched_insert.md   |  26 +
 .../core_os/context_switch/os_sched_next_task.md   |  22 +
 .../context_switch/os_sched_os_timer_exp.md        |  36 +
 .../os/core_os/context_switch/os_sched_remove.md   |  45 ++
 .../os/core_os/context_switch/os_sched_resort.md   |  40 +
 .../context_switch/os_sched_set_current_task.md    |  28 +
 .../os/core_os/context_switch/os_sched_sleep.md    |  63 ++
 .../os/core_os/context_switch/os_sched_wakeup.md   |  43 +
 .../v1_2_0/docs/os/core_os/cputime/os_cputime.md   |  43 +
 .../os/core_os/cputime/os_cputime_delay_nsecs.md   |  25 +
 .../os/core_os/cputime/os_cputime_delay_ticks.md   |  25 +
 .../os/core_os/cputime/os_cputime_delay_usecs.md   |  25 +
 .../docs/os/core_os/cputime/os_cputime_get32.md    |  23 +
 .../docs/os/core_os/cputime/os_cputime_init.md     |  29 +
 .../core_os/cputime/os_cputime_nsecs_to_ticks.md   |  24 +
 .../core_os/cputime/os_cputime_ticks_to_nsecs.md   |  24 +
 .../core_os/cputime/os_cputime_ticks_to_usecs.md   |  24 +
 .../os/core_os/cputime/os_cputime_timer_init.md    |  65 ++
 .../core_os/cputime/os_cputime_timer_relative.md   |  33 +
 .../os/core_os/cputime/os_cputime_timer_start.md   |  34 +
 .../os/core_os/cputime/os_cputime_timer_stop.md    |  30 +
 .../core_os/cputime/os_cputime_usecs_to_ticks.md   |  24 +
 .../docs/os/core_os/event_queue/event_queue.md     | 103 +++
 .../os/core_os/event_queue/os_eventq_designate.md  |  44 ++
 .../os/core_os/event_queue/os_eventq_dflt_get.md   |  43 +
 .../os/core_os/event_queue/os_eventq_dflt_set.md   |  45 ++
 .../docs/os/core_os/event_queue/os_eventq_get.md   |  44 ++
 .../docs/os/core_os/event_queue/os_eventq_init.md  |  44 ++
 .../os/core_os/event_queue/os_eventq_inited.md     |  46 ++
 .../docs/os/core_os/event_queue/os_eventq_put.md   |  74 ++
 .../os/core_os/event_queue/os_eventq_remove.md     |  52 ++
 .../docs/os/core_os/event_queue/os_eventq_run.md   |  40 +
 versions/v1_2_0/docs/os/core_os/heap/heap.md       |  27 +
 versions/v1_2_0/docs/os/core_os/heap/os_free.md    |  32 +
 versions/v1_2_0/docs/os/core_os/heap/os_malloc.md  |  39 +
 versions/v1_2_0/docs/os/core_os/heap/os_realloc.md |  32 +
 .../v1_2_0/docs/os/core_os/mbuf/OS_MBUF_DATA.md    |  31 +
 .../docs/os/core_os/mbuf/OS_MBUF_LEADINGSPACE.md   |  43 +
 .../v1_2_0/docs/os/core_os/mbuf/OS_MBUF_PKTHDR.md  |  41 +
 .../docs/os/core_os/mbuf/OS_MBUF_PKTHDR_TO_MBUF.md |  31 +
 .../v1_2_0/docs/os/core_os/mbuf/OS_MBUF_PKTLEN.md  |  35 +
 .../docs/os/core_os/mbuf/OS_MBUF_TRAILINGSPACE.md  |  41 +
 .../v1_2_0/docs/os/core_os/mbuf/OS_MBUF_USRHDR.md  |  31 +
 .../docs/os/core_os/mbuf/OS_MBUF_USRHDR_LEN.md     |  32 +
 versions/v1_2_0/docs/os/core_os/mbuf/mbuf.md       | 246 ++++++
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_adj.md     |  45 ++
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_append.md  |  60 ++
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_concat.md  |  50 ++
 .../docs/os/core_os/mbuf/os_mbuf_copydata.md       |  53 ++
 .../docs/os/core_os/mbuf/os_mbuf_copyinto.md       |  53 ++
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_dup.md     |  38 +
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_extend.md  |  43 +
 .../docs/os/core_os/mbuf/os_mbuf_free_chain.md     |  41 +
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_get.md     |  43 +
 .../docs/os/core_os/mbuf/os_mbuf_get_pkthdr.md     |  44 ++
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_memcmp.md  |  45 ++
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_off.md     |  56 ++
 .../docs/os/core_os/mbuf/os_mbuf_pool_init.md      |  64 ++
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_prepend.md |  50 ++
 .../v1_2_0/docs/os/core_os/mbuf/os_mbuf_pullup.md  |  50 ++
 .../v1_2_0/docs/os/core_os/mbuf/pics/mbuf_fig1.png | Bin 0 -> 32123 bytes
 .../v1_2_0/docs/os/core_os/mbuf/pics/mbuf_fig2.png | Bin 0 -> 40402 bytes
 .../v1_2_0/docs/os/core_os/mbuf/pics/mbuf_fig3.png | Bin 0 -> 54819 bytes
 .../os/core_os/memory_pool/OS_MEMPOOL_BYTES.md     |  38 +
 .../docs/os/core_os/memory_pool/OS_MEMPOOL_SIZE.md |  40 +
 .../docs/os/core_os/memory_pool/memory_pool.md     |  88 +++
 .../docs/os/core_os/memory_pool/os_memblock_get.md |  38 +
 .../docs/os/core_os/memory_pool/os_memblock_put.md |  36 +
 .../memory_pool/os_mempool_info_get_next.md        |  70 ++
 .../docs/os/core_os/memory_pool/os_mempool_init.md |  53 ++
 versions/v1_2_0/docs/os/core_os/mqueue/mqueue.md   |  96 +++
 .../v1_2_0/docs/os/core_os/mqueue/os_mqueue_get.md |  42 +
 .../docs/os/core_os/mqueue/os_mqueue_init.md       |  51 ++
 .../v1_2_0/docs/os/core_os/mqueue/os_mqueue_put.md |  44 ++
 versions/v1_2_0/docs/os/core_os/msys/msys.md       |  22 +
 .../v1_2_0/docs/os/core_os/msys/os_msys_get.md     |  45 ++
 .../docs/os/core_os/msys/os_msys_get_pkthdr.md     |  47 ++
 .../docs/os/core_os/msys/os_msys_register.md       |  30 +
 .../v1_2_0/docs/os/core_os/msys/os_msys_reset.md   |  28 +
 versions/v1_2_0/docs/os/core_os/mutex/mutex.md     |  49 ++
 .../v1_2_0/docs/os/core_os/mutex/os_mutex_init.md  |  39 +
 .../v1_2_0/docs/os/core_os/mutex/os_mutex_pend.md  |  49 ++
 .../docs/os/core_os/mutex/os_mutex_release.md      |  41 +
 versions/v1_2_0/docs/os/core_os/mynewt_os.md       | 166 ++++
 versions/v1_2_0/docs/os/core_os/os_init.md         |  26 +
 versions/v1_2_0/docs/os/core_os/os_start.md        |  27 +
 versions/v1_2_0/docs/os/core_os/os_started.md      |  19 +
 .../v1_2_0/docs/os/core_os/porting/port_bsp.md     | 417 ++++++++++
 .../v1_2_0/docs/os/core_os/porting/port_cpu.md     |  33 +
 .../v1_2_0/docs/os/core_os/porting/port_mcu.md     |  21 +
 versions/v1_2_0/docs/os/core_os/porting/port_os.md |  76 ++
 .../docs/os/core_os/sanity/os_sanity_check_init.md |  33 +
 .../os/core_os/sanity/os_sanity_check_register.md  |  33 +
 .../os/core_os/sanity/os_sanity_check_reset.md     |  34 +
 .../os/core_os/sanity/os_sanity_task_checkin.md    |  33 +
 versions/v1_2_0/docs/os/core_os/sanity/sanity.md   | 189 +++++
 .../docs/os/core_os/semaphore/os_sem_init.md       |  41 +
 .../docs/os/core_os/semaphore/os_sem_pend.md       |  45 ++
 .../docs/os/core_os/semaphore/os_sem_release.md    |  40 +
 .../v1_2_0/docs/os/core_os/semaphore/semaphore.md  |  44 ++
 .../v1_2_0/docs/os/core_os/task/os_task_count.md   |  28 +
 .../docs/os/core_os/task/os_task_info_get_next.md  |  61 ++
 .../v1_2_0/docs/os/core_os/task/os_task_init.md    |  48 ++
 .../v1_2_0/docs/os/core_os/task/os_task_remove.md  |  43 +
 versions/v1_2_0/docs/os/core_os/task/task.md       | 227 ++++++
 .../docs/os/core_os/time/os_get_uptime_usec.md     |  24 +
 .../v1_2_0/docs/os/core_os/time/os_gettimeofday.md |  43 +
 .../v1_2_0/docs/os/core_os/time/os_settimeofday.md |  37 +
 versions/v1_2_0/docs/os/core_os/time/os_time.md    |  83 ++
 .../v1_2_0/docs/os/core_os/time/os_time_advance.md |  22 +
 .../v1_2_0/docs/os/core_os/time/os_time_delay.md   |  30 +
 .../v1_2_0/docs/os/core_os/time/os_time_get.md     |  27 +
 .../docs/os/core_os/time/os_time_ms_to_ticks.md    |  29 +
 versions/v1_2_0/docs/os/get_started/cross_tools.md | 180 +++++
 versions/v1_2_0/docs/os/get_started/docker.md      | 106 +++
 versions/v1_2_0/docs/os/get_started/get_started.md |  27 +
 .../docs/os/get_started/native_install_intro.md    |  26 +
 .../v1_2_0/docs/os/get_started/native_tools.md     | 141 ++++
 .../v1_2_0/docs/os/get_started/pics/ft232h.png     | Bin 0 -> 572354 bytes
 versions/v1_2_0/docs/os/get_started/pics/m0pro.png | Bin 0 -> 613306 bytes
 .../v1_2_0/docs/os/get_started/pics/nrf52dk.png    | Bin 0 -> 517522 bytes
 .../docs/os/get_started/pics/virtualbox_usb.jpg    | Bin 0 -> 297119 bytes
 .../v1_2_0/docs/os/get_started/project_create.md   | 399 ++++++++++
 .../v1_2_0/docs/os/get_started/serial_access.md    | 194 +++++
 versions/v1_2_0/docs/os/get_started/vocabulary.md  | 186 +++++
 versions/v1_2_0/docs/os/introduction.md            |  71 ++
 versions/v1_2_0/docs/os/modules/baselibc.md        |  35 +
 .../os/modules/bootloader/boot_build_status.md     |   0
 .../os/modules/bootloader/boot_build_status_one.md |   0
 .../os/modules/bootloader/boot_clear_status.md     |   0
 .../docs/os/modules/bootloader/boot_copy_area.md   |   0
 .../docs/os/modules/bootloader/boot_copy_image.md  |   0
 .../docs/os/modules/bootloader/boot_erase_area.md  |   0
 .../docs/os/modules/bootloader/boot_fill_slot.md   |   0
 .../modules/bootloader/boot_find_image_area_idx.md |   0
 .../os/modules/bootloader/boot_find_image_part.md  |   0
 .../os/modules/bootloader/boot_find_image_slot.md  |   0
 .../v1_2_0/docs/os/modules/bootloader/boot_go.md   |   0
 .../docs/os/modules/bootloader/boot_init_flash.md  |   0
 .../docs/os/modules/bootloader/boot_move_area.md   |   0
 .../modules/bootloader/boot_read_image_header.md   |   0
 .../modules/bootloader/boot_read_image_headers.md  |   0
 .../docs/os/modules/bootloader/boot_read_status.md |   0
 .../modules/bootloader/boot_select_image_slot.md   |   0
 .../docs/os/modules/bootloader/boot_slot_addr.md   |   0
 .../os/modules/bootloader/boot_slot_to_area_idx.md |   0
 .../docs/os/modules/bootloader/boot_swap_areas.md  |   0
 .../os/modules/bootloader/boot_vect_delete_main.md |   0
 .../os/modules/bootloader/boot_vect_delete_test.md |   0
 .../os/modules/bootloader/boot_vect_read_main.md   |   0
 .../os/modules/bootloader/boot_vect_read_one.md    |   0
 .../os/modules/bootloader/boot_vect_read_test.md   |   0
 .../os/modules/bootloader/boot_write_status.md     |   0
 .../docs/os/modules/bootloader/bootloader.md       | 565 +++++++++++++
 versions/v1_2_0/docs/os/modules/console/console.md | 251 ++++++
 .../v1_2_0/docs/os/modules/console/console_echo.md |  57 ++
 .../v1_2_0/docs/os/modules/console/console_init.md |  35 +
 .../docs/os/modules/console/console_is_init.md     |  36 +
 .../docs/os/modules/console/console_printf.md      |  61 ++
 .../v1_2_0/docs/os/modules/console/console_read.md |  62 ++
 .../docs/os/modules/console/console_set_queues.md  |  58 ++
 .../docs/os/modules/console/console_write.md       |  40 +
 .../docs/os/modules/devmgmt/customize_newtmgr.md   |  55 ++
 .../v1_2_0/docs/os/modules/devmgmt/device-mgmt.png | Bin 0 -> 77155 bytes
 versions/v1_2_0/docs/os/modules/devmgmt/newtmgr.md |  21 +
 versions/v1_2_0/docs/os/modules/devmgmt/oicmgr.md  |  31 +
 versions/v1_2_0/docs/os/modules/drivers/driver.md  |  62 ++
 versions/v1_2_0/docs/os/modules/drivers/flash.md   | 121 +++
 versions/v1_2_0/docs/os/modules/drivers/mmc.md     |  87 ++
 versions/v1_2_0/docs/os/modules/elua/elua.md       |  23 +
 versions/v1_2_0/docs/os/modules/elua/lua_init.md   |  36 +
 versions/v1_2_0/docs/os/modules/elua/lua_main.md   |  35 +
 versions/v1_2_0/docs/os/modules/fcb/fcb.md         | 100 +++
 versions/v1_2_0/docs/os/modules/fcb/fcb_append.md  |  29 +
 .../docs/os/modules/fcb/fcb_append_finish.md       |  25 +
 .../docs/os/modules/fcb/fcb_append_to_scratch.md   |  23 +
 versions/v1_2_0/docs/os/modules/fcb/fcb_clear.md   |  23 +
 versions/v1_2_0/docs/os/modules/fcb/fcb_getnext.md |  28 +
 versions/v1_2_0/docs/os/modules/fcb/fcb_init.md    |  25 +
 .../v1_2_0/docs/os/modules/fcb/fcb_is_empty.md     |  23 +
 .../docs/os/modules/fcb/fcb_offset_last_n.md       |  28 +
 versions/v1_2_0/docs/os/modules/fcb/fcb_rotate.md  |  22 +
 versions/v1_2_0/docs/os/modules/fcb/fcb_walk.md    |  32 +
 versions/v1_2_0/docs/os/modules/fs/fatfs.md        |  44 ++
 versions/v1_2_0/docs/os/modules/fs/fs/fs.md        | 143 ++++
 versions/v1_2_0/docs/os/modules/fs/fs/fs_close.md  |  61 ++
 .../v1_2_0/docs/os/modules/fs/fs/fs_closedir.md    |  77 ++
 .../docs/os/modules/fs/fs/fs_dirent_is_dir.md      |  75 ++
 .../v1_2_0/docs/os/modules/fs/fs/fs_dirent_name.md |  83 ++
 .../v1_2_0/docs/os/modules/fs/fs/fs_filelen.md     |  58 ++
 versions/v1_2_0/docs/os/modules/fs/fs/fs_getpos.md |  27 +
 versions/v1_2_0/docs/os/modules/fs/fs/fs_mkdir.md  |  60 ++
 versions/v1_2_0/docs/os/modules/fs/fs/fs_open.md   |  78 ++
 .../v1_2_0/docs/os/modules/fs/fs/fs_opendir.md     |  83 ++
 versions/v1_2_0/docs/os/modules/fs/fs/fs_ops.md    |  40 +
 versions/v1_2_0/docs/os/modules/fs/fs/fs_read.md   |  61 ++
 .../v1_2_0/docs/os/modules/fs/fs/fs_readdir.md     |  78 ++
 .../v1_2_0/docs/os/modules/fs/fs/fs_register.md    |  28 +
 versions/v1_2_0/docs/os/modules/fs/fs/fs_rename.md |  66 ++
 .../docs/os/modules/fs/fs/fs_return_codes.md       |  26 +
 versions/v1_2_0/docs/os/modules/fs/fs/fs_seek.md   |  62 ++
 versions/v1_2_0/docs/os/modules/fs/fs/fs_unlink.md |  56 ++
 versions/v1_2_0/docs/os/modules/fs/fs/fs_write.md  |  61 ++
 .../docs/os/modules/fs/fs/fsutil_read_file.md      |  60 ++
 .../docs/os/modules/fs/fs/fsutil_write_file.md     |  52 ++
 versions/v1_2_0/docs/os/modules/fs/nffs/nffs.md    |  83 ++
 .../docs/os/modules/fs/nffs/nffs_area_desc.md      |  32 +
 .../v1_2_0/docs/os/modules/fs/nffs/nffs_config.md  |  38 +
 .../v1_2_0/docs/os/modules/fs/nffs/nffs_detect.md  |  73 ++
 .../v1_2_0/docs/os/modules/fs/nffs/nffs_format.md  |  72 ++
 .../v1_2_0/docs/os/modules/fs/nffs/nffs_init.md    |  18 +
 .../docs/os/modules/fs/nffs/nffs_internals.md      | 318 ++++++++
 versions/v1_2_0/docs/os/modules/fs/otherfs.md      |  63 ++
 versions/v1_2_0/docs/os/modules/hal/hal.md         |  66 ++
 versions/v1_2_0/docs/os/modules/hal/hal_api.md     |  22 +
 .../v1_2_0/docs/os/modules/hal/hal_bsp/hal_bsp.md  |  19 +
 .../v1_2_0/docs/os/modules/hal/hal_creation.md     |  22 +
 .../docs/os/modules/hal/hal_flash/hal_flash.md     |  18 +
 .../docs/os/modules/hal/hal_flash/hal_flash_int.md |  33 +
 .../docs/os/modules/hal/hal_gpio/hal_gpio.md       |  56 ++
 .../v1_2_0/docs/os/modules/hal/hal_i2c/hal_i2c.md  |  94 +++
 .../v1_2_0/docs/os/modules/hal/hal_in_libraries.md |  13 +
 .../docs/os/modules/hal/hal_os_tick/hal_os_tick.md |  28 +
 .../v1_2_0/docs/os/modules/hal/hal_spi/hal_spi.md  |  51 ++
 .../docs/os/modules/hal/hal_system/hal_sys.md      |  13 +
 .../docs/os/modules/hal/hal_timer/hal_timer.md     |  27 +
 .../docs/os/modules/hal/hal_uart/hal_uart.md       |  32 +
 .../os/modules/hal/hal_watchdog/hal_watchdog.md    |  28 +
 versions/v1_2_0/docs/os/modules/imgmgr/imgmgr.md   |  33 +
 .../docs/os/modules/imgmgr/imgmgr_module_init.md   |  19 +
 .../docs/os/modules/imgmgr/imgr_ver_parse.md       |  44 ++
 .../v1_2_0/docs/os/modules/imgmgr/imgr_ver_str.md  |  41 +
 versions/v1_2_0/docs/os/modules/json/json.md       | 122 +++
 .../os/modules/json/json_encode_object_entry.md    |  42 +
 .../os/modules/json/json_encode_object_finish.md   |  40 +
 .../docs/os/modules/json/json_encode_object_key.md |  41 +
 .../os/modules/json/json_encode_object_start.md    |  40 +
 .../docs/os/modules/json/json_read_object.md       |  60 ++
 versions/v1_2_0/docs/os/modules/logs/logs.md       | 158 ++++
 .../docs/os/modules/sensor_framework/sensor_api.md | 264 +++++++
 .../os/modules/sensor_framework/sensor_create.md   | 215 +++++
 .../os/modules/sensor_framework/sensor_driver.md   | 360 +++++++++
 .../modules/sensor_framework/sensor_framework.png  | Bin 0 -> 814560 bytes
 .../sensor_framework/sensor_framework_overview.md  |  41 +
 .../sensor_framework/sensor_listener_api.md        |  53 ++
 .../os/modules/sensor_framework/sensor_mgr_api.md  |  51 ++
 .../docs/os/modules/sensor_framework/sensor_oic.md |  15 +
 .../os/modules/sensor_framework/sensor_shell.md    |   5 +
 versions/v1_2_0/docs/os/modules/shell/shell.md     | 184 +++++
 .../docs/os/modules/shell/shell_cmd_register.md    |  44 ++
 .../v1_2_0/docs/os/modules/shell/shell_evq_set.md  |  23 +
 .../os/modules/shell/shell_nlip_input_register.md  |  46 ++
 .../docs/os/modules/shell/shell_nlip_output.md     |  38 +
 .../v1_2_0/docs/os/modules/shell/shell_register.md |  96 +++
 .../shell/shell_register_app_cmd_handler.md        |  36 +
 .../modules/shell/shell_register_default_module.md |  44 ++
 versions/v1_2_0/docs/os/modules/split/split.md     | 428 ++++++++++
 versions/v1_2_0/docs/os/modules/stats/stats.md     | 298 +++++++
 .../os/modules/sysinitconfig/sysconfig_error.md    | 430 ++++++++++
 .../docs/os/modules/sysinitconfig/sysinitconfig.md | 592 ++++++++++++++
 .../v1_2_0/docs/os/modules/testutil/test_assert.md |  76 ++
 .../v1_2_0/docs/os/modules/testutil/test_case.md   |  27 +
 .../v1_2_0/docs/os/modules/testutil/test_decl.md   |  28 +
 .../v1_2_0/docs/os/modules/testutil/test_pass.md   |  29 +
 .../v1_2_0/docs/os/modules/testutil/test_suite.md  |  30 +
 .../v1_2_0/docs/os/modules/testutil/testutil.md    |  93 +++
 .../v1_2_0/docs/os/modules/testutil/tu_init.md     |  37 +
 .../v1_2_0/docs/os/modules/testutil/tu_restart.md  |  31 +
 versions/v1_2_0/docs/os/os_user_guide.md           |   9 +
 versions/v1_2_0/docs/os/tutorials/STM32F303.md     | 216 +++++
 versions/v1_2_0/docs/os/tutorials/add_newtmgr.md   | 271 +++++++
 .../v1_2_0/docs/os/tutorials/air_quality_ble.md    | 223 ++++++
 .../v1_2_0/docs/os/tutorials/air_quality_sensor.md | 862 ++++++++++++++++++++
 versions/v1_2_0/docs/os/tutorials/arduino_zero.md  | 349 ++++++++
 .../v1_2_0/docs/os/tutorials/ble_bare_bones.md     | 185 +++++
 .../v1_2_0/docs/os/tutorials/blehci_project.md     | 205 +++++
 .../docs/os/tutorials/bleprph/bleprph-adv.md       | 150 ++++
 .../docs/os/tutorials/bleprph/bleprph-app.md       | 107 +++
 .../os/tutorials/bleprph/bleprph-chr-access.md     | 248 ++++++
 .../docs/os/tutorials/bleprph/bleprph-conn.md      | 156 ++++
 .../docs/os/tutorials/bleprph/bleprph-gap-event.md | 161 ++++
 .../docs/os/tutorials/bleprph/bleprph-intro.md     |  37 +
 .../docs/os/tutorials/bleprph/bleprph-svc-reg.md   | 156 ++++
 versions/v1_2_0/docs/os/tutorials/blinky.md        |  47 ++
 .../v1_2_0/docs/os/tutorials/blinky_console.md     | 198 +++++
 versions/v1_2_0/docs/os/tutorials/blinky_primo.md  | 242 ++++++
 .../v1_2_0/docs/os/tutorials/blinky_sram_olimex.md | 168 ++++
 .../v1_2_0/docs/os/tutorials/blinky_stm32f4disc.md | 234 ++++++
 .../v1_2_0/docs/os/tutorials/blinky_windows.md     | 261 ++++++
 versions/v1_2_0/docs/os/tutorials/codesize.md      |  20 +
 versions/v1_2_0/docs/os/tutorials/define_target.md |   3 +
 .../docs/os/tutorials/downloads/openocd-wnrf52.tgz | Bin 0 -> 14449635 bytes
 versions/v1_2_0/docs/os/tutorials/eddystone.md     | 345 ++++++++
 versions/v1_2_0/docs/os/tutorials/event_queue.md   | 495 ++++++++++++
 versions/v1_2_0/docs/os/tutorials/ibeacon.md       | 296 +++++++
 .../v1_2_0/docs/os/tutorials/lora/lorawanapp.md    | 348 ++++++++
 versions/v1_2_0/docs/os/tutorials/nRF52.md         | 197 +++++
 versions/v1_2_0/docs/os/tutorials/nrf52_adc.md     | 875 +++++++++++++++++++++
 versions/v1_2_0/docs/os/tutorials/olimex.md        | 226 ++++++
 .../v1_2_0/docs/os/tutorials/ota_upgrade_nrf52.md  | 200 +++++
 .../v1_2_0/docs/os/tutorials/pics/BNO055_small.jpg | Bin 0 -> 31723 bytes
 .../v1_2_0/docs/os/tutorials/pics/LightBlue-1.jpg  | Bin 0 -> 90014 bytes
 .../v1_2_0/docs/os/tutorials/pics/LightBlue-2.jpg  | Bin 0 -> 121238 bytes
 .../v1_2_0/docs/os/tutorials/pics/LightBlue-3.jpg  | Bin 0 -> 122447 bytes
 .../v1_2_0/docs/os/tutorials/pics/LightBlue-4.jpg  | Bin 0 -> 94431 bytes
 .../v1_2_0/docs/os/tutorials/pics/LightBlue-5.jpg  | Bin 0 -> 53663 bytes
 .../v1_2_0/docs/os/tutorials/pics/LightBlue-6.jpg  | Bin 0 -> 97461 bytes
 .../docs/os/tutorials/pics/MyNewtSensorReader.jpg  | Bin 0 -> 141358 bytes
 .../os/tutorials/pics/MyNewtSensorReader006.jpg    | Bin 0 -> 211399 bytes
 .../docs/os/tutorials/pics/NRF52_I2C_small.jpg     | Bin 0 -> 78087 bytes
 .../os/tutorials/pics/STM32-E407_bot_small.jpg     | Bin 0 -> 140793 bytes
 .../os/tutorials/pics/STM32-E407_top_small.jpg     | Bin 0 -> 165366 bytes
 .../tutorials/pics/STM32f3discovery_connector.png  | Bin 0 -> 612760 bytes
 .../v1_2_0/docs/os/tutorials/pics/Senseair1.png    | Bin 0 -> 1215822 bytes
 .../v1_2_0/docs/os/tutorials/pics/Senseair2.png    | Bin 0 -> 1077537 bytes
 .../v1_2_0/docs/os/tutorials/pics/adc-demo-1.png   | Bin 0 -> 530153 bytes
 .../v1_2_0/docs/os/tutorials/pics/adc-demo-2.png   | Bin 0 -> 435709 bytes
 .../v1_2_0/docs/os/tutorials/pics/arduino_wifi.png | Bin 0 -> 944943 bytes
 .../v1_2_0/docs/os/tutorials/pics/bottomview.png   | Bin 0 -> 701983 bytes
 .../v1_2_0/docs/os/tutorials/pics/breadboard.png   | Bin 0 -> 546231 bytes
 .../os/tutorials/pics/device_manager_ft232H.png    | Bin 0 -> 67817 bytes
 .../os/tutorials/pics/device_manager_no_ft232H.png | Bin 0 -> 67365 bytes
 .../docs/os/tutorials/pics/mkr1000-jlink.jpg       | Bin 0 -> 146645 bytes
 .../docs/os/tutorials/pics/mkr1000-serial.jpg      | Bin 0 -> 73565 bytes
 versions/v1_2_0/docs/os/tutorials/pics/nrf52.JPG   | Bin 0 -> 311187 bytes
 versions/v1_2_0/docs/os/tutorials/pics/nrf52.png   | Bin 0 -> 3057521 bytes
 .../v1_2_0/docs/os/tutorials/pics/primo-jlink.jpg  | Bin 0 -> 157820 bytes
 versions/v1_2_0/docs/os/tutorials/pics/putty.png   | Bin 0 -> 56099 bytes
 .../docs/os/tutorials/pics/segger_sysview1.png     | Bin 0 -> 373713 bytes
 .../os/tutorials/pics/segger_sysview_recording.png | Bin 0 -> 254129 bytes
 .../tutorials/pics/segger_sysview_start_record.png | Bin 0 -> 73424 bytes
 .../v1_2_0/docs/os/tutorials/pics/serial_conn.png  | Bin 0 -> 1064089 bytes
 .../pics/smart_controller_accelerometer.png        | Bin 0 -> 86611 bytes
 .../os/tutorials/pics/smart_controller_main.png    | Bin 0 -> 104629 bytes
 .../v1_2_0/docs/os/tutorials/pics/stm32f4_disc.jpg | Bin 0 -> 40575 bytes
 .../v1_2_0/docs/os/tutorials/pics/task_lesson.png  | Bin 0 -> 25723 bytes
 versions/v1_2_0/docs/os/tutorials/pics/thingy.jpg  | Bin 0 -> 152774 bytes
 .../v1_2_0/docs/os/tutorials/pics/thingy_jlink.jpg | Bin 0 -> 146954 bytes
 versions/v1_2_0/docs/os/tutorials/pics/topview.png | Bin 0 -> 723333 bytes
 .../v1_2_0/docs/os/tutorials/pin-wheel-mods.md     |  99 +++
 .../docs/os/tutorials/project-nrf52-slinky.md      | 223 ++++++
 .../v1_2_0/docs/os/tutorials/project-sim-slinky.md | 119 +++
 .../v1_2_0/docs/os/tutorials/project-slinky.md     |  36 +
 .../docs/os/tutorials/project-stm32-slinky.md      | 245 ++++++
 versions/v1_2_0/docs/os/tutorials/rbnano2.md       | 195 +++++
 .../v1_2_0/docs/os/tutorials/repo/add_repos.md     | 317 ++++++++
 .../v1_2_0/docs/os/tutorials/repo/create_repo.md   | 173 ++++
 .../v1_2_0/docs/os/tutorials/repo/private_repo.md  |  47 ++
 .../v1_2_0/docs/os/tutorials/repo/upgrade_repo.md  |  14 +
 versions/v1_2_0/docs/os/tutorials/segger_rtt.md    |  87 ++
 .../v1_2_0/docs/os/tutorials/segger_sysview.md     |  78 ++
 .../os/tutorials/sensors/sensor_bleprph_oic.md     | 267 +++++++
 .../os/tutorials/sensors/sensor_nrf52_bno055.md    | 469 +++++++++++
 .../tutorials/sensors/sensor_nrf52_bno055_oic.md   | 103 +++
 .../os/tutorials/sensors/sensor_offboard_config.md | 205 +++++
 .../os/tutorials/sensors/sensor_oic_overview.md    |  28 +
 .../sensors/sensor_thingy_lis2dh12_onb.md          | 689 ++++++++++++++++
 .../v1_2_0/docs/os/tutorials/sensors/sensors.md    |  43 +
 versions/v1_2_0/docs/os/tutorials/tasks_lesson.md  | 247 ++++++
 versions/v1_2_0/docs/os/tutorials/try_markdown.md  |  32 +
 versions/v1_2_0/docs/os/tutorials/tutorials.md     |  82 ++
 versions/v1_2_0/docs/os/tutorials/unit_test.md     | 331 ++++++++
 .../v1_2_0/docs/os/tutorials/wi-fi_on_arduino.md   | 324 ++++++++
 versions/v1_2_0/docs/pages/ble.md                  |   8 +
 versions/v1_2_0/docs/pages/configurability.md      |   8 +
 versions/v1_2_0/docs/pages/securitybullets.md      |   8 +
 versions/v1_2_0/docs/quick-start.md                |  30 +
 versions/v1_2_0/docs/talks.md                      |   0
 mkdocs.yml => versions/v1_2_0/mkdocs.yml           |   3 +
 562 files changed, 37154 insertions(+)

diff --git a/mkdocs.yml b/mkdocs.yml
index 11b6bd6..e423be7 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -625,6 +625,9 @@ extra:
         - label: '1.1.0'
           dir: 'v1_1_0'
           latest: False
+        - label: '1.2.0'
+          dir: 'v1_2_0'
+          latest: False
     doc_path: 'os/introduction'
     chapters:
         Chapter 1 - Get Started: 'The chapter organization is outlined below. Each chapter will include one or more tutorials for hands-on experience with the material in each chapter.'
diff --git a/versions/v1_2_0/custom-theme b/versions/v1_2_0/custom-theme
new file mode 120000
index 0000000..fd6e82c
--- /dev/null
+++ b/versions/v1_2_0/custom-theme
@@ -0,0 +1 @@
+/Users/aditihilbert/Documents/mynewt-site/custom-theme/
\ No newline at end of file
diff --git a/versions/v1_2_0/docs/about.md b/versions/v1_2_0/docs/about.md
new file mode 100644
index 0000000..f9ddbdc
--- /dev/null
+++ b/versions/v1_2_0/docs/about.md
@@ -0,0 +1,25 @@
+### Roadmap
+
+Some upcoming features:
+
+* Full IP support
+* Low power support with ability for drivers to turn on/off low power settings automatically
+* Sensor API, see [discussion thread](https://lists.apache.org/list.html?dev@mynewt.apache.org:dfr=June%201|dto=2016-11-14:%22Sensor%20Drivers%22)
+* Support for MIPS architecture
+* Support for additional boards
+
+<font color="#F2853F"> The detailed roadmap is tracked on [JIRA for Mynewt](https://issues.apache.org/jira/browse/MYNEWT/?selectedTab=com.atlassian.jira.jira-projects-plugin:roadmap-panel). </font>
+
+<br>
+
+### Feature Request
+
+The WISHLIST at the top of the roadmap on [JIRA for Mynewt](https://issues.apache.org/jira/browse/MYNEWT/?selectedTab=com.atlassian.jira.jira-projects-plugin:roadmap-panel) features all the new ideas awaiting discussion and review. Once the community decides to go ahead with a request, it is scheduled into a release. Generally, effort is made to schedule a requested feature into a particular version no later than 6 weeks prior to the planned release date.
+
+If you have suggestions for a new feature, use case, or implementation improvements, file a JIRA ticket with Issue Type set to "Wish". Introduce it in the [dev@](dev@mynewt.incubator.apache.org) mailing list with a link to the JIRA ticket. This assumes you have signed up for an account on JIRA and submitted a request to the dev@ mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project.
+
+<br>
+
+### FAQ
+
+<font color="#F2853F"> Questions? </font> Click [here](/DOCSLINK/faq/answers)
diff --git a/versions/v1_2_0/docs/community.md b/versions/v1_2_0/docs/community.md
new file mode 100644
index 0000000..4257233
--- /dev/null
+++ b/versions/v1_2_0/docs/community.md
@@ -0,0 +1,8 @@
+
+
+### Mailing Lists
+
+We welcome you to join our mailing lists and get in touch with us! 
+<font color="#F2853F"> *To complete your subscription you have to confirm it by replying to the response sent to you when you email your subscription request!* </font>
+
+
diff --git a/versions/v1_2_0/docs/documentation.md b/versions/v1_2_0/docs/documentation.md
new file mode 100644
index 0000000..ee39518
--- /dev/null
+++ b/versions/v1_2_0/docs/documentation.md
@@ -0,0 +1,5 @@
+# Documentation Organization
+
+The technical literature for Apache Mynewt is organized into three manuals. The first describes the Real Time Operating System (RTOS), its features and capabilities, and how to get it running on your target device. The second one demonstrates how to use the build and packaging tool, *Newt*, to easily choose firmware modules for your target and compose them into a working executable. The third manual shows how the device management tool, *Newtmgr*, can communicate with a remote device run [...]
+
+For you to learn and get some hands-on experience, each manual includes one or more tutorials. We encourage that you try them, and do send us your feedback.
diff --git a/versions/v1_2_0/docs/download.md b/versions/v1_2_0/docs/download.md
new file mode 100644
index 0000000..1d8b687
--- /dev/null
+++ b/versions/v1_2_0/docs/download.md
@@ -0,0 +1,55 @@
+### Latest Apache Mynewt OS Release
+
+* Release Version: Apache Mynewt 1.3.0
+* Release Date: December 13, 2017
+* [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.3.0)
+* [Release Download](http://www.apache.org/dyn/closer.lua/mynewt/apache-mynewt-1.3.0)
+
+#### Fresh install
+
+If you are brand new to Mynewt, go to [Quick Start](os/get_started/get_started/). The Newt tool will automatically download the latest release.
+
+If you have already installed the Newt tool but not started any project yet, go to [Create Your First Project](/DOCSLINK/os/get_started/project_create/). The Newt tool will automatically download the latest release.
+
+#### Upgrade
+
+If you have already installed the Newt tool and started a project that installed a previous version of Apache Mynewt,  upgrade using Newt tool:
+
+```
+$ newt upgrade
+```
+
+### Code in development
+
+While the use of one of the official releases listed above is generally recommended, you may be interested in seeing work in progress.
+
+The most recent code that is fairly stable over the full OS resides in the `master` branch of the Mynewt git repository. You may view or fork the repositories for Mynewt OS and Newt Tool from the Apache mirror on github.com.
+
+* [Apache Mynewt OS mirror on github.com](https://github.com/apache/incubator-mynewt-core/tree/master)
+* [Apache Newt Tool mirror on github.com](https://github.com/apache/incubator-mynewt-newt/tree/master)
+
+The most recent code to support a major feature (e.g. Bluetooth 5) can be found in a long-lived feature branch dedicated to that feature (bluetooth5, in the example for Bluetooth 5) and not the master. If you are interested in seeing the latest code for that feature,  you can clone the desired branch using git:
+
+```
+$ git clone git://github.com/apache/incubator-mynewt-core.git -b <feature-branch-name>
+$ git clone git://github.com/apache/incubator-mynewt-newt.git -b <feature-branch-name>
+```
+
+<br>
+
+For general information on using Git at Apache, go to https://git-wip-us.apache.org.
+
+<br>
+
+### Prior Releases
+
+* Apache Mynewt 0.8.0-b2-incubating, [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-0.8.0-b2-incubating), [Release Archive](https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-0.8.0-b2-incubating/)
+* Apache Mynewt 0.8.0-incubating, [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-0.8.0-incubating), [Release Archive](https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-0.8.0-incubating/)
+* Apache Mynewt 0.9.0-incubating, [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-0.9.0-incubating), [Release Archive](https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-0.9.0-incubating/)
+* Apache Mynewt 1.0.0-b1-incubating, [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.0.0-b1-incubating), [Release Archive](https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-1.0.0-b1-incubating/)
+* Apache Mynewt 1.0.0-b2-incubating, [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.0.0-b2-incubating), [Release Archive](https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-1.0.0-b2-incubating/)
+* Apache Mynewt 1.0.0-incubating, [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.0.0-incubating), [Release Archive](https://archive.apache.org/dist/incubator/mynewt/apache-mynewt-1.0.0-incubating/)
+* Apache Mynewt 1.1.0, [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.1.0), [Release Archive](https://archive.apache.org/dist/mynewt/apache-mynewt-1.1.0/)
+* Apache Mynewt 1.2.0, [Release Notes](https://cwiki.apache.org/confluence/display/MYNEWT/RN-1.2.0), [Release Archive](https://archive.apache.org/dist/mynewt/apache-mynewt-1.2.0/)
+<br>
+<br>
diff --git a/versions/v1_2_0/docs/events.md b/versions/v1_2_0/docs/events.md
new file mode 100644
index 0000000..b2f8e9d
--- /dev/null
+++ b/versions/v1_2_0/docs/events.md
@@ -0,0 +1,3 @@
+### Events
+
+Please take a look at our upcoming events! We hope to see you there.
diff --git a/versions/v1_2_0/docs/extra.css b/versions/v1_2_0/docs/extra.css
new file mode 100644
index 0000000..27164a3
--- /dev/null
+++ b/versions/v1_2_0/docs/extra.css
@@ -0,0 +1,19 @@
+
+/*
+ * Fix wrapping in the code highlighting
+ *
+ * https://github.com/mkdocs/mkdocs/issues/233
+ */
+code {
+    white-space: pre;
+}
+
+/*
+ * Wrap inline code samples otherwise they shoot off the side and
+ * can't be read at all.
+ *
+ * https://github.com/mkdocs/mkdocs/issues/313
+ */
+p code {
+    word-wrap: break-word;
+}
diff --git a/versions/v1_2_0/docs/faq/answers.md b/versions/v1_2_0/docs/faq/answers.md
new file mode 100644
index 0000000..1da1f0b
--- /dev/null
+++ b/versions/v1_2_0/docs/faq/answers.md
@@ -0,0 +1,74 @@
+## FAQ
+Here are some lists, grouped by categories, of frequently asked questions. 
+
+**Mynewt software questions:**
+
+* [How do I reduce the code size for my Mynewt image?](/os/tutorials/codesize/)
+
+
+**Administrative questions:**
+
+* [How do I submit a bug?](#submit-a-bug)
+* [How do I request a feature?](#request-feature)
+* [How do I submit a patch if I am not a committer?](#not-committer-patch)
+* [Can I merge my own Pull Request into the git repo if I am a committer?](#committer-merge)
+* [How do I make changes to documentation?](#change-doc)
+* [How do I make changes to documentation using an editor on my laptop?](#doc-editor)
+
+
+<br>
+### <a name="summit-a-bug"></a> How do I submit a bug?
+<br>
+If you do not have a JIRA account sign up for an account on [JIRA](https://issues.apache.org/jira/secure/Signup!default.jspa).
+
+Submit a request to the @dev mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project. You can view the issues on JIRA for the MYNEWT project without an account but you need to log in for reporting a bug. 
+
+Log in. Choose the "MYNEWT" project. Click on the "Create" button to create a ticket. Choose "Bug" as the Issue Type. Fill in the bug description, how it is triggered, and other details. 
+
+### <a name="request-feature"></a> How do I request a feature?
+<br>
+If you do not have a JIRA account sign up for an account on [JIRA](https://issues.apache.org/jira/secure/Signup!default.jspa).
+
+Submit a request to the @dev mailing list for your JIRA username to be added to the Apache Mynewt (MYNEWT) project. You can view the issues on JIRA for the MYNEWT project without an account but you need to log in for reporting a bug. 
+
+Log in. Choose the "MYNEWT" project. Click on the "Create" button to create a ticket. Choose "Wish" as the Issue Type. Fill in the feature description,  benefits, and any other implementation details. Note in the description whether you want to work on it yourself. 
+
+If you are not a committer and you wish to work on it, someone who is on the committer list will have to review your request and assign it to you. You will have to refer to this JIRA ticket in your pull request.
+
+### <a name="not-committer-patch"></a>I am not on the committer list. How do I submit a patch? 
+<br>
+**You submit your proposed changes for your peers with committer status to review and merge.**
+
+The process to submit a Pull Request on github.com is described on the [Confluence page for the project](https://cwiki.apache.org/confluence/display/MYNEWT/Submitting+Pull+Requests). 
+
+### <a name="committer-merge"></a>I am a committer in the project. Can I merge my own Pull Request into the git repository?
+<br>
+Yes, but only if your Pull Request has been reviewed and approved by another committer in Apache Mynewt.
+The process to merge a Pull Request is described on the [Confluence page for the project](https://cwiki.apache.org/confluence/display/MYNEWT/Merging+Pull+Requests).
+    
+### <a name="change-doc"></a>I would like to make some edits to the documentation. What do I do?
+<br>
+You submit your proposed changes for your peers with committer status to review and merge. 
+
+Go to the [documentation mirror](https://github.com/apache/mynewt-site) on github.com.
+
+Navigate to the file you wish to edit on github.com. All the technical documentation is in Markdown files under the `/docs` directory. Click on the pencil icon ("Edit the file in your fork of this project") and start making changes.
+
+Click the green "Propose file change" button. You will be directed to the page where you can start a pull request from the branch that was created for you. The branch is gets an automatic name `patch-#` where # is a number. Click on the green "Compare & pull request" to open the pull request.
+
+In the comment for the pull request, include a description of the changes you have made and why. Github will automatically notify everyone on the commits@mynewt.apache.org mailing list about the newly opened pull requests. You can open a pull request even if you don't think the code is ready for merging but want some discussion on the matter.
+
+Upon receiving notification, one or more committers will review your work, ask for edits or clarifications, and merge when your proposed changes are ready.
+
+If you want to withdraw the pull request simply go to your fork `https://github.com/<your github username>/mynewt-site` and click on "branches". You should see your branch under "Your branches". Click on the delete icon.
+
+### <a name="doc-editor"></a>I would like to make some edits to the documentation but want to use an editor on my own laptop. What do I do?
+<br>
+You submit your proposed changes for your peers with committer status to review and merge. 
+
+Go to the [documentation mirror](https://github.com/apache/mynewt-site) on github.com. You need to create your own fork of the repo in github.com by clicking on the "Fork" button on the top right. Clone the forked repository into your laptop (using `git clone` from a terminal or using the download buttons on the github page)and create a local branch for the edits and switching to it (using `git checkout -b <new-branchname>` or GitHub Desktop). 
+
+Make your changes using the editor of your choice. Push that branch to your fork on github. Then submit a pull request from that branch on your github fork.
+
+The review and merge process is the same as other pull requests described for earlier questions.
+
diff --git a/versions/v1_2_0/docs/faq/go_env.md b/versions/v1_2_0/docs/faq/go_env.md
new file mode 100644
index 0000000..c0a5f3a
--- /dev/null
+++ b/versions/v1_2_0/docs/faq/go_env.md
@@ -0,0 +1,182 @@
+## Contributing to Newt or Newtmgr Tools
+
+Newt and Newtmgr are written in Go (golang). This guide shows you how to install Go and setup your environment to update and build the tools if you want to: 
+
+* Build the tools with latest updates from the master branch on Linux or Windows platforms. 
+
+    **Note:** For Mac OS,  you can use the `brew install mynewt-newt -HEAD` and the `brew install mynewt-newtmgr --HEAD` commands.
+
+* Contribute to newt or newtmgr features or fix bugs.
+
+This guide shows you how to perform the following:
+
+1. Install Mac OS X, Linux, Windows. (Tasks that are specific to each platform are called out.)
+2. Setup the Go environment.
+3. Download the source, build, and install the newt or newtmgr tools.
+4. Update and rebuild the tools. 
+
+**Note:** You will also need to read and follow the instructions from the [FAQ](/faq/answers/) to set up your git repos to submit changes.
+
+
+### Step 1: Installing Go 
+The latest master branch of newt and newtmgr requires GO version 1.7.6 or higher. You can skip this step and proceed to Step 2 if you already have Go version 1.7.6 or higher installed.
+
+<br>
+#### Installing Go on Mac OS X
+
+If you do not have Homebrew installed, run the following command. You will be prompted for your sudo password.
+
+```no-highlight
+$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+```
+You can also extract (or `git clone`) Homebrew and install it to /usr/local.
+
+<br>
+Use brew to install Go:
+     
+```no-highlight
+$ brew install go
+==> 
+...
+... 
+==> Summary
+🍺  /usr/local/Cellar/go/1.8.3: 7,035 files, 282.0MB
+```
+You can also download the Go package directly from (https://golang.org/dl/) and install it in /usr/local/bin instead of brewing it. 
+
+<br>
+#### Installing Go on Linux and Windows
+You can download Go from [https://golang.org/dl/](https://golang.org/dl/).
+
+<br>
+###Step 2: Setting Up Your Go Environment 
+
+This section describes the Go environment and how to setup a Go workspace. If you already have a Go workspace for your other Go projects, you can skip this step and proceed to Step 3.
+
+Go provides an environment to compile Go code, construct Go packages,  and import Go code.  You will use Go commands to import the newt or newtmgr package repository into your local Go environment.  The Go language environment dictates a specific directory structure, or workspace in Go parlance. It must contain three sibling directories with the names **src**, **pkg** and **bin**: 
+
+* src contains Go source files organized into packages (one package per directory)
+* pkg contains package objects
+* bin contains the Go application executables that Go builds and installs.
+
+The **GOPATH** environment variable specifies the location of your workspace.  To setup this workspace environment, create a **dev** directory and then a **go** directory under it. Set the GOPATH environment variable to this directory where you will clone the newt and newtmgr repositories.
+    
+```no-highlight
+$ cd $HOME
+$ mkdir -p dev/go  
+$ cd dev/go
+$ export GOPATH=`pwd`
+```
+<br>
+Add the following export statements to your ~/.bash_profile file and source the file:
+```no-highlight
+export GOPATH=$HOME/dev/go
+export PATH=$GOPATH/bin:$PATH
+```
+<br>
+
+### Step 3: Downloading the Source and Installing the Tools 
+Newt and newtmgr are individual Go packages and have their own git repositories. You can download the source and install one or both tools.
+
+We use the `go get` command to download the source, build, and install the binary in the **$GOPATH/bin** directory. 
+
+<br>
+#### Downloading and Installing the Newt Tool
+
+The newt Go package is **mynewt.apache.org/newt/newt** and is stored in the [Apache Mynewt newt tool repository mirrored on github](https://github.com/apache/mynewt-newt). 
+
+
+Download the newt package source and install the tool:
+
+```no-highlight
+$cd $GOPATH
+$go get mynewt.apache.org/newt/newt
+$cd $GOPATH/src/mynewt.apache.org/newt
+$ls 
+DISCLAIMER		RELEASE_NOTES.md	util
+INSTALLING.md		build.sh		viper
+LICENSE			newt			yaml
+NOTICE			newtmgr
+README.md		newtvm
+$git status
+On branch master
+Your branch is up-to-date with 'origin/master'.
+nothing to commit, working directory clean
+```
+<br>
+**Note:** The source code under the **newtmgr** directory is no longer used or updated. The current **newtmgr** source has its own Git repository.
+
+<br>
+Check that the newt binary is installed and you are using the one from ** $GOPATH/bin**:
+
+```no-highlight
+$ls $GOPATH/bin/newt
+~/dev/go/bin/newt
+$which newt
+~/dev/go/bin/newt
+$newt version
+Apache Newt version: 1.1.0-dev
+```
+<br>
+#### Downloading and Installing the Newtmgr Tool
+
+The newtmgr Go package is **mynewt.apache.org/newtmgr/newtmgr**. It is stored in the [Apache Mynewt newtmgr tool repository mirrored on github](https://github.com/apache/mynewt-newtmgr).
+
+Download the newtmgr package and install the tool:
+
+```no-highlight
+$cd $GOPATH
+$go get mynewt.apache.org/newtmgr/newtmgr
+$cd $GOPATH/src/mynewt.apache.org/newtmgr
+$ls
+LICENSE		NOTICE		README.md	newtmgr		nmxact
+$git status
+On branch master
+Your branch is up-to-date with 'origin/master'.
+nothing to commit, working directory clean
+```
+<br>
+Check that the newtmgr binary is installed and you are using the one from **$GOPATH/bin**:
+
+```no-highlight
+$ls $GOPATH/bin/newtmgr
+~/dev/go/bin/newtmgr
+$which newtmgr
+~/dev/go/bin/newtmgr
+```
+<br>
+### Step 4: Updating and Rebuilding the Tools:
+This section shows you how to rebuild the newt and newtmgr tools with the latest updates from the master branch or after you have made changes in your branch. 
+
+Here is the general procedure to rebuild either the newt or newtmgr tool. The only difference is the directory where you will be executing the commands from. You will need to repeat the procedure to rebuild both tools.
+
+1. Change to the directory where the local Git repository for the tool is installed.
+2. Pull the latest changes from the master branch. If you made changes you will need to rebase with **origin master** (See [FAQ](/faq/answers/)).
+3. Build and install the tool.
+
+<br>
+Change to the directory where the source for the tool is installed.
+
+For the  **newt** tool:
+```no-highlight
+$cd $GOPATH/src/mynewt.apache.org/newt/newt
+```
+
+For the **newtmgr** tool:
+```no-highlight
+$cd $GOPATH/src/mynewt.apache.org/newtmgr/newtmgr
+```
+<br>
+After you change to the specific tool directory, get the latest updates from the master branch.  If you made changes and need to rebase with the origin, add the `--rebase origin master` arguments to the  `git pull` command:
+
+```no-highlight
+$git pull 
+```
+
+<br>
+Build and install the tool. The updated binary will be installed in the **$GOPATH/bin** directory: 
+
+```no-highlight
+$go install
+```
+You can run the `ls -l` command to check the modification time for the binary to ensure the new version is installed. 
diff --git a/versions/v1_2_0/docs/faq/how_to_edit_docs.md b/versions/v1_2_0/docs/faq/how_to_edit_docs.md
new file mode 100644
index 0000000..1725612
--- /dev/null
+++ b/versions/v1_2_0/docs/faq/how_to_edit_docs.md
@@ -0,0 +1,55 @@
+## How to Edit Docs  
+
+### Objective
+
+Learn the process of editing docs by adding some content to a test document.
+
+### Markdown, MkDocs, Mou
+
+The Mynewt documentation you see on the Apache website is a bunch of HTML files generated using MkDocs which is a simple static site generation tool geared towards building project documentation. You can read about it at [http://www.mkdocs.org](http://www.mkdocs.org). Documentation source files are written in Markdown, and configured with a single YAML configuration file. Markdown is a lightweight markup language with plain text formatting syntax designed so that it can be converted to H [...]
+
+The HTML pages are generated periodically after changes have been reviewed and accepted into the master branch.
+
+
+### Access to the Apache repo
+
+Get an account on Apache. You do not need a committer account to view the website or clone the repository but you need it to push changes to it.
+
+If you are not a committer, you may follow the proposed non-committer workflow to share your work. The direct link to the proposed workflow is [https://git-wip-us.apache.org/docs/workflow.html](https://git-wip-us.apache.org/docs/workflow.html). You will find the steps described in more detail later in this tutorial.
+
+### Editing an existing page
+
+* Create a fork on the [github mirror](https://github.com/apache/mynewt-site).
+* Create a new branch to work on your documentation and move to that branch.
+```
+        $ git checkout -b <your-branch-name>
+```
+
+* Make changes directly on github.com. Generate a pull request. Alternatively, you can edit locally on your machine, push the branch (or the changes in the branch) to your fork on github.com, and then generate a pull request.
+
+### Adding a new page
+
+If you create a new file somewhere in the `docs` subdirectory to add a new page, you have to add a line in the `mkdocs.yml` file at the correct level. For example, if you add a new module named "Wi-Fi" by creating a new file named `wifi.md` in the `network` directory, you have to insert the following line under `Networking User Guide` in the `mkdocs.yml` file (at the same level as the `docs` directory). In this example, a link will show up in the navigation bar on the left under "Network [...]
+
+```
+        - 'Wi-Fi': 'wifi.md'
+```
+### Local preview of HTML files
+
+You have the option to install MkDocs and do a local conversion yourself to preview the pages using the built-in webserver that comes with MkDocs. In order to install MkDocs you'll need Python installed on your system, as well as the Python package manager, pip. You can check if you have them already (usually you will).
+```
+        $ python --version
+        Python 2.7.2
+        $ pip --version
+        pip 1.5.2
+        $ pip install mkdocs
+```
+You will then run the built-in webserver from the root of the documentation directory using the command `mkdocs serve`. The root directory for documentation is `mynewt-site` or the directory with the `mkdocs.yml` file.
+```
+        $ ls
+        docs		images		mkdocs.yml
+        $ mkdocs serve
+```
+Then go to [http://127.0.0.1:8000](http://127.0.0.1:8000) to preview your pages and see how they will look on the website. **Remember that the Myself website itself will not be updated.**
+        
+For more information on MkDocs go to [http://www.mkdocs.org](http://www.mkdocs.org). 
diff --git a/versions/v1_2_0/docs/faq/ide.md b/versions/v1_2_0/docs/faq/ide.md
new file mode 100644
index 0000000..bacee39
--- /dev/null
+++ b/versions/v1_2_0/docs/faq/ide.md
@@ -0,0 +1,252 @@
+## Developing Mynewt Applications with Visual Studio Code 
+
+This guide shows you how to set up Visual Studio Code to develop and debug Mynewt applications. Visual Studio Code is supported on Mac OS, Linux, and Windows.  This guide shows you how to:
+
+1. Install Visual Studio Code. 
+2. Install the C/C++ and debugger extensions.
+3. Define task configurations to build Mynewt applications.
+4. Define debugger configurations to debug Mynewt applications. 
+5. Launch the debugger. 
+
+Prerequisites:
+
+* Have Internet connectivity to fetch remote Mynewt components.
+* Have a computer to build a Mynewt application.
+* Perform [native installation](/os/get_started/native_install_intro.md) for the Mynewt tools and toolchains.
+	
+	**Note:** For Windows platforms, ensure that the MinGW bash you install is added to your Windows Path. In addition, if you are using Windows 10 WSL, you must have the MinGW bash before the Windows 10 WSL bash in your Windows Path.
+
+* Read the Mynewt OS Concepts section.
+* Create a project space (directory structure) and populate it with the core code repository (apache-mynewt-core) or know how to as explained in Creating Your First Project.  
+* Complete one of the [Blinky Tutorials](/os/tutorials/blinky.md).
+
+**Notes:** 
+
+* This guide is not a tutorial for Visual Studio Code. It assumes you are familiar with Visual Studio Code. If this is your first time using Visual Studio Code, we recommend that you read the Visual Studio Code [documentation and tutorials](https://code.visualstudio.com/docs) and evaluate whether you would like to use it to develop Mynewt applications. 
+* This guide uses Visual Studio Code on Windows. Visual Studio Code is supported on Linux and Mac OS but may have some variations in the keyboard shortcuts and command names for these platforms. 
+* You can also use the Eclipse IDE to develop Mynewt applications. See [https://www.codecoup.pl/blog/hacking-mynewt-in-eclipse](https://www.codecoup.pl/blog/hacking-mynewt-in-eclipse) for more details. On Windows platforms, you must also ensure the MinGW bash is set in your Windows Path as described in the prerequisites.
+
+### Installing Visual Studio Code
+Download and install Visual Studio Code from [https://code.visualstudio.com/](https://code.visualstudio.com/).
+
+### Installing the C/C++ and Debugger Extensions
+
+You need to install two extensions:
+
+1. The C/C++ extension from Microsoft. This extension provides language support such as symbol searching, signatuare help, go to definition, and go to declaration.
+
+2. The Native Debug extension from webfreak. This extension provides GDB support. 
+
+<br>
+To install the C/C++ extension:
+
+1. Press `Ctrl-P` to open the search box.
+2. Type `ext install cpptools` in the search box and press Enter.   You should see the extension at the top of the list. 
+3. Click `Install` to install the extension. 
+<br>
+
+To install the Native Debugger:
+
+1. Press `Ctrl-P` to open the search box.
+2. Type `ext install webfreak.debug` in the search box and press Enter.  You should see the Native Debug extension at the top of the list.
+3. Click `Install` to install the extension. 
+<br>
+###Defining Tasks for Mynewt Projects
+
+Two main concepts in Visual Studio Code are workspaces and tasks.  A workspace represents a folder that is open.  You can open multiple workspaces and switch between workspaces. 
+
+Tasks allow you to integrate the external tools and operations that are used to build or test your project into Visual Studio Code. Tasks are run from and the task results can be analyzed in Visual Studio Code.  Tasks are defined within the scope of a workspace. This means that the tasks you define for a workspace only apply to the given workspace.
+
+<br>
+####Associating a Mynewt Project to a Workspace 
+For your Mynewt project, your Visual Studio Code workspace is the Mynewt project base directory. For example, if you create a project named `myproj` under the `~/dev` directory, then you open the `~/dev/myproj` folder for your workspace.  
+
+Select **File** > **Open Folder**, and select the `myproj` folder from the `Select Folder` dialog box to open the folder.
+
+<br>
+####Defining Visual Studio Code Tasks to Build and Debug Mynewt Applications
+
+You define Visual Studio Code tasks to build and debug your Mynewt targets in Visual Studio Code. We use the Blinky application for the Arduino Zero board from the [Blinky On Arduino Zero Tutorial](/os/tutorials/arduino_zero.md) to illustrate how to define the tasks to build and debug the Arduino blinky bootloader and application targets.
+
+Perform the following steps to create the tasks to build and debug the Arduino blinky bootloader and appliction targets:
+
+Step 1: Press `Ctrl-Shift-P`, type `task`, and select **Tasks:Configure Task Runner** from the search results.  
+
+Step 2: Select **Others** (scroll down to the bottom of the list) to create a task runner for external commands. 
+<br>
+<p align="center"><img src="/faq/pics/task_runner_small.png"></p>
+<br>
+Tasks are defined in the `tasks.json` file. You should see the `.vscode` folder created in the `MYPROJ` folder and a `tasks.json` file created in the `.vscode` folder.  The `tasks.json` file has the following default values. 
+
+<br>
+<p align="center"><img src="/faq/pics/task_json_small.png"></p>
+<br>
+
+The sample `tasks.json` file defines a simple task that runs the echo command with "Hello World" as the argument. 
+
+Step 3: Delete the content from the `tasks.json` file, add the following definitions, and press  `Ctrl-S` to save the file.
+
+```no-highlight
+{
+    "version": "0.1.0",
+    "command": "newt",
+    "echoCommand": true,
+    "isShellCommand": true,
+    
+    "tasks":[
+        {
+            "taskName": "build_arduino_boot",
+            "args": ["build", "arduino_boot"],
+            "suppressTaskName": true
+        },
+        {
+            "taskName": "build_arduino_blinky",
+            "args": ["build", "arduino_blinky"],
+            "isBuildCommand": true,  
+            "suppressTaskName": true
+        },
+        {
+            "taskName": "create_arduino_blinky",
+            "args": ["create-image", "arduino_blinky", "1.0.0"],
+            "suppressTaskName":true
+        }, 
+        {
+            "taskName": "debug_arduino_blinky",
+            "args": ["debug", "arduino_blinky", "-n"],
+            "suppressTaskName": true
+        }
+    ]
+}
+``` 
+<br>
+The `tasks.json` file specifies the tasks that are run to build and debug the Arduino blinky targets. Each task runs a `newt` command. The `newt` command to run and the arguments for the `newt` command are passed in the `args` property for each task.  
+
+The following tasks are defined in this example:
+
+1. **build_arduino_boot**: Runs the `newt build arduino_boot` command to build the arduino_boot target.
+2. **build_arduino_blinky**: Runs the `newt build arduino_blinky` command to build the arduino_blinky target.  
+	
+	**Note:** This task sets the `isBuildCommand` property to `true`. This is an optional property that, when set to true,  allows you to run the **Tasks: Run Build Task**(`Ctrl-Shift-B`) command to start the task.
+
+3. **create_arduino_blinky**: Runs the `newt create-image arduino_blinky` command to create the image file.
+4. **debug_arduino_blinky**: Runs the `newt debug arduino_blinky -n` command to debug the arduino_blinky target. The `-n` flag is specified to start only the GDB server and not the GDB client.  We will launch the GDB client from Visual Studio Code.
+
+For more information on tasks and all supported properties, see the [Visual Studio Code Task documentation](https://code.visualstudio.com/docs/editor/tasks).
+
+<br>
+####Running a Task
+
+To run a task, press `Ctrl-Shift-P`, type `task` on the search box, and select **Tasks: Run Task**.  The tasks that you define in the `tasks.json` file are listed.  Select the task to run. 
+
+The following is an example of running the `build_arduino_boot` task:
+<br>
+<p align="center"><img src="/faq/pics/task_select_small.png"></p>
+<br>
+<br>
+<p align="center"><img src="/faq/pics/task_start_small.png"></p>
+
+<br>
+
+**Note**:To run the `build_arduino_blinky` task, you can use the keyboard shortcut `Ctrl-Shift-B` because the task has the property `isBuildCommand` set to true.  
+
+<br>
+####Defining Tasks for Other Newt Commands
+
+Other newt commands, such as the `newt load` command, do not need to run from within Visual Studio Code. You can define a task for each command as a convenience and run the command as a task, or you can run the newt command on the command line from the Visual Studio Code integrated terminal or an external terminal.
+
+To create the tasks for the `newt load arduino_boot` and `newt load arduino_blinky` commands, add the following definitions to the `tasks.json` file:
+
+```no-highlight
+        {
+            "taskName": "load_arduino_boot",
+            "args": ["load", "arduino_boot"],
+            "suppressTaskName":true
+        }, 
+        {
+            "taskName": "load_arduino_blinky",
+            "args": ["load", "arduino_blinky"],
+            "suppressTaskName":true
+        }, 
+
+```
+
+
+<br>
+To run a command from the Visual Studio integrated terminal, instead of starting a task,  press ``Ctrl-` `` to launch the integrated terminal and enter the command on the prompt:
+<br>
+<p align="center"><img src="/faq/pics/integrated_terminal_small.png"></p>
+<br>
+###Defining Debugger Configurations
+You need to define a debugger configuration to launch the GDB debugger from within Visual Studio Code: 
+
+Step 1: Select **Debug** > **Open Configuration**, and select the **GDB** environment.
+
+<br>
+<p align="center"><img src="/faq/pics/debug_new_config_small.png"></p>
+<br>
+
+You should see a default `launch.json` file created in the `.vscode` folder.
+<br>
+<p align="center"><img src="/faq/pics/launch_small.png"></p>
+<br>
+
+<br>
+Step 2: Delete the content from the `launch.json` file, add the following definitions, and press 'Ctrl-S' to save the file.
+
+```no-highlight
+{
+    "version": "0.2.0",
+    "configurations": [
+        {
+            "name": "gdb_arduino_blinky",
+            "type": "gdb",
+            "request": "attach",
+            "executable": "${workspaceRoot}\\bin\\targets\\arduino_blinky\\app\\apps\\blinky\\blinky.elf",
+            "target": ":3333",
+            "cwd": "${workspaceRoot}",
+            "gdbpath": "C:\\Program Files (x86)\\GNU Tools ARM Embedded\\4.9 2015q2\\bin\\arm-none-eabi-gdb.exe",
+            "remote": true
+
+        }
+    ]
+}
+
+```
+<br>
+This defines a `gdb_arduino_blinky` debugger configuration. It specifies: 
+
+* The debugger is type **gdb**.
+* To use the `blinky.elf` file for the executable. 
+* To use port 3333 to connect with the remote target.
+* To use arm-none-eabi-gdb for the GDB program. 
+<br>
+###Debugging Your Application
+To debug your application, start the GDB server and launch the GDB session from Visual Studio Code. For the the arduino blinky example, perform the following:
+
+Step 1: Run the debug_arduino_blinky task to start the GDB server. Perform the following:
+
+1. Press `Ctrl-Shift-P` and type `task` in the search box. 
+2. Select **Tasks:Run Task** > **debug_arduino_blinky**.
+3. Press `Ctrl-Shift-U` to open the Output Panel and see the OpenOCD GDB Server output.
+<br>	
+<p align="center"><img src="/faq/pics/gdb_server_small.png"></p>
+<br>
+
+Step 2: Start the GDB session. Perform the following: 
+
+1. Press `Ctrl-Shift-Y`  to view the Debug Console. 
+2. Press the Debugging icon on the activity bar (Ctrl-Shift-D) to bring up the Debug Side Bar.
+3. Select `gdb_arduino_blinky` from the DEBUG drop down menu. 
+4. Press the green play button to start the gdb session.
+	
+<p align="center"><img src="/faq/pics/gdb_small.png"></p>
+<br>
+Step 3: Debug your application. You should see a debug session similar to the one shown below:
+<p align="center"><img src="/faq/pics/gdb_debug_small.png"></p>
+<br>
+For more information on how to use the Visual Studio Code Debugger, see the [Visual Studio Code debugging documentation](https://code.visualstudio.com/docs/editor/debugging).
+
+
+### Working with Multiple Mynewt Applications
+
+As mentioned previously,  each mynewt project corresponds to a Visual Studio Code workspace.  If you have multiple Mynewt application targets defined in same project, you will need to define build and debug tasks for each target in the `tasks.json` file and debugger configurations for the targets in the `launch.json` file for the workspace. If you have a different Mynewt project for each mynewt application, you will need to define build and debug tasks in the `tasks.json` file and the de [...]
diff --git a/versions/v1_2_0/docs/faq/mynewt_dev_cycle.jpg b/versions/v1_2_0/docs/faq/mynewt_dev_cycle.jpg
new file mode 100644
index 0000000..6b4795d
Binary files /dev/null and b/versions/v1_2_0/docs/faq/mynewt_dev_cycle.jpg differ
diff --git a/versions/v1_2_0/docs/faq/pics/debug_new_config_small.png b/versions/v1_2_0/docs/faq/pics/debug_new_config_small.png
new file mode 100755
index 0000000..5d2e287
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/debug_new_config_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/gdb_debug_small.png b/versions/v1_2_0/docs/faq/pics/gdb_debug_small.png
new file mode 100755
index 0000000..5ebfb11
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/gdb_debug_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/gdb_server_small.png b/versions/v1_2_0/docs/faq/pics/gdb_server_small.png
new file mode 100755
index 0000000..e6a42d7
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/gdb_server_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/gdb_small.png b/versions/v1_2_0/docs/faq/pics/gdb_small.png
new file mode 100755
index 0000000..f6c35d2
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/gdb_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/integrated_terminal_small.png b/versions/v1_2_0/docs/faq/pics/integrated_terminal_small.png
new file mode 100755
index 0000000..11414c8
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/integrated_terminal_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/launch_small.png b/versions/v1_2_0/docs/faq/pics/launch_small.png
new file mode 100755
index 0000000..5c13dcf
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/launch_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/task_json_small.png b/versions/v1_2_0/docs/faq/pics/task_json_small.png
new file mode 100755
index 0000000..5047f61
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/task_json_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/task_runner_small.png b/versions/v1_2_0/docs/faq/pics/task_runner_small.png
new file mode 100755
index 0000000..25a70fa
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/task_runner_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/task_select_small.png b/versions/v1_2_0/docs/faq/pics/task_select_small.png
new file mode 100755
index 0000000..35bc304
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/task_select_small.png differ
diff --git a/versions/v1_2_0/docs/faq/pics/task_start_small.png b/versions/v1_2_0/docs/faq/pics/task_start_small.png
new file mode 100755
index 0000000..f84cd26
Binary files /dev/null and b/versions/v1_2_0/docs/faq/pics/task_start_small.png differ
diff --git a/versions/v1_2_0/docs/images/egg-logo2.png b/versions/v1_2_0/docs/images/egg-logo2.png
new file mode 100644
index 0000000..9d25899
Binary files /dev/null and b/versions/v1_2_0/docs/images/egg-logo2.png differ
diff --git a/versions/v1_2_0/docs/index.md b/versions/v1_2_0/docs/index.md
new file mode 100644
index 0000000..bc1906c
--- /dev/null
+++ b/versions/v1_2_0/docs/index.md
@@ -0,0 +1 @@
+Apache Mynewt is a real-time, modular operating system for connected IoT devices that need to operate for long periods of time under power, memory, and storage constraints. The first connectivity stack offered is BLE 4.2.
diff --git a/versions/v1_2_0/docs/known_issues.md b/versions/v1_2_0/docs/known_issues.md
new file mode 100644
index 0000000..37146e1
--- /dev/null
+++ b/versions/v1_2_0/docs/known_issues.md
@@ -0,0 +1,18 @@
+## Known Issues
+
+Here is a list of known issues and workarounds:
+
+1. `newt install` returns the following error:
+
+        ReadDesc: No matching branch for apache-mynewt-core repo
+        No matching branch for apache-mynewt-core repo 
+
+    The apache-mynewt-core Git repository location has changed due to Mynewt's graduation from an incubator project to an Apache top level project.  The HTTP redirect to the new location may fail for some users.  
+
+       **Workaround:** Edit the `project.yml` file and change the line `repo: incubator-mynewt-core` as shown in the following example to `repo: mynewt-core`:
+
+            repository.apache-mynewt-core:
+                type: github
+                vers: 1-latest
+       	        user: apache
+                repo: incubator-mynewt-core
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/ble_att.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/ble_att.md
new file mode 100644
index 0000000..4778706
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/ble_att.md
@@ -0,0 +1,27 @@
+## <font color="F2853F" style="font-size:24pt">NimBLE Host ATT Client Reference</font>
+
+### Introduction
+
+The Attribute Protocol (ATT) is a mid-level protocol that all BLE devices use to exchange data.  Data is exchanged when an ATT client reads or writes an attribute belonging to an ATT server.  Any device that needs to send or receive data must support both the client and server functionality of the ATT protocol.  The only devices which do not support ATT are the most basic ones: broadcasters and observers (i.e., beaconing devices and listening devices).
+
+Most ATT functionality is not interesting to an application.  Rather than use ATT directly, an application uses the higher level GATT profile, which sits directly above ATT in the host.  NimBLE exposes the few bits of ATT functionality which are not encompassed by higher level GATT functions.  This section documents the ATT functionality that the NimBLE host exposes to the application.
+
+### Header
+
+```c
+#include "host/ble_hs.h"
+```
+
+### Definitions
+
+None.
+
+### Functions
+
+| Function | Description |
+|----------|-------------|
+| [ble_att_mtu](functions/ble_att_mtu.md) | Retrieves the ATT MTU of the specified connection. |
+| [ble_att_preferred_mtu](functions/ble_att_preferred_mtu.md) | Retrieves the preferred ATT MTU. |
+| [ble_att_set_preferred_mtu](functions/ble_att_set_preferred_mtu.md) | Sets the preferred ATT MTU; the device will indicate this value in all subseqeunt ATT MTU exchanges. |
+| [ble_att_svr_read_local](functions/ble_att_svr_read_local.md) | Reads a locally registered attribute. |
+| [ble_att_svr_write_local](functions/ble_att_svr_write_local.md) | Writes a locally registered attribute. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_mtu.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_mtu.md
new file mode 100644
index 0000000..b33b922
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_mtu.md
@@ -0,0 +1,20 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_att\_mtu</font>
+
+```c
+uint16_t
+ble_att_mtu(uint16_t conn_handle)
+```
+
+### Description
+
+Retrieves the ATT MTU of the specified connection.  If an MTU exchange for this connection has occurred, the MTU is the lower of the two peers' preferred values.  Otherwise, the MTU is the default value of 23.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The handle of the connection to query. |
+
+### Returned values
+
+The specified connection's ATT MTU, or 0 if there is no such connection.
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_preferred_mtu.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_preferred_mtu.md
new file mode 100644
index 0000000..d3e2c54
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_preferred_mtu.md
@@ -0,0 +1,18 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_att\_preferred\_mtu</font>
+
+```c
+uint16_t
+ble_att_preferred_mtu(void)
+```
+
+### Description
+
+Retrieves the preferred ATT MTU.  This is the value indicated by the device during an ATT MTU exchange.
+
+### Parameters
+
+None
+
+### Returned values
+
+The preferred ATT MTU.
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_set_preferred_mtu.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_set_preferred_mtu.md
new file mode 100644
index 0000000..3d8e86f
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_set_preferred_mtu.md
@@ -0,0 +1,23 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_att\_set\_preferred\_mtu</font>
+
+```c
+int
+ble_att_set_preferred_mtu(uint16_t mtu)
+```
+
+### Description
+
+Sets the preferred ATT MTU; the device will indicate this value in all subseqeunt ATT MTU exchanges.  The ATT MTU of a connection is equal to the lower of the two peers' preferred MTU values.  The ATT MTU is what dictates the maximum size of any message sent during a GATT procedure.  The specified MTU must be within the following range: [23, BLE\_ATT\_MTU\_MAX]. 23 is a minimum imposed by the Bluetooth specification; BLE\_ATT\_MTU\_MAX is a NimBLE compile-time setting.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| mtu | The preferred ATT MTU. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EINVAL | The specifeid value is not within the allowed range. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_svr_read_local.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_svr_read_local.md
new file mode 100644
index 0000000..baa0f62
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_svr_read_local.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_att\_svr\_read\_local</font>
+
+```c
+int
+ble_att_svr_read_local(
+          uint16_t   attr_handle,
+    struct os_mbuf **out_om
+)
+```
+
+### Description
+
+Reads a locally registered attribute.  If the specified attribute handle coresponds to a GATT characteristic value or descriptor, the read is performed by calling the registered GATT access callback.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| attr\_handle | The 16-bit handle of the attribute to read. |
+| out\_om | On success, this is made to point to a newly-allocated mbuf containing the attribute data read. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [ATT return code](../../ble_hs_return_codes/#return-codes-att) | The attribute access callback reports failure. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local.md
new file mode 100644
index 0000000..c4ee452
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_att\_svr\_write\_local</font>
+
+```c
+int
+ble_att_svr_write_local(
+          uint16_t  attr_handle,
+    struct os_mbuf *om
+)
+```
+
+### Description
+
+Writes a locally registered attribute.  This function consumes the supplied mbuf regardless of the outcome.  If the specified attribute handle coresponds to a GATT characteristic value or descriptor, the write is performed by calling the registered GATT access callback.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| attr\_handle | The 16-bit handle of the attribute to write. |
+| om | The value to write to the attribute. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [ATT return code](../../ble_hs_return_codes/#return-codes-att) | The attribute access callback reports failure. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/mdtoc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/mdtoc.md
new file mode 100644
index 0000000..18238ae
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_att/mdtoc.md
@@ -0,0 +1,8 @@
+            - 'ATT':
+                - toc: 'network/ble/ble_hs/ble_att/ble_att.md'
+                - 'Functions':
+                    - 'ble_att_mtu': 'network/ble/ble_hs/ble_att/functions/ble_att_mtu.md'
+                    - 'ble_att_preferred_mtu': 'network/ble/ble_hs/ble_att/functions/ble_att_preferred_mtu.md'
+                    - 'ble_att_set_preferred_mtu': 'network/ble/ble_hs/ble_att/functions/ble_att_set_preferred_mtu.md'
+                    - 'ble_att_svr_read_local': 'network/ble/ble_hs/ble_att/functions/ble_att_svr_read_local.md'
+                    - 'ble_att_svr_write_local': 'network/ble/ble_hs/ble_att/functions/ble_att_svr_write_local.md'
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/ble_gap.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/ble_gap.md
new file mode 100644
index 0000000..2375aea
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/ble_gap.md
@@ -0,0 +1,48 @@
+## <font color="F2853F" style="font-size:24pt">NimBLE Host GAP Reference</font>
+
+### Introduction
+
+The Generic Access Profile (GAP) is responsible for all connecting, advertising, scanning, and connection updating operations.
+
+### Header
+
+```c
+#include "host/ble_hs.h"
+```
+
+### Definitions
+
+[BLE host GAP definitions](definitions/ble_gap_defs.md)
+
+### Functions
+
+| Function | Description |
+|----------|-------------|
+| [ble_gap_adv_active](functions/ble_gap_adv_active.md) | Indicates whether an advertisement procedure is currently in progress. |
+| [ble_gap_adv_rsp_set_data](functions/ble_gap_adv_rsp_set_data.md) | Configures the data to include in subsequent scan responses. |
+| [ble_gap_adv_rsp_set_fields](functions/ble_gap_adv_rsp_set_fields.md) | Configures the fields to include in subsequent scan responses. |
+| [ble_gap_adv_set_data](functions/ble_gap_adv_set_data.md) | Configures the data to include in subsequent advertisements. |
+| [ble_gap_adv_set_fields](functions/ble_gap_adv_set_fields.md) | Configures the fields to include in subsequent advertisements. |
+| [ble_gap_adv_set_phys](functions/ble_gap_adv_set_phys.md) | <font color="red"> [experimental]</font> Configures primary and secondary PHYs to use in subsequent extended advertisements from Bluetooth 5. |
+| [ble_gap_adv_set_tx_power](functions/ble_gap_adv_set_tx_power.md) | <font color="red"> [experimental]</font> Configures Tx Power level to use in subsequent extended advertisements from Bluetooth 5. |
+| [ble_gap_adv_start](functions/ble_gap_adv_start.md) | Initiates advertising. |
+| [ble_gap_adv_stop](functions/ble_gap_adv_stop.md) | Stops the currently-active advertising procedure. |
+| [ble_gap_conn_active](functions/ble_gap_conn_active.md) | Indicates whether a connect procedure is currently in progress. |
+| [ble_gap_conn_cancel](functions/ble_gap_conn_cancel.md) | Aborts a connect procedure in progress. |
+| [ble_gap_conn_find](functions/ble_gap_conn_find.md) | Searches for a connection with the specified handle. |
+| [ble_gap_conn_rssi](functions/ble_gap_conn_rssi.md) | Retrieves the most-recently measured RSSI for the specified connection. |
+| [ble_gap_connect](functions/ble_gap_connect.md) | Initiates a connect procedure. |
+| [ble_gap_ext_connect](functions/ble_gap_ext_connect.md) |  <font color="red"> [experimental]</font> Same as above but using extended connect from Bluetooth 5. |
+| [ble_gap_disc](functions/ble_gap_disc.md) | Performs the Limited or General Discovery Procedures. |
+| [ble_gap_ext_disc](functions/ble_gap_ext_disc.md) |  <font color="red"> [experimental]</font>  Same as above but using extended advertising from Bluetooth 5. |
+| [ble_gap_disc_active](functions/ble_gap_disc_active.md) | Indicates whether a discovery procedure is currently in progress. |
+| [ble_gap_disc_cancel](functions/ble_gap_disc_cancel.md) | Cancels the discovery procedure currently in progress. |
+| [ble_gap_security_initiate](functions/ble_gap_security_initiate.md) | Initiates the GAP encryption procedure. |
+| [ble_gap_set_event_cb](functions/ble_gap_set_event_cb.md) | Configures a connection to use the specified GAP event callback. |
+| [ble_gap_terminate](functions/ble_gap_terminate.md) | Terminates an established connection. |
+| [ble_gap_update_params](functions/ble_gap_update_params.md) | Initiates a connection parameter update procedure. |
+| [ble_gap_wl_set](functions/ble_gap_wl_set.md) | Overwrites the controller's white list with the specified contents. |
+| [ble_gap_set_priv_mode](functions/ble_gap_set_priv_mode.md) | Set privacy mode for peer device. |
+| [ble_gap_read_le_phy](functions/ble_gap_read_le_phy.md) | Read PHY on the connections. |
+| [ble_gap_set_prefered_default_le_phy](functions/ble_gap_set_prefered_default_le_phy.md) | Set default prefered PHY mode for new connections. |
+| [ble_gap_set_prefered_le_phy](functions/ble_gap_set_prefered_le_phy.md) | Set prefered PHY mode for the connections. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/definitions/ble_gap_defs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/definitions/ble_gap_defs.md
new file mode 100644
index 0000000..7f8606c
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/definitions/ble_gap_defs.md
@@ -0,0 +1,582 @@
+## <font color="#F2853F" style="font-size:24pt">GAP events</font>
+
+```c
+typedef int ble_gap_event_fn(struct ble_gap_event *ctxt, void *arg);
+```
+
+```c
+#define BLE_GAP_EVENT_CONNECT               0
+#define BLE_GAP_EVENT_DISCONNECT            1
+#define BLE_GAP_EVENT_CONN_CANCEL           2
+#define BLE_GAP_EVENT_CONN_UPDATE           3
+#define BLE_GAP_EVENT_CONN_UPDATE_REQ       4
+#define BLE_GAP_EVENT_L2CAP_UPDATE_REQ      5
+#define BLE_GAP_EVENT_TERM_FAILURE          6
+#define BLE_GAP_EVENT_DISC                  7
+#define BLE_GAP_EVENT_DISC_COMPLETE         8
+#define BLE_GAP_EVENT_ADV_COMPLETE          9
+#define BLE_GAP_EVENT_ENC_CHANGE            10
+#define BLE_GAP_EVENT_PASSKEY_ACTION        11
+#define BLE_GAP_EVENT_NOTIFY_RX             12
+#define BLE_GAP_EVENT_NOTIFY_TX             13
+#define BLE_GAP_EVENT_SUBSCRIBE             14
+#define BLE_GAP_EVENT_MTU                   15
+#define BLE_GAP_EVENT_IDENTITY_RESOLVED     16
+#define BLE_GAP_EVENT_REPEAT_PAIRING        17
+```
+
+```c
+/**
+ * Represents a GAP-related event.  When such an event occurs, the host
+ * notifies the application by passing an instance of this structure to an
+ * application-specified callback.
+ */
+struct ble_gap_event {
+    /**
+     * Indicates the type of GAP event that occurred.  This is one of the
+     * BLE_GAP_EVENT codes.
+     */
+    uint8_t type;
+
+    /**
+     * A discriminated union containing additional details concerning the GAP
+     * event.  The 'type' field indicates which member of the union is valid.
+     */
+    union {
+        /**
+         * Represents a connection attempt.  Valid for the following event
+         * types:
+         *     o BLE_GAP_EVENT_CONNECT
+         */
+        struct {
+            /**
+             * The status of the connection attempt;
+             *     o 0: the connection was successfully established.
+             *     o BLE host error code: the connection attempt failed for
+             *       the specified reason.
+             */
+            int status;
+
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+        } connect;
+
+        /**
+         * Represents a terminated connection.  Valid for the following event
+         * types:
+         *     o BLE_GAP_EVENT_DISCONNECT
+         */
+        struct {
+            /**
+             * A BLE host return code indicating the reason for the
+             * disconnect.
+             */
+            int reason;
+
+            /** Information about the connection prior to termination. */
+            struct ble_gap_conn_desc conn;
+        } disconnect;
+
+        /**
+         * Represents an advertising report received during a discovery
+         * procedure.  Valid for the following event types:
+         *     o BLE_GAP_EVENT_DISC
+         */
+        struct ble_gap_disc_desc disc;
+
+#if MYNEWT_VAL(BLE_EXT_ADV)
+        /**
+         * Represents an extended advertising report received during a discovery
+         * procedure.  Valid for the following event types:
+         *     o BLE_GAP_EVENT_EXT_DISC
+         */
+        struct ble_gap_ext_disc_desc ext_disc;
+#endif
+        /**
+         * Represents an attempt to update a connection's parameters.  If the
+         * attempt was successful, the connection's descriptor reflects the
+         * updated parameters.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_CONN_UPDATE
+         */
+        struct {
+            /**
+             * The result of the connection update attempt;
+             *     o 0: the connection was successfully updated.
+             *     o BLE host error code: the connection update attempt failed
+             *       for the specified reason.
+             */
+            int status;
+
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+        } conn_update;
+
+        /**
+         * Represents a peer's request to update the connection parameters.
+         * This event is generated when a peer performs any of the following
+         * procedures:
+         *     o L2CAP Connection Parameter Update Procedure
+         *     o Link-Layer Connection Parameters Request Procedure
+         *
+         * To reject the request, return a non-zero HCI error code.  The value
+         * returned is the reject reason given to the controller.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_L2CAP_UPDATE_REQ
+         *     o BLE_GAP_EVENT_CONN_UPDATE_REQ
+         */
+        struct {
+            /**
+             * Indicates the connection parameters that the peer would like to
+             * use.
+             */
+            const struct ble_gap_upd_params *peer_params;
+
+            /**
+             * Indicates the connection parameters that the local device would
+             * like to use.  The application callback should fill this in.  By
+             * default, this struct contains the requested parameters (i.e.,
+             * it is a copy of 'peer_params').
+             */
+            struct ble_gap_upd_params *self_params;
+
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+        } conn_update_req;
+
+        /**
+         * Represents a failed attempt to terminate an established connection.
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_TERM_FAILURE
+         */
+        struct {
+            /**
+             * A BLE host return code indicating the reason for the failure.
+             */
+            int status;
+
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+        } term_failure;
+
+        /**
+         * Represents an attempt to change the encrypted state of a
+         * connection.  If the attempt was successful, the connection
+         * descriptor reflects the updated encrypted state.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_ENC_CHANGE
+         */
+        struct {
+            /**
+             * Indicates the result of the encryption state change attempt;
+             *     o 0: the encrypted state was successfully updated;
+             *     o BLE host error code: the encryption state change attempt
+             *       failed for the specified reason.
+             */
+            int status;
+
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+        } enc_change;
+
+        /**
+         * Represents a passkey query needed to complete a pairing procedure.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_PASSKEY_ACTION
+         */
+        struct {
+            /** Contains details about the passkey query. */
+            struct ble_gap_passkey_params params;
+
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+        } passkey;
+
+        /**
+         * Represents a received ATT notification or indication.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_NOTIFY_RX
+         */
+        struct {
+            /**
+             * The contents of the notification or indication.  If the
+             * application wishes to retain this mbuf for later use, it must
+             * set this pointer to NULL to prevent the stack from freeing it.
+             */
+            struct os_mbuf *om;
+
+            /** The handle of the relevant ATT attribute. */
+            uint16_t attr_handle;
+
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+
+            /**
+             * Whether the received command is a notification or an
+             * indication;
+             *     o 0: Notification;
+             *     o 1: Indication.
+             */
+            uint8_t indication:1;
+        } notify_rx;
+
+        /**
+         * Represents a transmitted ATT notification or indication, or a
+         * completed indication transaction.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_NOTIFY_TX
+         */
+        struct {
+            /**
+             * The status of the notification or indication transaction;
+             *     o 0:                 Command successfully sent;
+             *     o BLE_HS_EDONE:      Confirmation (indication ack) received;
+             *     o BLE_HS_ETIMEOUT:   Confirmation (indication ack) never
+             *                              received;
+             *     o Other return code: Error.
+             */
+            int status;
+
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+
+            /** The handle of the relevant characterstic value. */
+            uint16_t attr_handle;
+
+            /**
+             * Whether the transmitted command is a notification or an
+             * indication;
+             *     o 0: Notification;
+             *     o 1: Indication.
+             */
+            uint8_t indication:1;
+        } notify_tx;
+
+        /**
+         * Represents a state change in a peer's subscription status.  In this
+         * comment, the term "update" is used to refer to either a notification
+         * or an indication.  This event is triggered by any of the following
+         * occurrences:
+         *     o Peer enables or disables updates via a CCCD write.
+         *     o Connection is about to be terminated and the peer is
+         *       subscribed to updates.
+         *     o Peer is now subscribed to updates after its state was restored
+         *       from persistence.  This happens when bonding is restored.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_SUBSCRIBE
+         */
+        struct {
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+
+            /** The value handle of the relevant characteristic. */
+            uint16_t attr_handle;
+
+            /** One of the BLE_GAP_SUBSCRIBE_REASON codes. */
+            uint8_t reason;
+
+            /** Whether the peer was previously subscribed to notifications. */
+            uint8_t prev_notify:1;
+
+            /** Whether the peer is currently subscribed to notifications. */
+            uint8_t cur_notify:1;
+
+            /** Whether the peer was previously subscribed to indications. */
+            uint8_t prev_indicate:1;
+
+            /** Whether the peer is currently subscribed to indications. */
+            uint8_t cur_indicate:1;
+        } subscribe;
+
+        /**
+         * Represents a change in an L2CAP channel's MTU.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_MTU
+         */
+        struct {
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+
+            /**
+             * Indicates the channel whose MTU has been updated; either
+             * BLE_L2CAP_CID_ATT or the ID of a connection-oriented channel.
+             */
+            uint16_t channel_id;
+
+            /* The channel's new MTU. */
+            uint16_t value;
+        } mtu;
+
+        /**
+         * Represents a change in peer's identity. This is issued after
+         * successful pairing when Identity Address Information was received.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_IDENTITY_RESOLVED
+         */
+        struct {
+            /** The handle of the relevant connection. */
+            uint16_t conn_handle;
+        } identity_resolved;
+
+        /**
+         * Represents a peer's attempt to pair despite a bond already existing.
+         * The application has two options for handling this event type:
+         *     o Retry: Return BLE_GAP_REPEAT_PAIRING_RETRY after deleting the
+         *              conflicting bond.  The stack will verify the bond has
+         *              been deleted and continue the pairing procedure.  If
+         *              the bond is still present, this event will be reported
+         *              again.
+         *     o Ignore: Return BLE_GAP_REPEAT_PAIRING_IGNORE.  The stack will
+         *               silently ignore the pairing request.
+         *
+         * Valid for the following event types:
+         *     o BLE_GAP_EVENT_REPEAT_PAIRING
+         */
+        struct ble_gap_repeat_pairing repeat_pairing;
+
+        /**
+         * Represents a change of PHY. This is issue after successful
+         * change on PHY.
+         */
+        struct {
+            int status;
+            uint16_t conn_handle;
+
+            /**
+             * Indicates enabled TX/RX PHY. Possible values:
+             *     o BLE_GAP_LE_PHY_1M
+             *     o BLE_GAP_LE_PHY_2M
+             *     o BLE_GAP_LE_PHY_CODED
+             */
+            uint8_t tx_phy;
+            uint8_t rx_phy;
+        } phy_updated;
+    };
+};
+```
+
+```c
+#define BLE_GAP_CONN_MODE_NON               0
+#define BLE_GAP_CONN_MODE_DIR               1
+#define BLE_GAP_CONN_MODE_UND               2
+```
+
+```c
+#define BLE_GAP_DISC_MODE_NON               0
+#define BLE_GAP_DISC_MODE_LTD               1
+#define BLE_GAP_DISC_MODE_GEN               2
+```
+
+```c
+/*** Reason codes for the subscribe GAP event. */
+
+/** Peer's CCCD subscription state changed due to a descriptor write. */
+#define BLE_GAP_SUBSCRIBE_REASON_WRITE      1
+
+/** Peer's CCCD subscription state cleared due to connection termination. */
+#define BLE_GAP_SUBSCRIBE_REASON_TERM       2
+
+/**
+ * Peer's CCCD subscription state changed due to restore from persistence
+ * (bonding restored).
+ */
+#define BLE_GAP_SUBSCRIBE_REASON_RESTORE    3
+```
+
+```c
+struct ble_gap_sec_state {
+    unsigned encrypted:1;
+    unsigned authenticated:1;
+    unsigned bonded:1;
+    unsigned key_size:5;
+};
+```
+
+```c
+/**
+ * conn_mode:                   One of the following constants:
+ *                                  o BLE_GAP_CONN_MODE_NON
+ *                                      (non-connectable; 3.C.9.3.2).
+ *                                  o BLE_GAP_CONN_MODE_DIR
+ *                                      (directed-connectable; 3.C.9.3.3).
+ *                                  o BLE_GAP_CONN_MODE_UND
+ *                                      (undirected-connectable; 3.C.9.3.4).
+ * disc_mode:                   One of the following constants:
+ *                                  o BLE_GAP_DISC_MODE_NON
+ *                                      (non-discoverable; 3.C.9.2.2).
+ *                                  o BLE_GAP_DISC_MODE_LTD
+ *                                      (limited-discoverable; 3.C.9.2.3).
+ *                                  o BLE_GAP_DISC_MODE_GEN
+ *                                      (general-discoverable; 3.C.9.2.4).
+ */
+struct ble_gap_adv_params {
+    /*** Mandatory fields. */
+    uint8_t conn_mode;
+    uint8_t disc_mode;
+
+    /*** Optional fields; assign 0 to make the stack calculate them. */
+    uint16_t itvl_min;
+    uint16_t itvl_max;
+    uint8_t channel_map;
+    uint8_t filter_policy;
+    uint8_t high_duty_cycle:1;
+};
+```
+
+```c
+#define BLE_GAP_ROLE_MASTER                 0
+#define BLE_GAP_ROLE_SLAVE                  1
+```
+
+```c
+struct ble_gap_conn_desc {
+    struct ble_gap_sec_state sec_state;
+    ble_addr_t our_id_addr;
+    ble_addr_t peer_id_addr;
+    ble_addr_t our_ota_addr;
+    ble_addr_t peer_ota_addr;
+    uint16_t conn_handle;
+    uint16_t conn_itvl;
+    uint16_t conn_latency;
+    uint16_t supervision_timeout;
+    uint8_t role;
+    uint8_t master_clock_accuracy;
+};
+```
+
+```c
+
+struct ble_gap_conn_params {
+    uint16_t scan_itvl;
+    uint16_t scan_window;
+    uint16_t itvl_min;
+    uint16_t itvl_max;
+    uint16_t latency;
+    uint16_t supervision_timeout;
+    uint16_t min_ce_len;
+    uint16_t max_ce_len;
+};
+```
+
+```c
+struct ble_gap_ext_disc_params {
+    uint16_t itvl;
+    uint16_t window;
+    uint8_t passive:1;
+};
+```
+
+```c
+struct ble_gap_disc_params {
+    uint16_t itvl;
+    uint16_t window;
+    uint8_t filter_policy;
+    uint8_t limited:1;
+    uint8_t passive:1;
+    uint8_t filter_duplicates:1;
+};
+```
+
+```c
+struct ble_gap_upd_params {
+    uint16_t itvl_min;
+    uint16_t itvl_max;
+    uint16_t latency;
+    uint16_t supervision_timeout;
+    uint16_t min_ce_len;
+    uint16_t max_ce_len;
+};
+```
+
+```c
+struct ble_gap_passkey_params {
+    uint8_t action;
+    uint32_t numcmp;
+};
+```
+
+```c
+struct ble_gap_disc_desc {
+    /*** Common fields. */
+    uint8_t event_type;
+    uint8_t length_data;
+    ble_addr_t addr;
+    int8_t rssi;
+    uint8_t *data;
+
+    /***
+     * LE direct advertising report fields; direct_addr is BLE_ADDR_ANY if
+     * direct address fields are not present.
+     */
+    ble_addr_t direct_addr;
+};
+```
+
+```c
+struct ble_gap_repeat_pairing {
+    /** The handle of the relevant connection. */
+    uint16_t conn_handle;
+
+    /** Properties of the existing bond. */
+    uint8_t cur_key_size;
+    uint8_t cur_authenticated:1;
+    uint8_t cur_sc:1;
+
+    /**
+     * Properties of the imminent secure link if the pairing procedure is
+     * allowed to continue.
+     */
+    uint8_t new_key_size;
+    uint8_t new_authenticated:1;
+    uint8_t new_sc:1;
+    uint8_t new_bonding:1;
+};
+```
+
+```c
+struct ble_gap_disc_desc {
+    /*** Common fields. */
+    uint8_t event_type;
+    uint8_t length_data;
+    ble_addr_t addr;
+    int8_t rssi;
+    uint8_t *data;
+
+    /***
+     * LE direct advertising report fields; direct_addr is BLE_ADDR_ANY if
+     * direct address fields are not present.
+     */
+    ble_addr_t direct_addr;
+};
+```
+
+```c
+struct ble_gap_repeat_pairing {
+    /** The handle of the relevant connection. */
+    uint16_t conn_handle;
+
+    /** Properties of the existing bond. */
+    uint8_t cur_key_size;
+    uint8_t cur_authenticated:1;
+    uint8_t cur_sc:1;
+
+    /**
+     * Properties of the imminent secure link if the pairing procedure is
+     * allowed to continue.
+     */
+    uint8_t new_key_size;
+    uint8_t new_authenticated:1;
+    uint8_t new_sc:1;
+    uint8_t new_bonding:1;
+};
+```
+
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_active.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_active.md
new file mode 100644
index 0000000..e4985f4
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_active.md
@@ -0,0 +1,21 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_active</font>
+
+```c
+int
+ble_gap_adv_active(void)
+```
+
+### Description
+
+Indicates whether an advertisement procedure is currently in progress.
+
+### Parameters
+
+None
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | No advertisement procedure in progress. |
+| 1 | Advertisement procedure in progress. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_data.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_data.md
new file mode 100644
index 0000000..e4610dc
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_data.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_rsp\_set\_data</font>
+
+```c
+int
+ble_gap_adv_rsp_set_data(
+    const uint8_t *data,
+              int  data_len
+)
+```
+
+### Description
+
+Configures the data to include in subsequent scan responses.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| data | Buffer containing the scan response data. |
+| data\_len | The size of the response data, in bytes. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EBUSY | Advertising is in progress. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_fields.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_fields.md
new file mode 100644
index 0000000..f34044d
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_fields.md
@@ -0,0 +1,24 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_rsp\_set\_fields</font>
+
+```c
+int
+ble_gap_adv_rsp_set_fields(const struct ble_hs_adv_fields *rsp_fields)
+```
+
+### Description
+
+Configures the fields to include in subsequent scan responses.  This is a convenience wrapper for ble\_gap\_adv\_rsp\_set\_data().
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| adv\_fields | Specifies the scan response data. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EBUSY | Advertising is in progress. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_data.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_data.md
new file mode 100644
index 0000000..69c765c
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_data.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_set\_data</font>
+
+```c
+int
+ble_gap_adv_set_data(
+    const uint8_t *data,
+              int  data_len
+)
+```
+
+### Description
+
+Configures the data to include in subsequent advertisements.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| data | Buffer containing the advertising data. |
+| data\_len | The size of the advertising data, in bytes. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EBUSY | Advertising is in progress. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_fields.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_fields.md
new file mode 100644
index 0000000..1c5aa3c
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_fields.md
@@ -0,0 +1,25 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_set\_fields</font>
+
+```c
+int
+ble_gap_adv_set_fields(const struct ble_hs_adv_fields *adv_fields)
+```
+
+### Description
+
+Configures the fields to include in subsequent advertisements.  This is a convenience wrapper for ble\_gap\_adv\_set\_data().
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| adv\_fields | Specifies the advertisement data. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EBUSY | Advertising is in progress. |
+| BLE\_HS\_EMSGSIZE | The specified data is too large to fit in an advertisement. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_phys.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_phys.md
new file mode 100644
index 0000000..dfbab85
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_phys.md
@@ -0,0 +1,26 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_set\_phys</font><font color="red" style="font-size:18pt"> [experimental] </font>
+
+```c
+int
+ble_gap_adv_set_phys(uint8_t primary_phy, uint8_t secondary_phy)
+```
+
+### Description
+
+Set primary and secondary PHYs for extended advertising procedure.
+
+### Parameters
+
+None
+
+| *Parameter*   | *Description*                                                                                                   |
+|---------------|-----------------------------------------------------------------------------------------------------------------|
+| primary_phy   | Primary PHY to use for extended advertising procedure. <ul><li>BLE\_HCI\_LE\_1M</li> <li>BLE\_HCI\_LE\_CODED</li></ul> |
+| secondary_phy | Secondary PHY to use for extended advertising procedure. <ul><li>BLE\_HCI\_LE\_1M</li> <li>BLE\_HCI\_LE\_2M</li> <li>BLE\_HCI\_LE\_CODED</li></ul> |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_tx_power.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_tx_power.md
new file mode 100644
index 0000000..8d2d6af
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_tx_power.md
@@ -0,0 +1,25 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_set\_tx\_power</font><font color="red" style="font-size:18pt"> [experimental] </font>
+
+```c
+int
+ble_gap_adv_set_tx_power(int8_t  tx_power)
+```
+
+### Description
+
+Set Tx Power level for extended advertising procedure.
+
+### Parameters
+
+None
+
+| *Parameter* | *Description*                                             |
+|-------------|-----------------------------------------------------------|
+| tx_power    | Tx Power level to use for extended advertising procedure. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_start.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_start.md
new file mode 100644
index 0000000..1784a16
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_start.md
@@ -0,0 +1,35 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_start</font>
+
+```c
+int
+ble_gap_adv_start(
+                            uint8_t  own_addr_type,
+                   const ble_addr_t *direct_addr,
+                            int32_t  duration_ms,
+    const struct ble_gap_adv_params *adv_params,
+                   ble_gap_event_fn *cb,
+                               void *cb_arg
+)
+```
+
+### Description
+
+Initiates advertising.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| own\_addr\_type | The type of address the stack should use for itself.  Valid values are: <ul><li>BLE\_OWN\_ADDR\_PUBLIC</li> <li>BLE\_OWN\_ADDR\_RANDOM</li> <li>BLE\_OWN\_ADDR\_RPA\_PUBLIC\_DEFAULT</li> <li>BLE\_OWN\_ADDR\_RPA\_RANDOM\_DEFAULT</li></ul> |
+| direct\_addr | The peer's address for directed advertising. This parameter shall be non-NULL if directed advertising is being used. |
+| duration\_ms | The duration of the advertisement procedure. On expiration, the procedure ends and a BLE\_GAP\_EVENT\_ADV\_COMPLETE event is reported.  Units are milliseconds.  Specify BLE\_HS\_FOREVER for no expiration. |
+| adv\_params | Additional arguments specifying the particulars of the advertising procedure. |
+| cb | The callback to associate with this advertising procedure.  If advertising ends, the event is reported through this callback.  If advertising results in a connection, the connection inherits this callback as its event-reporting mechanism. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_stop.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_stop.md
new file mode 100644
index 0000000..894285c
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_adv_stop.md
@@ -0,0 +1,22 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_adv\_stop</font>
+
+```c
+int
+ble_gap_adv_stop(void)
+```
+
+### Description
+
+Stops the currently-active advertising procedure.  A success return code indicates that advertising has been fully aborted; a new advertising procedure can be initiated immediately.
+
+### Parameters
+
+None
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EALREADY | There is no active advertising procedure. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_active.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_active.md
new file mode 100644
index 0000000..a8991af
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_active.md
@@ -0,0 +1,21 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_conn\_active</font>
+
+```c
+int
+ble_gap_conn_active(void)
+```
+
+### Description
+
+Indicates whether a connect procedure is currently in progress.
+
+### Parameters
+
+None
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | No connect procedure in progress. |
+| 1 | Connect procedure in progress. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_cancel.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_cancel.md
new file mode 100644
index 0000000..6855b8d
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_cancel.md
@@ -0,0 +1,21 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_conn\_cancel</font>
+
+```c
+int
+ble_gap_conn_cancel(void)
+```
+
+### Description
+
+Aborts a connect procedure in progress.
+
+### Parameters
+
+None
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_find.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_find.md
new file mode 100644
index 0000000..23e79f0
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_find.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_conn\_find</font>
+
+```c
+int
+ble_gap_conn_find(
+                    uint16_t  handle,
+    struct ble_gap_conn_desc *out_desc
+)
+```
+
+### Description
+
+Searches for a connection with the specified handle.  If a matching connection is found, the supplied connection descriptor is filled correspondingly.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| handle | The connection handle to search for. |
+| out\_desc | On success, this is populated with information relating to the matching connection.  Pass NULL if you don't need this information. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOTCONN | No matching connection was found. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_rssi.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_rssi.md
new file mode 100644
index 0000000..563252f
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_conn_rssi.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_conn\_rssi</font>
+
+```c
+int
+ble_gap_conn_rssi(
+    uint16_t  conn_handle,
+      int8_t *out_rssi
+)
+```
+
+### Description
+
+Retrieves the most-recently measured RSSI for the specified connection.  A connection's RSSI is updated whenever a data channel PDU is received.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | Specifies the connection to query. |
+| out\_rssi | On success, the retrieved RSSI is written here. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [HCI return code](../../ble_hs_return_codes/#return-codes-hci) | The controller rejected the request. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_connect.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_connect.md
new file mode 100644
index 0000000..98b2a92
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_connect.md
@@ -0,0 +1,38 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_connect</font>
+
+```c
+int
+ble_gap_connect(
+                             uint8_t  own_addr_type,
+                    const ble_addr_t *peer_addr,
+                             int32_t  duration_ms,
+    const struct ble_gap_conn_params *conn_params,
+                    ble_gap_event_fn *cb,
+                                void *cb_arg
+)
+```
+
+### Description
+
+Initiates a connect procedure.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| own\_addr\_type | The type of address the stack should use for itself during connection establishment. <ul><li>BLE\_OWN\_ADDR\_PUBLIC</li> <li>BLE\_OWN\_ADDR\_RANDOM</li> <li>BLE\_OWN\_ADDR\_RPA\_PUBLIC\_DEFAULT</li> <li>BLE\_OWN\_ADDR\_RPA\_RANDOM\_DEFAULT</li></ul> |
+| peer\_addr | The address of the peer to connect to. If this parameter is NULL, the white list is used. |
+| duration\_ms | The duration of the discovery procedure. On expiration, the procedure ends and a BLE\_GAP\_EVENT\_DISC\_COMPLETE event is reported.  Units are milliseconds. |
+| conn\_params | Additional arguments specifying the particulars of the connect procedure.  Specify null for default values. |
+| cb | The callback to associate with this connect procedure.  When the connect procedure completes, the result is reported through this callback.  If the connect procedure succeeds, the connection inherits this callback as its event-reporting mechanism. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EALREADY | A connection attempt is already in progress. |
+| BLE\_HS\_EBUSY | Initiating a connection is not possible because scanning is in progress. |
+| BLE\_HS\_EDONE | The specified peer is already connected. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc.md
new file mode 100644
index 0000000..dead01a
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc.md
@@ -0,0 +1,33 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_disc</font>
+
+```c
+int
+ble_gap_disc(
+                             uint8_t  own_addr_type,
+                             int32_t  duration_ms,
+    const struct ble_gap_disc_params *disc_params,
+                    ble_gap_event_fn *cb,
+                                void *cb_arg
+)
+```
+
+### Description
+
+Performs the Limited or General Discovery Procedures.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| own\_addr\_type | The type of address the stack should use for itself when sending scan requests.  Valid values are: <ul><li>BLE\_ADDR\_TYPE\_PUBLIC</li> <li>BLE\_ADDR\_TYPE\_RANDOM</li> <li>BLE\_ADDR\_TYPE\_RPA\_PUB\_DEFAULT</li> <li>BLE\_ADDR\_TYPE\_RPA\_RND\_DEFAULT</li></ul> This parameter is ignored unless active scanning is being used. |
+| duration\_ms | The duration of the discovery procedure. On expiration, the procedure ends and a BLE\_GAP\_EVENT\_DISC\_COMPLETE event is reported.  Units are milliseconds.  Specify BLE\_HS\_FOREVER for no expiration. |
+| disc\_params | Additional arguments specifying the particulars of the discovery procedure. |
+| cb | The callback to associate with this discovery procedure.  Advertising reports and discovery termination events are reported through this callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc_active.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc_active.md
new file mode 100644
index 0000000..3c3d1c9
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc_active.md
@@ -0,0 +1,21 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_disc\_active</font>
+
+```c
+int
+ble_gap_disc_active(void)
+```
+
+### Description
+
+Indicates whether a discovery procedure is currently in progress.
+
+### Parameters
+
+None
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | No discovery procedure in progress. |
+| 1 | Discovery procedure in progress. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc_cancel.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc_cancel.md
new file mode 100644
index 0000000..58def57
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_disc_cancel.md
@@ -0,0 +1,22 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_disc\_cancel</font>
+
+```c
+int
+ble_gap_disc_cancel(void)
+```
+
+### Description
+
+Cancels the discovery procedure currently in progress.  A success return code indicates that scanning has been fully aborted; a new discovery or connect procedure can be initiated immediately.
+
+### Parameters
+
+None
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EALREADY | There is no discovery procedure to cancel. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_ext_connect.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_ext_connect.md
new file mode 100644
index 0000000..2e97a87
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_ext_connect.md
@@ -0,0 +1,41 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_ext\_connect</font><font color="red" style="font-size:18pt"> [experimental] </font>
+
+```c
+int
+ble_gap_ext_connect(
+                             uint8_t  own_addr_type,
+                    const ble_addr_t  *peer_addr,
+                             int32_t  duration_ms,
+                             uint8_t  phy_mask,
+    const struct ble_gap_conn_params  *phy_1m_conn_params,
+    const struct ble_gap_conn_params  *phy_2m_conn_params,
+    const struct ble_gap_conn_params  *phy_coded_conn_params,
+                    ble_gap_event_fn  *cb,
+                                void  *cb_arg
+)
+```
+
+### Description
+
+Initiates a connect procedure.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| own\_addr\_type | The type of address the stack should use for itself during connection establishment. <ul><li>BLE\_ADDR\_TYPE\_PUBLIC</li> <li>BLE\_ADDR\_TYPE\_RANDOM</li> <li>BLE\_ADDR\_TYPE\_RPA\_PUB\_DEFAULT</li> <li>BLE\_ADDR\_TYPE\_RPA\_RND\_DEFAULT</li></ul> |
+| peer\_addr | The identity address of the peer to connect to. White list is used when this parameters is set to NULL. |
+| duration\_ms | The duration of the discovery procedure. On expiration, the procedure ends and a BLE\_GAP\_EVENT\_DISC\_COMPLETE event is reported.  Units are milliseconds. |
+| phy\_mask | Define on which PHYs connection attempt should be done |
+| phy\_1m\_conn\_params | Additional arguments specifying the particulars of the connect procedure. When BLE_GAP_LE_PHY_1M_MASK is set in phy_mask this parameter can be specify to null for default values. |
+| phy\_2m\_conn\_params | Additional arguments specifying the particulars of the connect procedure. When BLE_GAP_LE_PHY_2M_MASK is set in phy_mask this parameter can be specify to null for default values. |
+| phy\_coded\_conn\_params | Additional arguments specifying the particulars of the connect procedure. When BLE_GAP_LE_PHY_CODED_MASK is set in phy_mask this parameter can be specify to null for default values. |
+| cb | The callback to associate with this connect procedure.  When the connect procedure completes, the result is reported through this callback.  If the connect procedure succeeds, the connection inherits this callback as its event-reporting mechanism. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_ext_disc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_ext_disc.md
new file mode 100644
index 0000000..96e6167
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_ext_disc.md
@@ -0,0 +1,44 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_ext\_disc </font> <font color="red" style="font-size:18pt"> [experimental] </font>
+
+```c
+int
+ble_gap_ext_disc(
+                                 uint8_t  own_addr_type,
+                                uint16_t  duration,
+                                uint16_t  period,
+                                 uint8_t  filter_duplicates,
+                                 uint8_t  filter_policy,
+                                 uint8_t  limited,
+    const struct ble_gap_ext_disc_params  *uncoded_params,
+    const struct ble_gap_ext_disc_params  *coded_params
+        const struct ble_gap_disc_params  *disc_params,
+                        ble_gap_event_fn  *cb,
+                                    void  *cb_arg
+)
+```
+
+### Description
+
+Performs the Limited or General Discovery Procedures.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| own\_addr\_type | The type of address the stack should use for itself when sending scan requests.  Valid values are: <ul><li>BLE\_ADDR\_TYPE\_PUBLIC</li> <li>BLE\_ADDR\_TYPE\_RANDOM</li> <li>BLE\_ADDR\_TYPE\_RPA\_PUB\_DEFAULT</li> <li>BLE\_ADDR\_TYPE\_RPA\_RND\_DEFAULT</li></ul> This parameter is ignored unless active scanning is being used. |
+| duration | The duration of the discovery procedure. On expiration, the procedure ends and a BLE\_GAP\_EVENT\_DISC\_COMPLETE event is reported. Unit is 10ms.  Specify 0 for no expiration.       |
+| period | Time interval between each scan (valid when duration non-zero). |
+| filter\_duplicates | Filter duplicates flag. |
+| filter\_policy | Filter policy as specified by Bluetooth specification. |
+| limited | Enables limited discovery. |
+| uncoded\_params | Additional arguments specifying the particulars of the discovery procedure for uncoded PHY. Specify NULL if discovery is not needed on uncoded PHY |
+| coded\_params | Additional arguments specifying the particulars of the discovery procedure for coded PHY. Specify NULL if discovery os not needed on coded PHY |
+| cb | The callback to associate with this discovery procedure.  Advertising reports and discovery termination events are reported through this callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_read_le_phy.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_read_le_phy.md
new file mode 100644
index 0000000..23a42a9
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_read_le_phy.md
@@ -0,0 +1,29 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_read\_le\_phy</font>
+
+```c
+int
+ble_gap_read_le_phy(
+        uint16_t conn_handle,
+         uint8_t *tx_phy,
+         uint8_t *rx_phy
+)
+```
+
+### Description
+
+Read PHY on given connection.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle   | The handle corresponding to the connection to on which PHY is read. | 
+| tx\_phy | Tx PHY. One of: <ul><li>BLE\_GAP\_LE\_PHY\_1M</li> <li>BLE\_GAP\_LE\_PHY\_2M</li><li>BLE\_GAP\_LE\_PHY\_CODED</li></ul> |
+| rx\_phy | Rx PHY. One of: <ul><li>BLE\_GAP\_LE\_PHY\_1M</li> <li>BLE\_GAP\_LE\_PHY\_2M</li><li>BLE\_GAP\_LE\_PHY\_CODED</li></ul> |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_security_initiate.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_security_initiate.md
new file mode 100644
index 0000000..3650983
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_security_initiate.md
@@ -0,0 +1,25 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_security\_initiate</font>
+
+```c
+int
+ble_gap_security_initiate(uint16_t conn_handle)
+```
+
+### Description
+
+Initiates the GAP encryption procedure.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The handle corresponding to the connection to encrypt. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOTCONN | The there is no connection with the specified handle. |
+| BLE\_HS\_EALREADY | An encrpytion procedure for this connection is already in progress. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_event_cb.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_event_cb.md
new file mode 100644
index 0000000..1f0475a
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_event_cb.md
@@ -0,0 +1,29 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_set\_event\_cb</font>
+
+```c
+int
+ble_gap_set_event_cb(
+            uint16_t  conn_handle,
+    ble_gap_event_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Configures a connection to use the specified GAP event callback.  A connection's GAP event callback is first specified when the connection is created, either via advertising or initiation.  This function replaces the callback that was last configured.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The handle of the connection to configure. |
+| cb | The callback to associate with the connection. |
+| cb\_arg | An optional argument that the callback receives. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOTCONN | There is no connection with the specified handle. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_prefered_default_le_phy.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_prefered_default_le_phy.md
new file mode 100644
index 0000000..d03fba6
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_prefered_default_le_phy.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_set\_prefered\_default\_le\_phy</font>
+
+```c
+int
+ble_gap_set_prefered_default_le_phy(
+            uint8_t tx_phys_mask,
+            uint8_t rx_phys_mask
+)
+```
+
+### Description
+
+Set prefered default LE PHY mask. It is used for new connections.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| tx\_phys\_mask | Prefered tx PHY mask is a bit mask of: <ul><li>BLE\_GAP\_LE\_PHY\_1M\_MASK</li> <li>BLE\_GAP\_LE\_PHY\_2M\_MASK</li><li>BLE\_GAP\_LE\_PHY\_CODED\_MASK</li></ul> |
+| rx\_phys\_mask | Prefered rx PHY mask is a bit mask of: <ul><li>BLE\_GAP\_LE\_PHY\_1M\_MASK</li> <li>BLE\_GAP\_LE\_PHY\_2M\_MASK</li><li>BLE\_GAP\_LE\_PHY\_CODED\_MASK</li></ul> |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_prefered_le_phy.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_prefered_le_phy.md
new file mode 100644
index 0000000..b12ab2d
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_prefered_le_phy.md
@@ -0,0 +1,30 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_set\_prefered\_le\_phy</font>
+
+```c
+int
+ble_gap_set_prefered_le_phy(
+            uint16_t conn_handle,
+             uint8_t tx_phys_mask,
+             uint8_t rx_phys_mask,
+             uint16_t phy_opts
+)
+```
+
+### Description
+
+Set prefered LE PHY mask for given connection.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle   | The handle corresponding to the connection where new PHY mask should be applied. | 
+| tx\_phys\_mask | Prefered tx PHY mask is a bit mask of: <ul><li>BLE\_GAP\_LE\_PHY\_1M\_MASK</li> <li>BLE\_GAP\_LE\_PHY\_2M\_MASK</li><li>BLE\_GAP\_LE\_PHY\_CODED\_MASK</li></ul> |
+| rx\_phys\_mask | Prefered rx PHY mask is a bit mask of: <ul><li>BLE\_GAP\_LE\_PHY\_1M\_MASK</li> <li>BLE\_GAP\_LE\_PHY\_2M\_MASK</li><li>BLE\_GAP\_LE\_PHY\_CODED\_MASK</li></ul> |
+| phy\_opts | PHY options for coded PHY. One of: <ul><li>BLE\_GAP\_LE\_PHY\_CODED\_ANY</li> <li>BLE\_GAP\_LE\_PHY\_CODED\_S2</li><li>BLE\_GAP\_LE\_PHY\_CODED\_S8</li></ul> |
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_priv_mode.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_priv_mode.md
new file mode 100644
index 0000000..4a690b5
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_set_priv_mode.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_set\_priv\_mode</font>
+
+```c
+int
+ble_gap_set_priv_mode(
+        const ble_addr_t *peer_addr,
+                 uint8_t  priv_mode
+)
+```
+
+### Description
+
+Set privacy mode for given device.
+ 
+ If device mode is used, then Nimble accepts both the peer's identity address and a resolvable private address.
+ 
+ If network mode is used, then Nimble accepts only resolvable private address. 
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| peer\_addr | The identity address of the peer for which privacy mode shall be changed. |
+| priv\_mode | The privacy mode.  One of: <ul><li>BLE\_GAP\_PRIVATE\_MODE\_NETWORK</li> <li>BLE\_GAP\_PRIVATE\_MODE\_DEVICE</li> </ul> |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_terminate.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_terminate.md
new file mode 100644
index 0000000..ad81d5c
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_terminate.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_terminate</font>
+
+```c
+int
+ble_gap_terminate(
+    uint16_t conn_handle,
+     uint8_t hci_reason
+)
+```
+
+### Description
+
+Terminates an established connection.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The handle corresponding to the connection to terminate. |
+| hci\_reason | The HCI error code to indicate as the reason for termination. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOTCONN | There is no connection with the specified handle. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_update_params.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_update_params.md
new file mode 100644
index 0000000..b97c7f9
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_update_params.md
@@ -0,0 +1,30 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_update\_params</font>
+
+```c
+int
+ble_gap_update_params(
+                           uint16_t  conn_handle,
+    const struct ble_gap_upd_params *params
+)
+```
+
+### Description
+
+Initiates a connection parameter update procedure.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The handle corresponding to the connection to update. |
+| params | The connection parameters to attempt to update to. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOTCONN | The there is no connection with the specified handle. |
+| BLE\_HS\_EALREADY | A connection update procedure for this connection is already in progress. |
+| BLE\_HS\_EINVAL | Requested parameters are invalid. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_wl_set.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_wl_set.md
new file mode 100644
index 0000000..fb15312
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/functions/ble_gap_wl_set.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gap\_wl\_set</font>
+
+```c
+int
+ble_gap_wl_set(
+    const ble_addr_t *addrs,
+             uint8_t  white_list_count
+)
+```
+
+### Description
+
+Overwrites the controller's white list with the specified contents.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| addrs | The entries to write to the white list. |
+| white\_list\_count | The number of entries in the white list. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/mdtoc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/mdtoc.md
new file mode 100644
index 0000000..2b27c66
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gap/mdtoc.md
@@ -0,0 +1,26 @@
+            - 'GAP':
+                - toc: 'network/ble/ble_hs/ble_gap/ble_gap.md'
+                - 'Definitions':
+                    - 'GAP definitions': 'network/ble/ble_hs/ble_gap/definitions/ble_gap_defs.md'
+                - 'Functions':
+                    - 'ble_gap_adv_active': 'network/ble/ble_hs/ble_gap/functions/ble_gap_adv_active.md'
+                    - 'ble_gap_adv_rsp_set_data': 'network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_data.md'
+                    - 'ble_gap_adv_rsp_set_fields': 'network/ble/ble_hs/ble_gap/functions/ble_gap_adv_rsp_set_fields.md'
+                    - 'ble_gap_adv_set_data': 'network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_data.md'
+                    - 'ble_gap_adv_set_fields': 'network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_fields.md'
+                    - 'ble_gap_adv_set_phys': 'network/ble/ble_hs/ble_gap/functions/ble_gap_adv_set_phys.md'
+                    - 'ble_gap_adv_start': 'network/ble/ble_hs/ble_gap/functions/ble_gap_adv_start.md'
+                    - 'ble_gap_adv_stop': 'network/ble/ble_hs/ble_gap/functions/ble_gap_adv_stop.md'
+                    - 'ble_gap_conn_active': 'network/ble/ble_hs/ble_gap/functions/ble_gap_conn_active.md'
+                    - 'ble_gap_conn_cancel': 'network/ble/ble_hs/ble_gap/functions/ble_gap_conn_cancel.md'
+                    - 'ble_gap_conn_find': 'network/ble/ble_hs/ble_gap/functions/ble_gap_conn_find.md'
+                    - 'ble_gap_conn_rssi': 'network/ble/ble_hs/ble_gap/functions/ble_gap_conn_rssi.md'
+                    - 'ble_gap_connect': 'network/ble/ble_hs/ble_gap/functions/ble_gap_connect.md'
+                    - 'ble_gap_disc': 'network/ble/ble_hs/ble_gap/functions/ble_gap_disc.md'
+                    - 'ble_gap_disc_active': 'network/ble/ble_hs/ble_gap/functions/ble_gap_disc_active.md'
+                    - 'ble_gap_disc_cancel': 'network/ble/ble_hs/ble_gap/functions/ble_gap_disc_cancel.md'
+                    - 'ble_gap_security_initiate': 'network/ble/ble_hs/ble_gap/functions/ble_gap_security_initiate.md'
+                    - 'ble_gap_set_event_cb': 'network/ble/ble_hs/ble_gap/functions/ble_gap_set_event_cb.md'
+                    - 'ble_gap_terminate': 'network/ble/ble_hs/ble_gap/functions/ble_gap_terminate.md'
+                    - 'ble_gap_update_params': 'network/ble/ble_hs/ble_gap/functions/ble_gap_update_params.md'
+                    - 'ble_gap_wl_set': 'network/ble/ble_hs/ble_gap/functions/ble_gap_wl_set.md'
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/ble_gattc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/ble_gattc.md
new file mode 100644
index 0000000..339c9fd
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/ble_gattc.md
@@ -0,0 +1,41 @@
+## <font color="F2853F" style="font-size:24pt">NimBLE Host GATT Client Reference</font>
+
+### Introduction
+
+The Generic Attribute Profile (GATT) manages all activities involving services, characteristics, and descriptors.  The client half of the GATT API initiates GATT procedures.
+
+### Header
+
+```c
+#include "host/ble_hs.h"
+```
+
+### Definitions
+
+[BLE host GATT client definitions](definitions/ble_gattc_defs.md)
+
+### Functions
+
+| Function | Description |
+|----------|-------------|
+| [ble_gattc_disc_all_chrs](functions/ble_gattc_disc_all_chrs.md) | Initiates GATT procedure: Discover All Characteristics of a Service. |
+| [ble_gattc_disc_all_dscs](functions/ble_gattc_disc_all_dscs.md) | Initiates GATT procedure: Discover All Characteristic Descriptors. |
+| [ble_gattc_disc_all_svcs](functions/ble_gattc_disc_all_svcs.md) | Initiates GATT procedure: Discover All Primary Services. |
+| [ble_gattc_disc_chrs_by_uuid](functions/ble_gattc_disc_chrs_by_uuid.md) | Initiates GATT procedure: Discover Characteristics by UUID. |
+| [ble_gattc_disc_svc_by_uuid](functions/ble_gattc_disc_svc_by_uuid.md) | Initiates GATT procedure: Discover Primary Service by Service UUID. |
+| [ble_gattc_exchange_mtu](functions/ble_gattc_exchange_mtu.md) | Initiates GATT procedure: Exchange MTU. |
+| [ble_gattc_find_inc_svcs](functions/ble_gattc_find_inc_svcs.md) | Initiates GATT procedure: Find Included Services. |
+| [ble_gattc_indicate](functions/ble_gattc_indicate.md) | Sends a characteristic indication. |
+| [ble_gattc_indicate_custom](functions/ble_gattc_indicate_custom.md) | Sends a characteristic indication. |
+| [ble_gattc_notify](functions/ble_gattc_notify.md) | Sends a characteristic notification. |
+| [ble_gattc_notify_custom](functions/ble_gattc_notify_custom.md) | Sends a "free-form" characteristic notification. |
+| [ble_gattc_read](functions/ble_gattc_read.md) | Initiates GATT procedure: Read Characteristic Value. |
+| [ble_gattc_read_by_uuid](functions/ble_gattc_read_by_uuid.md) | Initiates GATT procedure: Read Using Characteristic UUID. |
+| [ble_gattc_read_long](functions/ble_gattc_read_long.md) | Initiates GATT procedure: Read Long Characteristic Values. |
+| [ble_gattc_read_mult](functions/ble_gattc_read_mult.md) | Initiates GATT procedure: Read Multiple Characteristic Values. |
+| [ble_gattc_write](functions/ble_gattc_write.md) | Initiates GATT procedure: Write Characteristic Value. |
+| [ble_gattc_write_flat](functions/ble_gattc_write_flat.md) | Initiates GATT procedure: Write Characteristic Value (flat buffer version). |
+| [ble_gattc_write_long](functions/ble_gattc_write_long.md) | Initiates GATT procedure: Write Long Characteristic Values. |
+| [ble_gattc_write_no_rsp](functions/ble_gattc_write_no_rsp.md) | Initiates GATT procedure: Write Without Response. |
+| [ble_gattc_write_no_rsp_flat](functions/ble_gattc_write_no_rsp_flat.md) | Initiates GATT procedure: Write Without Response. |
+| [ble_gattc_write_reliable](functions/ble_gattc_write_reliable.md) | Initiates GATT procedure: Reliable Writes. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/definitions/ble_gattc_defs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/definitions/ble_gattc_defs.md
new file mode 100644
index 0000000..be1aeb2
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/definitions/ble_gattc_defs.md
@@ -0,0 +1,91 @@
+## <font color="#F2853F" style="font-size:24pt">GATT Client Definitions</font>
+
+```c
+struct ble_gatt_error {
+    uint16_t status;
+    uint16_t att_handle;
+};
+```
+
+```c
+struct ble_gatt_svc {
+    uint16_t start_handle;
+    uint16_t end_handle;
+    ble_uuid_any_t uuid;
+};
+```
+
+```c
+struct ble_gatt_attr {
+    uint16_t handle;
+    uint16_t offset;
+    struct os_mbuf *om;
+};
+```
+
+```c
+struct ble_gatt_chr {
+    uint16_t def_handle;
+    uint16_t val_handle;
+    uint8_t properties;
+    ble_uuid_any_t uuid;
+};
+```
+
+```c
+struct ble_gatt_dsc {
+    uint16_t handle;
+    ble_uuid_any_t uuid;
+};
+```
+
+```c
+typedef int ble_gatt_mtu_fn(uint16_t conn_handle,
+                            const struct ble_gatt_error *error,
+                            uint16_t mtu, void *arg);
+```
+
+```c
+typedef int ble_gatt_disc_svc_fn(uint16_t conn_handle,
+                                 const struct ble_gatt_error *error,
+                                 const struct ble_gatt_svc *service,
+                                 void *arg);
+```
+
+```c
+/**
+ * The host will free the attribute mbuf automatically after the callback is
+ * executed.  The application can take ownership of the mbuf and prevent it
+ * from being freed by assigning NULL to attr->om.
+ */
+typedef int ble_gatt_attr_fn(uint16_t conn_handle,
+                             const struct ble_gatt_error *error,
+                             struct ble_gatt_attr *attr,
+                             void *arg);
+```
+
+```c
+/**
+ * The host will free the attribute mbufs automatically after the callback is
+ * executed.  The application can take ownership of the mbufs and prevent them
+ * from being freed by assigning NULL to each attribute's om field.
+ */
+typedef int ble_gatt_reliable_attr_fn(uint16_t conn_handle,
+                                      const struct ble_gatt_error *error,
+                                      struct ble_gatt_attr *attrs,
+                                      uint8_t num_attrs, void *arg);
+```
+
+```c
+typedef int ble_gatt_chr_fn(uint16_t conn_handle,
+                            const struct ble_gatt_error *error,
+                            const struct ble_gatt_chr *chr, void *arg);
+```
+
+```c
+typedef int ble_gatt_dsc_fn(uint16_t conn_handle,
+                            const struct ble_gatt_error *error,
+                            uint16_t chr_def_handle,
+                            const struct ble_gatt_dsc *dsc,
+                            void *arg);
+```
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_chrs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_chrs.md
new file mode 100644
index 0000000..0711304
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_chrs.md
@@ -0,0 +1,33 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_disc\_all\_chrs</font>
+
+```c
+int
+ble_gattc_disc_all_chrs(
+           uint16_t  conn_handle,
+           uint16_t  start_handle,
+           uint16_t  end_handle,
+    ble_gatt_chr_fn *cb,
+               void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Discover All Characteristics of a Service.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| start\_handle | The handle to begin the search at (generally the service definition handle). |
+| end\_handle | The handle to end the search at (generally the last handle in the service). |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_dscs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_dscs.md
new file mode 100644
index 0000000..2a262d9
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_dscs.md
@@ -0,0 +1,33 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_disc\_all\_dscs</font>
+
+```c
+int
+ble_gattc_disc_all_dscs(
+           uint16_t  conn_handle,
+           uint16_t  start_handle,
+           uint16_t  end_handle,
+    ble_gatt_dsc_fn *cb,
+               void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Discover All Characteristic Descriptors.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| chr\_val\_handle | The handle of the characteristic value attribute. |
+| chr\_end\_handle | The last handle in the characteristic definition. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_svcs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_svcs.md
new file mode 100644
index 0000000..7b8fabd
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_svcs.md
@@ -0,0 +1,26 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_disc\_all\_svcs</font>
+
+```c
+int
+ble_gattc_disc_all_svcs(
+                uint16_t  conn_handle,
+    ble_gatt_disc_svc_fn *cb,
+                    void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Discover All Primary Services.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+None
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_chrs_by_uuid.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_chrs_by_uuid.md
new file mode 100644
index 0000000..3fcd869
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_chrs_by_uuid.md
@@ -0,0 +1,35 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_disc\_chrs\_by\_uuid</font>
+
+```c
+int
+ble_gattc_disc_chrs_by_uuid(
+            uint16_t  conn_handle,
+            uint16_t  start_handle,
+            uint16_t  end_handle,
+    const ble_uuid_t *uuid,
+     ble_gatt_chr_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Discover Characteristics by UUID.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| start\_handle | The handle to begin the search at (generally the service definition handle). |
+| end\_handle | The handle to end the search at (generally the last handle in the service). |
+| chr\_uuid128 | The 128-bit UUID of the characteristic to discover. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_svc_by_uuid.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_svc_by_uuid.md
new file mode 100644
index 0000000..3f51298
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_svc_by_uuid.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_disc\_svc\_by\_uuid</font>
+
+```c
+int
+ble_gattc_disc_svc_by_uuid(
+                uint16_t  conn_handle,
+        const ble_uuid_t *uuid,
+    ble_gatt_disc_svc_fn *cb,
+                    void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Discover Primary Service by Service UUID.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| service\_uuid128 | The 128-bit UUID of the service to discover. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_exchange_mtu.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_exchange_mtu.md
new file mode 100644
index 0000000..0c9923b
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_exchange_mtu.md
@@ -0,0 +1,29 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_exchange\_mtu</font>
+
+```c
+int
+ble_gattc_exchange_mtu(
+           uint16_t  conn_handle,
+    ble_gatt_mtu_fn *cb,
+               void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Exchange MTU.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_find_inc_svcs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_find_inc_svcs.md
new file mode 100644
index 0000000..c4325a4
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_find_inc_svcs.md
@@ -0,0 +1,33 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_find\_inc\_svcs</font>
+
+```c
+int
+ble_gattc_find_inc_svcs(
+                uint16_t  conn_handle,
+                uint16_t  start_handle,
+                uint16_t  end_handle,
+    ble_gatt_disc_svc_fn *cb,
+                    void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Find Included Services.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| start\_handle | The handle to begin the search at (generally the service definition handle). |
+| end\_handle | The handle to end the search at (generally the last handle in the service). |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate.md
new file mode 100644
index 0000000..9f07808
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_indicate</font>
+
+```c
+int
+ble_gattc_indicate(
+    uint16_t conn_handle,
+    uint16_t chr_val_handle
+)
+```
+
+### Description
+
+Sends a characteristic indication.  The content of the message is read from the specified characteristic.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| chr\_val\_handle | The value attribute handle of the characteristic to include in the outgoing indication. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate_custom.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate_custom.md
new file mode 100644
index 0000000..ee0ddec
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate_custom.md
@@ -0,0 +1,29 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_indicate\_custom</font>
+
+```c
+int
+ble_gattc_indicate_custom(
+          uint16_t  conn_handle,
+          uint16_t  chr_val_handle,
+    struct os_mbuf *txom
+)
+```
+
+### Description
+
+Sends a characteristic indication.  The content of the message is read from the specified characteristic.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| chr\_val\_handle | The value attribute handle of the characteristic to include in the outgoing indication. |
+| txom | The data to include in the indication. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify.md
new file mode 100644
index 0000000..42bc0a8
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_notify</font>
+
+```c
+int
+ble_gattc_notify(
+    uint16_t conn_handle,
+    uint16_t chr_val_handle
+)
+```
+
+### Description
+
+Sends a characteristic notification.  The content of the message is read from the specified characteristic.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| chr\_val\_handle | The value attribute handle of the characteristic to include in the outgoing notification. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom.md
new file mode 100644
index 0000000..ad80b53
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom.md
@@ -0,0 +1,29 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_notify\_custom</font>
+
+```c
+int
+ble_gattc_notify_custom(
+          uint16_t  conn_handle,
+          uint16_t  chr_val_handle,
+    struct os_mbuf *txom
+)
+```
+
+### Description
+
+Sends a "free-form" characteristic notification.  This function consumes the supplied mbuf regardless of the outcome.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| chr\_val\_handle | The attribute handle to indicate in the outgoing notification. |
+| txom | The value to write to the characteristic. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read.md
new file mode 100644
index 0000000..d387635
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_read</font>
+
+```c
+int
+ble_gattc_read(
+            uint16_t  conn_handle,
+            uint16_t  attr_handle,
+    ble_gatt_attr_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Read Characteristic Value.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| attr\_handle | The handle of the characteristic value to read. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_by_uuid.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_by_uuid.md
new file mode 100644
index 0000000..259d982
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_by_uuid.md
@@ -0,0 +1,34 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_read\_by\_uuid</font>
+
+```c
+int
+ble_gattc_read_by_uuid(
+            uint16_t  conn_handle,
+            uint16_t  start_handle,
+            uint16_t  end_handle,
+    const ble_uuid_t *uuid,
+    ble_gatt_attr_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Read Using Characteristic UUID.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| start\_handle | The first handle to search (generally the handle of the service definition). |
+| end\_handle | The last handle to search (generally the last handle in the service definition). |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_long.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_long.md
new file mode 100644
index 0000000..a61534d
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_long.md
@@ -0,0 +1,32 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_read\_long</font>
+
+```c
+int
+ble_gattc_read_long(
+            uint16_t  conn_handle,
+            uint16_t  handle,
+            uint16_t  offset,
+    ble_gatt_attr_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Read Long Characteristic Values.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| handle | The handle of the characteristic value to read. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_mult.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_mult.md
new file mode 100644
index 0000000..a82d489
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_mult.md
@@ -0,0 +1,33 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_read\_mult</font>
+
+```c
+int
+ble_gattc_read_mult(
+            uint16_t  conn_handle,
+      const uint16_t *handles,
+             uint8_t  num_handles,
+    ble_gatt_attr_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Read Multiple Characteristic Values.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| handles | An array of 16-bit attribute handles to read. |
+| num\_handles | The number of entries in the "handles" array. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write.md
new file mode 100644
index 0000000..03a8bac
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write.md
@@ -0,0 +1,33 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_write</font>
+
+```c
+int
+ble_gattc_write(
+            uint16_t  conn_handle,
+            uint16_t  attr_handle,
+      struct os_mbuf *txom,
+    ble_gatt_attr_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Write Characteristic Value.  This function consumes the supplied mbuf regardless of the outcome.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| attr\_handle | The handle of the characteristic value to write to. |
+| txom | The value to write to the characteristic. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_flat.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_flat.md
new file mode 100644
index 0000000..8edc5c9
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_flat.md
@@ -0,0 +1,35 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_write\_flat</font>
+
+```c
+int
+ble_gattc_write_flat(
+            uint16_t  conn_handle,
+            uint16_t  attr_handle,
+          const void *data,
+            uint16_t  data_len,
+    ble_gatt_attr_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Write Characteristic Value (flat buffer version).
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| attr\_handle | The handle of the characteristic value to write to. |
+| value | The value to write to the characteristic. |
+| value\_len | The number of bytes to write. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long.md
new file mode 100644
index 0000000..0e31b69
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long.md
@@ -0,0 +1,34 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_write\_long</font>
+
+```c
+int
+ble_gattc_write_long(
+            uint16_t  conn_handle,
+            uint16_t  attr_handle,
+            uint16_t  offset,
+      struct os_mbuf *txom,
+    ble_gatt_attr_fn *cb,
+                void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Write Long Characteristic Values.  This function consumes the supplied mbuf regardless of the outcome.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| attr\_handle | The handle of the characteristic value to write to. |
+| txom | The value to write to the characteristic. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp.md
new file mode 100644
index 0000000..227ccf1
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp.md
@@ -0,0 +1,29 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_write\_no\_rsp</font>
+
+```c
+int
+ble_gattc_write_no_rsp(
+          uint16_t  conn_handle,
+          uint16_t  attr_handle,
+    struct os_mbuf *txom
+)
+```
+
+### Description
+
+Initiates GATT procedure: Write Without Response.  This function consumes the supplied mbuf regardless of the outcome.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| attr\_handle | The handle of the characteristic value to write to. |
+| txom | The value to write to the characteristic. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp_flat.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp_flat.md
new file mode 100644
index 0000000..ce14795
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp_flat.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_write\_no\_rsp\_flat</font>
+
+```c
+int
+ble_gattc_write_no_rsp_flat(
+      uint16_t  conn_handle,
+      uint16_t  attr_handle,
+    const void *data,
+      uint16_t  data_len
+)
+```
+
+### Description
+
+Initiates GATT procedure: Write Without Response.  This function consumes the supplied mbuf regardless of the outcome.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| attr\_handle | The handle of the characteristic value to write to. |
+| value | The value to write to the characteristic. |
+| value\_len | The number of bytes to write. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_reliable.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_reliable.md
new file mode 100644
index 0000000..248bc29
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_reliable.md
@@ -0,0 +1,30 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gattc\_write\_reliable</font>
+
+```c
+int
+ble_gattc_write_reliable(
+                     uint16_t  conn_handle,
+         struct ble_gatt_attr *attrs,
+                          int  num_attrs,
+    ble_gatt_reliable_attr_fn *cb,
+                         void *cb_arg
+)
+```
+
+### Description
+
+Initiates GATT procedure: Reliable Writes.  This function consumes the supplied mbufs regardless of the outcome.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| conn\_handle | The connection over which to execute the procedure. |
+| attrs | An array of attribute descriptors; specifies which characteristics to write to and what data to write to them.  The mbuf pointer in each attribute is set to NULL by this function. |
+| num\_attrs | The number of characteristics to write; equal to the number of elements in the 'attrs' array. |
+| cb | The function to call to report procedure status updates; null for no callback. |
+| cb\_arg | The optional argument to pass to the callback function. |
+
+### Returned values
+
+None
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/mdtoc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/mdtoc.md
new file mode 100644
index 0000000..1713086
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gattc/mdtoc.md
@@ -0,0 +1,26 @@
+            - 'GATT client':
+                - toc: 'network/ble/ble_hs/ble_gattc/ble_gattc.md'
+                - 'Definitions':
+                    - 'GATT client definitions': 'network/ble/ble_hs/ble_gattc/definitions/ble_gattc_defs.md'
+                - 'Functions':
+                    - 'ble_gattc_disc_all_chrs': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_chrs.md'
+                    - 'ble_gattc_disc_all_dscs': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_dscs.md'
+                    - 'ble_gattc_disc_all_svcs': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_all_svcs.md'
+                    - 'ble_gattc_disc_chrs_by_uuid': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_chrs_by_uuid.md'
+                    - 'ble_gattc_disc_svc_by_uuid': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_disc_svc_by_uuid.md'
+                    - 'ble_gattc_exchange_mtu': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_exchange_mtu.md'
+                    - 'ble_gattc_find_inc_svcs': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_find_inc_svcs.md'
+                    - 'ble_gattc_indicate': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate.md'
+                    - 'ble_gattc_indicate_custom': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_indicate_custom.md'
+                    - 'ble_gattc_notify': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify.md'
+                    - 'ble_gattc_notify_custom': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_notify_custom.md'
+                    - 'ble_gattc_read': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_read.md'
+                    - 'ble_gattc_read_by_uuid': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_by_uuid.md'
+                    - 'ble_gattc_read_long': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_long.md'
+                    - 'ble_gattc_read_mult': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_read_mult.md'
+                    - 'ble_gattc_write': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_write.md'
+                    - 'ble_gattc_write_flat': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_flat.md'
+                    - 'ble_gattc_write_long': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_long.md'
+                    - 'ble_gattc_write_no_rsp': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp.md'
+                    - 'ble_gattc_write_no_rsp_flat': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_no_rsp_flat.md'
+                    - 'ble_gattc_write_reliable': 'network/ble/ble_hs/ble_gattc/functions/ble_gattc_write_reliable.md'
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/ble_gatts.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/ble_gatts.md
new file mode 100644
index 0000000..f2774ba
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/ble_gatts.md
@@ -0,0 +1,26 @@
+## <font color="F2853F" style="font-size:24pt">NimBLE Host GATT Server Reference</font>
+
+### Introduction
+
+The Generic Attribute Profile (GATT) manages all activities involving services, characteristics, and descriptors.  The server half of the GATT API handles registration and responding to GATT clients.
+
+### Header
+
+```c
+#include "host/ble_hs.h"
+```
+
+### Definitions
+
+[BLE host GATT server definitions](definitions/ble_gatts_defs.md)
+
+### Functions
+
+| Function | Description |
+|----------|-------------|
+| [ble_gatts_add_svcs](functions/ble_gatts_add_svcs.md) | Queues a set of service definitions for registration. |
+| [ble_gatts_svc_set_visibility](functions/ble_gatts_svc_set_visibility.md) | Changes visibility of a service with specified handle. |
+| [ble_gatts_count_cfg](functions/ble_gatts_count_cfg.md) | Adjusts a host configuration object's settings to accommodate the specified service definition array. |
+| [ble_gatts_find_chr](functions/ble_gatts_find_chr.md) | Retrieves the pair of attribute handles associated with a local GATT characteristic. |
+| [ble_gatts_find_dsc](functions/ble_gatts_find_dsc.md) | Retrieves the attribute handle associated with a local GATT descriptor. |
+| [ble_gatts_find_svc](functions/ble_gatts_find_svc.md) | Retrieves the attribute handle associated with a local GATT service. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs.md
new file mode 100644
index 0000000..d22490e
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs.md
@@ -0,0 +1,235 @@
+## <font color="#F2853F" style="font-size:24pt">GATT Server Definitions</font>
+
+```c
+typedef int ble_gatt_access_fn(uint16_t conn_handle, uint16_t attr_handle,
+                               struct ble_gatt_access_ctxt *ctxt, void *arg);
+```
+
+```c
+typedef uint16_t ble_gatt_chr_flags;
+```
+
+```c
+struct ble_gatt_chr_def {
+    /**
+     * Pointer to characteristic UUID; use BLE_UUIDxx_DECLARE macros to declare
+     * proper UUID; NULL if there are no more characteristics in the service.
+     */
+    const ble_uuid_t *uuid;
+
+    /**
+     * Callback that gets executed when this characteristic is read or
+     * written.
+     */
+    ble_gatt_access_fn *access_cb;
+
+    /** Optional argument for callback. */
+    void *arg;
+
+    /**
+     * Array of this characteristic's descriptors.  NULL if no descriptors.
+     * Do not include CCCD; it gets added automatically if this
+     * characteristic's notify or indicate flag is set.
+     */
+    struct ble_gatt_dsc_def *descriptors;
+
+    /** Specifies the set of permitted operations for this characteristic. */
+    ble_gatt_chr_flags flags;
+
+    /** Specifies minimum required key size to access this characteristic. */
+    uint8_t min_key_size;
+
+    /** 
+     * At registration time, this is filled in with the characteristic's value
+     * attribute handle.
+     */
+    uint16_t * const val_handle;
+};
+```
+
+```c
+struct ble_gatt_svc_def {
+    /**
+     * One of the following:
+     *     o BLE_GATT_SVC_TYPE_PRIMARY - primary service
+     *     o BLE_GATT_SVC_TYPE_SECONDARY - secondary service
+     *     o 0 - No more services in this array.
+     */
+    uint8_t type;
+
+    /**
+     * Pointer to service UUID; use BLE_UUIDxx_DECLARE macros to declare
+     * proper UUID; NULL if there are no more characteristics in the service.
+     */
+    const ble_uuid_t *uuid;
+
+    /**
+     * Array of pointers to other service definitions.  These services are
+     * reported as "included services" during service discovery.  Terminate the
+     * array with NULL.
+     */
+    const struct ble_gatt_svc_def **includes;
+
+    /**
+     * Array of characteristic definitions corresponding to characteristics
+     * belonging to this service.
+     */
+    const struct ble_gatt_chr_def *characteristics;
+};
+```
+
+```c
+struct ble_gatt_dsc_def {
+    /**
+     * Pointer to descriptor UUID; use BLE_UUIDxx_DECLARE macros to declare
+     * proper UUID; NULL if there are no more characteristics in the service.
+     */
+    const ble_uuid_t *uuid;
+
+    /** Specifies the set of permitted operations for this descriptor. */
+    uint8_t att_flags;
+
+    /** Specifies minimum required key size to access this descriptor. */
+    uint8_t min_key_size;
+
+    /** Callback that gets executed when the descriptor is read or written. */
+    ble_gatt_access_fn *access_cb;
+
+    /** Optional argument for callback. */
+    void *arg;
+};
+```
+
+```c
+/**
+ * Context for an access to a GATT characteristic or descriptor.  When a client
+ * reads or writes a locally registered characteristic or descriptor, an
+ * instance of this struct gets passed to the application callback.
+ */
+struct ble_gatt_access_ctxt {
+    /**
+     * Indicates the gatt operation being performed.  This is equal to one of
+     * the following values:
+     *     o  BLE_GATT_ACCESS_OP_READ_CHR
+     *     o  BLE_GATT_ACCESS_OP_WRITE_CHR
+     *     o  BLE_GATT_ACCESS_OP_READ_DSC
+     *     o  BLE_GATT_ACCESS_OP_WRITE_DSC
+     */
+    uint8_t op;
+
+    /**
+     * A container for the GATT access data.
+     *     o For reads: The application populates this with the value of the
+     *       characteristic or descriptor being read.
+     *     o For writes: This is already populated with the value being written
+     *       by the peer.  If the application wishes to retain this mbuf for
+     *       later use, the access callback must set this pointer to NULL to
+     *       prevent the stack from freeing it.
+     */
+    struct os_mbuf *om;
+
+    /**
+     * The GATT operation being performed dictates which field in this union is
+     * valid.  If a characteristic is being accessed, the chr field is valid.
+     * Otherwise a descriptor is being accessed, in which case the dsc field
+     * is valid.
+     */
+    union {
+        /**
+         * The characteristic definition corresponding to the characteristic
+         * being accessed.  This is what the app registered at startup.
+         */
+        const struct ble_gatt_chr_def *chr;
+
+        /**
+         * The descriptor definition corresponding to the descriptor being
+         * accessed.  This is what the app registered at startup.
+         */
+        const struct ble_gatt_dsc_def *dsc;
+    };
+}
+```
+
+```c
+/**
+ * Context passed to the registration callback; represents the GATT service,
+ * characteristic, or descriptor being registered.
+ */
+struct ble_gatt_register_ctxt {
+    /**
+     * Indicates the gatt registration operation just performed.  This is
+     * equal to one of the following values:
+     *     o BLE_GATT_REGISTER_OP_SVC
+     *     o BLE_GATT_REGISTER_OP_CHR
+     *     o BLE_GATT_REGISTER_OP_DSC
+     */
+    uint8_t op;
+
+    /**
+     * The value of the op field determines which field in this union is valid.
+     */
+    union {
+        /** Service; valid if op == BLE_GATT_REGISTER_OP_SVC. */
+        struct {
+            /** The ATT handle of the service definition attribute. */
+            uint16_t handle;
+
+            /**
+             * The service definition representing the service being
+             * registered.
+             */
+            const struct ble_gatt_svc_def *svc_def;
+        } svc;
+
+        /** Characteristic; valid if op == BLE_GATT_REGISTER_OP_CHR. */
+        struct {
+            /** The ATT handle of the characteristic definition attribute. */
+            uint16_t def_handle;
+
+            /** The ATT handle of the characteristic value attribute. */
+            uint16_t val_handle;
+
+            /**
+             * The characteristic definition representing the characteristic
+             * being registered.
+             */
+            const struct ble_gatt_chr_def *chr_def;
+
+            /**
+             * The service definition corresponding to the characteristic's
+             * parent service.
+             */
+            const struct ble_gatt_svc_def *svc_def;
+        } chr;
+
+        /** Descriptor; valid if op == BLE_GATT_REGISTER_OP_DSC. */
+        struct {
+            /** The ATT handle of the descriptor definition attribute. */
+            uint16_t handle;
+
+            /**
+             * The descriptor definition corresponding to the descriptor being
+             * registered.
+             */
+            const struct ble_gatt_dsc_def *dsc_def;
+
+            /**
+             * The characteristic definition corresponding to the descriptor's
+             * parent characteristic.
+             */
+            const struct ble_gatt_chr_def *chr_def;
+
+            /**
+             * The service definition corresponding to the descriptor's
+             * grandparent service
+             */
+            const struct ble_gatt_svc_def *svc_def;
+        } dsc;
+    };
+};
+```
+
+```c
+typedef void ble_gatt_register_fn(struct ble_gatt_register_ctxt *ctxt,
+                                  void *arg);
+```
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs.md
new file mode 100644
index 0000000..d0ed070
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs.md
@@ -0,0 +1,23 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gatts\_add\_svcs</font>
+
+```c
+int
+ble_gatts_add_svcs(const struct ble_gatt_svc_def *svcs)
+```
+
+### Description
+
+Queues a set of service definitions for registration.  All services queued in this manner get registered when ble\_hs\_init() is called.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| svcs | An array of service definitions to queue for registration.  This array must be terminated with an entry whose 'type' equals 0. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOMEM | Heap exhaustion. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_cfg.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_cfg.md
new file mode 100644
index 0000000..c435e00
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_cfg.md
@@ -0,0 +1,24 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gatts\_count\_cfg</font>
+
+```c
+int
+ble_gatts_count_cfg(const struct ble_gatt_svc_def *defs)
+```
+
+### Description
+
+Adjusts a host configuration object's settings to accommodate the specified service definition array.  This function adds the counts to the appropriate fields in the supplied configuration object without clearing them first, so it can be called repeatedly with different inputs to calculate totals.  Be sure to zero the GATT server settings prior to the first call to this function.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| defs | The service array containing the resource definitions to be counted. |
+| cfg | The resource counts are accumulated in this configuration object. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EINVAL | The svcs array contains an invalid resource definition. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr.md
new file mode 100644
index 0000000..4607808
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gatts\_find\_chr</font>
+
+```c
+int
+ble_gatts_find_chr(
+    const ble_uuid_t *svc_uuid,
+    const ble_uuid_t *chr_uuid,
+            uint16_t *out_def_handle,
+            uint16_t *out_val_handle
+)
+```
+
+### Description
+
+Retrieves the pair of attribute handles associated with a local GATT characteristic.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| svc\_uuid128 | The UUID of the parent service. |
+| chr\_uuid128 | The UUID of the characteristic to look up. |
+| out\_def\_handle | On success, populated with the handle of the characteristic definition attribute. Pass null if you don't need this value. |
+| out\_val\_handle | On success, populated with the handle of the characteristic value attribute. Pass null if you don't need this value. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOENT | The specified service or characteristic could not be found. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_dsc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_dsc.md
new file mode 100644
index 0000000..5b7e3fc
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_dsc.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gatts\_find\_dsc</font>
+
+```c
+int
+ble_gatts_find_dsc(
+    const ble_uuid_t *svc_uuid,
+    const ble_uuid_t *chr_uuid,
+    const ble_uuid_t *dsc_uuid,
+            uint16_t *out_handle
+)
+```
+
+### Description
+
+Retrieves the attribute handle associated with a local GATT descriptor.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| svc\_uuid128 | The UUID of the grandparent service. |
+| chr\_uuid128 | The UUID of the parent characteristic. |
+| dsc\_uuid128 | The UUID of the descriptor ro look up. |
+| out\_handle | On success, populated with the handle of the descripytor attribute.  Pass null if you don't need this value. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOENT | The specified service, characteristic, or descriptor could not be found. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_svc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_svc.md
new file mode 100644
index 0000000..e0ae306
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_svc.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gatts\_find\_svc</font>
+
+```c
+int
+ble_gatts_find_svc(
+    const ble_uuid_t *uuid,
+            uint16_t *out_handle
+)
+```
+
+### Description
+
+Retrieves the attribute handle associated with a local GATT service.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| uuid128 | The UUID of the service to look up. |
+| out\_handle | On success, populated with the handle of the service attribute.  Pass null if you don't need this value. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOENT | The specified service could not be found. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_svc_set_visibility.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_svc_set_visibility.md
new file mode 100644
index 0000000..187f5b2
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/functions/ble_gatts_svc_set_visibility.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_gatts\_svc\_set\_visibility</font>
+
+```c
+int
+ble_gatts_svc_set_visibility(uint16_t handle, int visible)
+```
+
+### Description
+
+Changes visibility of a service with specified handle. This function allow any service to be hidden (and then restored) from clients. 
+<br/>
+<br/>
+Note: From GATT point of view, the service is still registered and has the same handle range assigned and it is ATT server which hides the attributes from the client.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| handle | The handle of a service for which the visibility should be changed. |
+| visible | The value of visibility to set. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_ENOENT | The svcs with specified handle does not exist. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/mdtoc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/mdtoc.md
new file mode 100644
index 0000000..bd46bde
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_gatts/mdtoc.md
@@ -0,0 +1,11 @@
+            - 'GATT server':
+                - toc: 'network/ble/ble_hs/ble_gatts/ble_gatts.md'
+                - 'Definitions':
+                    - 'GATT server definitions': 'network/ble/ble_hs/ble_gatts/definitions/ble_gatts_defs.md'
+                - 'Functions':
+                    - 'ble_gatts_add_svcs': 'network/ble/ble_hs/ble_gatts/functions/ble_gatts_add_svcs.md'
+                    - 'ble_gatts_svc_set_visibility': 'network/ble/ble_hs/ble_gatts/functions/ble_gatts_svc_set_visibility.md'
+                    - 'ble_gatts_count_cfg': 'network/ble/ble_hs/ble_gatts/functions/ble_gatts_count_cfg.md'
+                    - 'ble_gatts_find_chr': 'network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_chr.md'
+                    - 'ble_gatts_find_dsc': 'network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_dsc.md'
+                    - 'ble_gatts_find_svc': 'network/ble/ble_hs/ble_gatts/functions/ble_gatts_find_svc.md'
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs.md
new file mode 100644
index 0000000..c823bc0
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs.md
@@ -0,0 +1,21 @@
+# NimBLE Host
+
+### Introduction
+
+At a high level, the NimBLE stack is divided into two components:
+
+* Host
+* Controller
+
+This document is an API reference for the host component.  If you are interested in the general structure of the NimBLE stack and its non-host components, you might want to read the [BLE introduction](../ble_intro.md).
+
+The host sits directly below the application, and it serves as the interface to the application for all BLE operations.
+
+### Reference
+
+* [NimBLE Host Return Codes](ble_hs_return_codes.md)
+* [Generic Access Protocol (GAP)](ble_gap/ble_gap.md)
+* [Generic Attribute Profile (GATT) Client](ble_gattc/ble_gattc.md)
+* [Generic Attribute Profile (GATT) Server](ble_gatts/ble_gatts.md)
+* [Identity](ble_hs_id/ble_hs_id.md)
+* [Other](other/other.md)
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/ble_hs_id.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/ble_hs_id.md
new file mode 100644
index 0000000..818c41b
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/ble_hs_id.md
@@ -0,0 +1,42 @@
+## <font color="F2853F" style="font-size:24pt">NimBLE Host Identity Reference</font>
+
+### Introduction
+
+The identity API provides facilities for querying and configuring your device's addresses.  BLE's addressing scheme is quite involved; the summary that follows is only a brief introduction.
+
+BLE defines four address types:
+
+| Type    | Description  | Identity? | Configured with    |
+|-------------------------------|-------------------------------------------------------------------------------------------------|-----------|---------------------------------------------|
+| Public                        | Address assigned by manufacturer; the three most significant bytes form the manufacturer's OUI. | Yes       | N/A; read from controller at startup.       |
+| Static random                 | Randomly generated address.                                                                     | Yes       | *ble_hs_id_set_rnd()*                       |
+| Resolvable private (RPA)      | Address randomly generated from an identity address and an identity resolving key (IRK).        | No        | N/A; generated by controller periodically.  |
+| Non-resolvable private (NRPA) | Randomly generated address.                                                                     | No        | *ble_hs_id_set_rnd()*                       |
+
+#### Identity Addresses
+
+The third column in the above table indicates the _identity_ property of each address type.  An identity address never changes, and a device can be identified by one of its unique identity addresses.
+
+Non-identity addresses are used by devices supporting BLE privacy.  A device using the privacy feature frequently changes its own address to a newly-generated non-identity address.  By cycling its address, the device makes it impossible for eavesdroppers to track its location.
+
+A device can have up to two identity addresses at once: one public and one static random.  As indicated in the above table, the public identity address cannot be configured; the static random identity address can be set by calling *ble_hs_id_set_rnd()*.
+
+The address type is selected on a per-GAP-procedure basis.  Each time you initiate a GAP procedure, you indicate which address type the device should use for the duration of the procedure.
+
+### Header
+
+```c
+#include "host/ble_hs.h"
+```
+
+### Definitions
+
+None.
+
+### Functions
+
+| Function | Description |
+|----------|-------------|
+| [ble_hs_id_copy_addr](functions/ble_hs_id_copy_addr.md) | Retrieves one of the device's identity addresses. |
+| [ble_hs_id_gen_rnd](functions/ble_hs_id_gen_rnd.md) | Generates a new random address. |
+| [ble_hs_id_set_rnd](functions/ble_hs_id_set_rnd.md) | Sets the device's random address. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_copy_addr.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_copy_addr.md
new file mode 100644
index 0000000..89b50f1
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_copy_addr.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_id\_copy\_addr</font>
+
+```c
+int
+ble_hs_id_copy_addr(
+    uint8_t  id_addr_type,
+    uint8_t *out_id_addr,
+        int *out_is_nrpa
+)
+```
+
+### Description
+
+Retrieves one of the device's identity addresses.  The device can have two identity addresses: one public and one random.  The id\_addr\_type argument specifies which of these two addresses to retrieve.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| id\_addr\_type | The type of identity address to retrieve. Valid values are: <ul><li>BLE\_ADDR\_PUBLIC</li> <li>BLE\_ADDR\_RANDOM</li></ul> |
+| out\_id\_addr | On success, the requested identity address is copied into this buffer.  The buffer must be at least six bytes in size. |
+| out\_is\_nrpa | On success, the pointed-to value indicates whether the retrieved address is a non-resolvable private address. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EINVAL | An invalid address type was specified. |
+| BLE\_HS\_ENOADDR | The device does not have an identity address of the requested type. |
+| other | Other ble host core code on error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_gen_rnd.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_gen_rnd.md
new file mode 100644
index 0000000..53a55da
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_gen_rnd.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_id\_gen\_rnd</font>
+
+```c
+int
+ble_hs_id_gen_rnd(
+           int  nrpa,
+    ble_addr_t *out_addr
+)
+```
+
+### Description
+
+Generates a new random address.  This function does not configure the device with the new address; the caller can use the address in subsequent operations.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| nrpa | The type of random address to generate: 0: static 1: non-resolvable private |
+| out\_addr | On success, the generated address gets written here. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_set_rnd.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_set_rnd.md
new file mode 100644
index 0000000..5f2a3bf
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_set_rnd.md
@@ -0,0 +1,23 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_id\_set\_rnd</font>
+
+```c
+int
+ble_hs_id_set_rnd(const uint8_t *rnd_addr)
+```
+
+### Description
+
+Sets the device's random address.  The address type (static vs. non-resolvable private) is inferred from the most-significant byte of the address.  The address is specified in host byte order (little-endian!).
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| rnd\_addr | The random address to set. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/mdtoc.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/mdtoc.md
new file mode 100644
index 0000000..49d0bdd
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_id/mdtoc.md
@@ -0,0 +1,6 @@
+            - 'Identity':
+                - toc: 'network/ble/ble_hs/ble_hs_id/ble_hs_id.md'
+                - 'Functions':
+                    - 'ble_hs_id_copy_addr': 'network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_copy_addr.md'
+                    - 'ble_hs_id_gen_rnd': 'network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_gen_rnd.md'
+                    - 'ble_hs_id_set_rnd': 'network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_set_rnd.md'
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_return_codes.md b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_return_codes.md
new file mode 100644
index 0000000..1ec65c8
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/ble_hs_return_codes.md
@@ -0,0 +1,271 @@
+## <font color="F2853F" style="font-size:24pt">NimBLE Host Return Codes</font>
+
+* [Introduction](#introduction)
+    * [Summary](#summary)
+    * [Example](#example)
+* [Return Code Reference](#return-code-reference)
+    * [Return codes - Core](#return-codes-core)
+    * [Return codes - ATT](#return-codes-att)
+    * [Return codes - HCI](#return-codes-hci)
+    * [Return codes - L2CAP](#return-codes-l2cap)
+    * [Return codes - Security manager (us)](#return-codes-security-manager-(us))
+    * [Return codes - Security manager (peer)](#return-codes-security-manager-(peer))
+
+### Introduction
+
+#### Summary
+
+The NimBLE host reports status to the application via a set of return codes.  The host encompasses several layers of the Bluetooth specification that each defines its own set of status codes.  Rather than "abstract away" information from lower layers that the application developer might find useful, the NimBLE host aims to indicate precisely what happened when something fails.  Consequently, the host utilizes a rather large set of return codes.
+
+A return code of 0 indicates success.  For failure conditions, the return codes are partitioned into five separate sets:
+
+| Set | Condition | Notes|
+|-----|-------------|
+| Core | Errors detected internally by the NimBLE host. |
+| ATT | The ATT server has reported a failure via the transmission of an ATT Error Response.  The return code corresponds to the value of the Error Code field in the response. |
+| HCI | The controller has reported an error to the host via a command complete or command status HCI event.  The return code corresponds to the value of the Status field in the event.
+| L2CAP | An L2CAP signaling procedure has failed and an L2CAP Command Reject was sent as a result.  The return code corresponds to the value of the Reason field in the command.
+| Security manager (us) | The host detected an error during a security manager procedure and sent a Pairing Failed command to the peer.  The return code corresponds to the value of the Reason field in the Pairing Failed command. |
+| Security manager (peer) | A security manager procedure failed because the peer sent us a Pairing Failed command.  The return code corresponds to the value of the Reason field in the Pairing Failed command. |
+
+The return codes in the core set are defined by the NimBLE Host.  The other sets are defined in the Bluetooth specification; the codes in this latter group are referred to as _formal status codes_.  As defined in the Bluetooth specification, the formal status code sets are not disjoint.  That is, they overlap.  For example, the spec defines a status code of 1 to have all of the following meanings:
+
+| Layer | Meaning |
+|-------|---------|
+| ATT   | Invalid handle. |
+| HCI   | Unknown HCI command. |
+| L2CAP | Signalling MTU exceeded. |
+| SM    | Passkey entry failed. |
+
+Clearly, the host can't just return an unadorned formal status code and expect the application to make sense of it.  To resolve this ambiguity, the NimBLE host divides the full range of an int into several subranges.  Each subrange corresponds to one of the five return code sets.  For example, the ATT set is mapped onto the subrange _[0x100, 0x200)_.  To indicate an ATT error of 3 (write not permitted), the NimBLE host returns a value 0x103 to the application.
+
+The host defines a set of convenience macros for converting from a formal status code to NimBLE host status code.  These macros are documented in the table below.
+
+| Macro | Status code set | Base value |
+|-------|-----------------|-------------------|
+| BLE\_HS\_ATT\_ERR() | ATT | 0x100 |
+| BLE\_HS\_HCI\_ERR() | HCI | 0x200 |
+| BLE\_HS\_L2C\_ERR() | L2CAP | 0x300 |
+| BLE\_HS\_SM\_US\_ERR() | Security manager (us) | 0x400 |
+| BLE\_HS\_SM\_PEER\_ERR() | Security manager (peer) | 0x500 |
+
+#### Example
+
+The following example demonstrates how an application might determine which error is being reported by the host.  In this example, the application performs the GAP encryption procedure and checks the return code.  To simplify the example, the application uses a hypothetical *my_blocking_enc_proc()* function, which blocks until the pairing operation has completed.
+
+```c
+void
+encrypt_connection(uint16_t conn_handle)
+{
+    int rc;
+
+    /* Perform a blocking GAP encryption procedure. */
+    rc = my_blocking_enc_proc(conn_handle);
+    switch (rc) {
+    case 0:
+        console_printf("success - link successfully encrypted\n");
+        break;
+
+    case BLE_HS_ENOTCONN:
+        console_printf("failure - no connection with handle %d\n",
+                       conn_handle);
+        break;
+
+    case BLE_HS_ERR_SM_US_BASE(BLE_SM_ERR_CONFIRM_MISMATCH):
+        console_printf("failure - mismatch in peer's confirm and random "
+                       "commands.\n");
+        break;
+
+    case BLE_HS_ERR_SM_PEER_BASE(BLE_SM_ERR_CONFIRM_MISMATCH):
+        console_printf("failure - peer reports mismatch in our confirm and "
+                       "random commands.\n");
+        break;
+
+    default:
+        console_printf("failure - other error: 0x%04x\n", rc);
+        break;
+    }
+}
+```
+
+### Return Code Reference
+
+#### Header
+
+All NimBLE host return codes are made accessible by including the following header:
+
+```c
+#include "host/ble_hs.h"
+```
+
+#### Return codes - Core
+
+The precise meaning of each of these error codes depends on the function that returns it.  The API reference for a particular function indicates the conditions under which each of these codes are returned.
+
+| Value | Name           | Condition                                    |
+|-------|----------------|----------------------------------------------|
+| 0x00  | _N/A_                         | Success                                      |
+| 0x01  | BLE\_HS\_EAGAIN               | Temporary failure; try again.                |
+| 0x02  | BLE\_HS\_EALREADY             | Operation already in progress or completed.  |
+| 0x03  | BLE\_HS\_EINVAL               | One or more arguments are invalid.           |
+| 0x04  | BLE\_HS\_EMSGSIZE             | The provided buffer is too small.            |
+| 0x05  | BLE\_HS\_ENOENT               | No entry matching the specified criteria.    |
+| 0x06  | BLE\_HS\_ENOMEM               | Operation failed due to resource exhaustion. |
+| 0x07  | BLE\_HS\_ENOTCONN             | No open connection with the specified handle.|
+| 0x08  | BLE\_HS\_ENOTSUP              | Operation disabled at compile time.          |
+| 0x09  | BLE\_HS\_EAPP                 | Application callback behaved unexpectedly.   |
+| 0x0a  | BLE\_HS\_EBADDATA             | Command from peer is invalid.                |
+| 0x0b  | BLE\_HS\_EOS                  | Mynewt OS error.                             |
+| 0x0c  | BLE\_HS\_ECONTROLLER          | Event from controller is invalid.            |
+| 0x0d  | BLE\_HS\_ETIMEOUT             | Operation timed out.                         |
+| 0x0e  | BLE\_HS\_EDONE                | Operation completed successfully.            |
+| 0x0f  | BLE\_HS\_EBUSY                | Operation cannot be performed until procedure completes. |
+| 0x10  | BLE\_HS\_EREJECT              | Peer rejected a connection parameter update request. |
+| 0x11  | BLE\_HS\_EUNKNOWN             | Unexpected failure; catch all. |
+| 0x12  | BLE\_HS\_EROLE                | Operation requires different role (e.g., central vs. peripheral). |
+| 0x13  | BLE\_HS\_ETIMEOUT\_HCI        | HCI request timed out; controller unresponsive. |
+| 0x14  | BLE\_HS\_ENOMEM\_EVT          | Controller failed to send event due to memory exhaustion (combined host-controller only). |
+| 0x15  | BLE\_HS\_ENOADDR              | Operation requires an identity address but none configured. |
+| 0x16  | BLE\_HS\_ENOTSYNCED           | Attempt to use the host before it is synced with controller. |
+| 0x17  | BLE\_HS\_EAUTHEN              | Insufficient authentication. |
+| 0x18  | BLE\_HS\_EAUTHOR              | Insufficient authorization. |
+| 0x19  | BLE\_HS\_EENCRYPT             | Insufficient encryption level. |
+| 0x1a  | BLE\_HS\_EENCRYPT\_KEY\_SZ    | Insufficient key size. |
+| 0x1b  | BLE\_HS\_ESTORE\_CAP          | Storage at capacity. |
+| 0x1c  | BLE\_HS\_ESTORE\_FAIL         | Storage IO error. |
+
+
+#### Return codes - ATT
+
+| NimBLE Value | Formal Value | Name   | Condition   |
+|--------------|--------------|--------|-------------|
+| 0x0101  | 0x01  |  BLE\_ATT\_ERR\_INVALID\_HANDLE          | The attribute handle given was not valid on this server. |
+| 0x0102  | 0x02  |  BLE\_ATT\_ERR\_READ\_NOT\_PERMITTED      | The attribute cannot be read. |
+| 0x0103  | 0x03  |  BLE\_ATT\_ERR\_WRITE\_NOT\_PERMITTED     | The attribute cannot be written. |
+| 0x0104  | 0x04  |  BLE\_ATT\_ERR\_INVALID\_PDU             | The attribute PDU was invalid. |
+| 0x0105  | 0x05  |  BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHEN     | The attribute requires authentication before it can be read or written. |
+| 0x0106  | 0x06  |  BLE\_ATT\_ERR\_REQ\_NOT\_SUPPORTED       | Attribute server does not support the request received from the client. |
+| 0x0107  | 0x07  |  BLE\_ATT\_ERR\_INVALID\_OFFSET          | Offset specified was past the end of the attribute. |
+| 0x0108  | 0x08  |  BLE\_ATT\_ERR\_INSUFFICIENT\_AUTHOR     | The attribute requires authorization before it can be read or written. |
+| 0x0109  | 0x09  |  BLE\_ATT\_ERR\_PREPARE\_QUEUE\_FULL      | Too many prepare writes have been queued. |
+| 0x010a  | 0x0a  |  BLE\_ATT\_ERR\_ATTR\_NOT\_FOUND          | No attribute found within the given attribute handle range. |
+| 0x010b  | 0x0b  |  BLE\_ATT\_ERR\_ATTR\_NOT\_LONG           | The attribute cannot be read or written using the Read Blob Request. |
+| 0x010c  | 0x0c  |  BLE\_ATT\_ERR\_INSUFFICIENT\_KEY\_SZ     | The Encryption Key Size used for encrypting this link is insufficient. |
+| 0x010d  | 0x0d  |  BLE\_ATT\_ERR\_INVALID\_ATTR\_VALUE\_LEN  | The attribute value length is invalid for the operation. |
+| 0x010e  | 0x0e  |  BLE\_ATT\_ERR\_UNLIKELY                | The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested. |
+| 0x010f  | 0x0f  |  BLE\_ATT\_ERR\_INSUFFICIENT\_ENC        | The attribute requires encryption before it can be read or written. |
+| 0x0110  | 0x10  |  BLE\_ATT\_ERR\_UNSUPPORTED\_GROUP       | The attribute type is not a supported grouping attribute as defined by a higher layer specification. |
+| 0x0111  | 0x11  |  BLE\_ATT\_ERR\_INSUFFICIENT\_RES        | Insufficient Resources to complete the request. |
+
+
+#### Return codes - HCI
+
+| NimBLE Value | Formal Value | Name   | Condition   |
+|--------------|--------------|--------|-------------|
+| 0x0201  | 0x01  | BLE\_ERR\_UNKNOWN\_HCI\_CMD       | Unknown HCI Command |
+| 0x0202  | 0x02  | BLE\_ERR\_UNK\_CONN\_ID           | Unknown Connection Identifier |
+| 0x0203  | 0x03  | BLE\_ERR\_HW\_FAIL                | Hardware Failure |
+| 0x0204  | 0x04  | BLE\_ERR\_PAGE\_TMO               | Page Timeout |
+| 0x0205  | 0x05  | BLE\_ERR\_AUTH\_FAIL              | Authentication Failure |
+| 0x0206  | 0x06  | BLE\_ERR\_PINKEY\_MISSING         | PIN or Key Missing |
+| 0x0207  | 0x07  | BLE\_ERR\_MEM\_CAPACITY           | Memory Capacity Exceeded |
+| 0x0208  | 0x08  | BLE\_ERR\_CONN\_SPVN\_TMO         | Connection Timeout |
+| 0x0209  | 0x09  | BLE\_ERR\_CONN\_LIMIT             | Connection Limit Exceeded |
+| 0x020a  | 0x0a  | BLE\_ERR\_SYNCH\_CONN\_LIMIT      | Synchronous Connection Limit To A Device Exceeded |
+| 0x020b  | 0x0b  | BLE\_ERR\_ACL\_CONN\_EXISTS       | ACL Connection Already Exists |
+| 0x020c  | 0x0c  | BLE\_ERR\_CMD\_DISALLOWED         | Command Disallowed |
+| 0x020d  | 0x0d  | BLE\_ERR\_CONN\_REJ\_RESOURCES    | Connection Rejected due to Limited Resources |
+| 0x020e  | 0x0e  | BLE\_ERR\_CONN\_REJ\_SECURITY     | Connection Rejected Due To Security Reasons |
+| 0x020f  | 0x0f  | BLE\_ERR\_CONN\_REJ\_BD\_ADDR     | Connection Rejected due to Unacceptable BD\_ADDR |
+| 0x0210  | 0x10  | BLE\_ERR\_CONN\_ACCEPT\_TMO       | Connection Accept Timeout Exceeded |
+| 0x0211  | 0x11  | BLE\_ERR\_UNSUPPORTED             | Unsupported Feature or Parameter Value |
+| 0x0212  | 0x12  | BLE\_ERR\_INV\_HCI\_CMD\_PARMS    | Invalid HCI Command Parameters |
+| 0x0213  | 0x13  | BLE\_ERR\_REM\_USER\_CONN\_TERM   | Remote User Terminated Connection |
+| 0x0214  | 0x14  | BLE\_ERR\_RD\_CONN\_TERM\_RESRCS  | Remote Device Terminated Connection due to Low Resources |
+| 0x0215  | 0x15  | BLE\_ERR\_RD\_CONN\_TERM\_PWROFF  | Remote Device Terminated Connection due to Power Off |
+| 0x0216  | 0x16  | BLE\_ERR\_CONN\_TERM\_LOCAL       | Connection Terminated By Local Host |
+| 0x0217  | 0x17  | BLE\_ERR\_REPEATED\_ATTEMPTS      | Repeated Attempts |
+| 0x0218  | 0x18  | BLE\_ERR\_NO\_PAIRING             | Pairing Not Allowed |
+| 0x0219  | 0x19  | BLE\_ERR\_UNK\_LMP                | Unknown LMP PDU |
+| 0x021a  | 0x1a  | BLE\_ERR\_UNSUPP\_REM\_FEATURE    | Unsupported Remote Feature / Unsupported LMP Feature |
+| 0x021b  | 0x1b  | BLE\_ERR\_SCO\_OFFSET             | SCO Offset Rejected |
+| 0x021c  | 0x1c  | BLE\_ERR\_SCO\_ITVL               | SCO Interval Rejected |
+| 0x021d  | 0x1d  | BLE\_ERR\_SCO\_AIR\_MODE          | SCO Air Mode Rejected |
+| 0x021e  | 0x1e  | BLE\_ERR\_INV\_LMP\_LL\_PARM      | Invalid LMP Parameters / Invalid LL Parameters |
+| 0x021f  | 0x1f  | BLE\_ERR\_UNSPECIFIED             | Unspecified Error |
+| 0x0220  | 0x20  | BLE\_ERR\_UNSUPP\_LMP\_LL\_PARM   | Unsupported LMP Parameter Value / Unsupported LL Parameter Value |
+| 0x0221  | 0x21  | BLE\_ERR\_NO\_ROLE\_CHANGE        | Role Change Not Allowed |
+| 0x0222  | 0x22  | BLE\_ERR\_LMP\_LL\_RSP\_TMO       | LMP Response Timeout / LL Response Timeout |
+| 0x0223  | 0x23  | BLE\_ERR\_LMP\_COLLISION          | LMP Error Transaction Collision |
+| 0x0224  | 0x24  | BLE\_ERR\_LMP\_PDU                | LMP PDU Not Allowed |
+| 0x0225  | 0x25  | BLE\_ERR\_ENCRYPTION\_MODE        | Encryption Mode Not Acceptable |
+| 0x0226  | 0x26  | BLE\_ERR\_LINK\_KEY\_CHANGE       | Link Key cannot be Changed |
+| 0x0227  | 0x27  | BLE\_ERR\_UNSUPP\_QOS             | Requested QoS Not Supported |
+| 0x0228  | 0x28  | BLE\_ERR\_INSTANT\_PASSED         | Instant Passed |
+| 0x0229  | 0x29  | BLE\_ERR\_UNIT\_KEY\_PAIRING      | Pairing With Unit Key Not Supported |
+| 0x022a  | 0x2a  | BLE\_ERR\_DIFF\_TRANS\_COLL       | Different Transaction Collision |
+| 0x022c  | 0x2c  | BLE\_ERR\_QOS\_PARM               | QoS Unacceptable Parameter |
+| 0x022d  | 0x2d  | BLE\_ERR\_QOS\_REJECTED           | QoS Rejected |
+| 0x022e  | 0x2e  | BLE\_ERR\_CHAN\_CLASS             | Channel Classification Not Supported |
+| 0x022f  | 0x2f  | BLE\_ERR\_INSUFFICIENT\_SEC       | Insufficient Security |
+| 0x0230  | 0x30  | BLE\_ERR\_PARM\_OUT\_OF\_RANGE    | Parameter Out Of Mandatory Range |
+| 0x0232  | 0x32  | BLE\_ERR\_PENDING\_ROLE\_SW       | Role Switch Pending |
+| 0x0234  | 0x34  | BLE\_ERR\_RESERVED\_SLOT          | Reserved Slot Violation |
+| 0x0235  | 0x35  | BLE\_ERR\_ROLE\_SW\_FAIL          | Role Switch Failed |
+| 0x0236  | 0x36  | BLE\_ERR\_INQ\_RSP\_TOO\_BIG      | Extended Inquiry Response Too Large |
+| 0x0237  | 0x37  | BLE\_ERR\_SEC\_SIMPLE\_PAIR       | Secure Simple Pairing Not Supported By Host |
+| 0x0238  | 0x38  | BLE\_ERR\_HOST\_BUSY\_PAIR        | Host Busy - Pairing |
+| 0x0239  | 0x39  | BLE\_ERR\_CONN\_REJ\_CHANNEL      | Connection Rejected due to No Suitable Channel Found |
+| 0x023a  | 0x3a  | BLE\_ERR\_CTLR\_BUSY              | Controller Busy |
+| 0x023b  | 0x3b  | BLE\_ERR\_CONN\_PARMS             | Unacceptable Connection Parameters  |
+| 0x023c  | 0x3c  | BLE\_ERR\_DIR\_ADV\_TMO           | Directed Advertising Timeout |
+| 0x023d  | 0x3d  | BLE\_ERR\_CONN\_TERM\_MIC         | Connection Terminated due to MIC Failure |
+| 0x023e  | 0x3e  | BLE\_ERR\_CONN\_ESTABLISHMENT     | Connection Failed to be Established |
+| 0x023f  | 0x3f  | BLE\_ERR\_MAC\_CONN\_FAIL         | MAC Connection Failed  |
+| 0x0240  | 0x40  | BLE\_ERR\_COARSE\_CLK\_ADJ        | Coarse Clock Adjustment Rejected but Will Try to Adjust Using Clock Dragging |
+
+#### Return codes - L2CAP
+
+| NimBLE Value | Formal Value | Name   | Condition   |
+|--------------|--------------|--------|-------------|
+| 0x0300  | 0x00  | BLE\_L2CAP\_SIG\_ERR\_CMD\_NOT\_UNDERSTOOD    | Invalid or unsupported incoming L2CAP sig command. |
+| 0x0301  | 0x01  | BLE\_L2CAP\_SIG\_ERR\_MTU\_EXCEEDED           | Incoming packet too large. |
+| 0x0302  | 0x02  | BLE\_L2CAP\_SIG\_ERR\_INVALID\_CID            | No channel with specified ID. |
+
+#### Return codes - Security manager (us)
+
+| NimBLE Value | Formal Value | Name   | Condition   |
+|--------------|--------------|--------|-------------|
+| 0x0401  | 0x01  | BLE\_SM\_ERR\_PASSKEY             | The user input of passkey failed, for example, the user cancelled the operation. |
+| 0x0402  | 0x02  | BLE\_SM\_ERR\_OOB                 | The OOB data is not available. |
+| 0x0403  | 0x03  | BLE\_SM\_ERR\_AUTHREQ             | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. |
+| 0x0404  | 0x04  | BLE\_SM\_ERR\_CONFIRM\_MISMATCH   | The confirm value does not match the calculated compare value. |
+| 0x0405  | 0x05  | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP     | Pairing is not supported by the device. |
+| 0x0406  | 0x06  | BLE\_SM\_ERR\_ENC\_KEY\_SZ        | The resultant encryption key size is insufficient for the security requirements of this device. |
+| 0x0407  | 0x07  | BLE\_SM\_ERR\_CMD\_NOT\_SUPP      | The SMP command received is not supported on this device. |
+| 0x0408  | 0x08  | BLE\_SM\_ERR\_UNSPECIFIED         | Pairing failed due to an unspecified reason. |
+| 0x0409  | 0x09  | BLE\_SM\_ERR\_REPEATED            | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. |
+| 0x040a  | 0x0a  | BLE\_SM\_ERR\_INVAL               | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. |
+| 0x040b  | 0x0b  | BLE\_SM\_ERR\_DHKEY               | Indicates to the remote device that the DHKey Check value received doesn’t match the one calculated by the local device. |
+| 0x040c  | 0x0c  | BLE\_SM\_ERR\_NUMCMP              | Indicates that the confirm values in the numeric comparison protocol do not match. |
+| 0x040d  | 0x0d  | BLE\_SM\_ERR\_ALREADY             | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. |
+| 0x040e  | 0x0e  | BLE\_SM\_ERR\_CROSS\_TRANS        | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. |
+
+#### Return codes - Security manager (peer)
+
+| NimBLE Value | Formal Value | Name   | Condition   |
+|--------------|--------------|--------|-------------|
+| 0x0501          | 0x01         | BLE\_SM\_ERR\_PASSKEY             | The user input of passkey failed, for example, the user cancelled the operation. |
+| 0x0502          | 0x02         | BLE\_SM\_ERR\_OOB                 | The OOB data is not available. |
+| 0x0503          | 0x03         | BLE\_SM\_ERR\_AUTHREQ             | The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices. |
+| 0x0504          | 0x04         | BLE\_SM\_ERR\_CONFIRM\_MISMATCH   | The confirm value does not match the calculated compare value. |
+| 0x0505          | 0x05         | BLE\_SM\_ERR\_PAIR\_NOT\_SUPP     | Pairing is not supported by the device. |
+| 0x0506          | 0x06         | BLE\_SM\_ERR\_ENC\_KEY\_SZ        | The resultant encryption key size is insufficient for the security requirements of this device. |
+| 0x0507          | 0x07         | BLE\_SM\_ERR\_CMD\_NOT\_SUPP      | The SMP command received is not supported on this device. |
+| 0x0508          | 0x08         | BLE\_SM\_ERR\_UNSPECIFIED         | Pairing failed due to an unspecified reason. |
+| 0x0509          | 0x09         | BLE\_SM\_ERR\_REPEATED            | Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request. |
+| 0x050a          | 0x0a         | BLE\_SM\_ERR\_INVAL               | The Invalid Parameters error code indicates that the command length is invalid or that a parameter is outside of the specified range. |
+| 0x050b          | 0x0b         | BLE\_SM\_ERR\_DHKEY               | Indicates to the remote device that the DHKey Check value received doesn’t match the one calculated by the local device. |
+| 0x050c          | 0x0c         | BLE\_SM\_ERR\_NUMCMP              | Indicates that the confirm values in the numeric comparison protocol do not match. |
+| 0x050d          | 0x0d         | BLE\_SM\_ERR\_ALREADY             | Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. |
+| 0x050e          | 0x0e         | BLE\_SM\_ERR\_CROSS\_TRANS        | Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_uid.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_uid.md
new file mode 100644
index 0000000..8524993
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_uid.md
@@ -0,0 +1,29 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_eddystone\_set\_adv\_data\_uid</font>
+
+```c
+int
+ble_eddystone_set_adv_data_uid(
+    struct ble_hs_adv_fields *adv_fields,
+                        void *uid
+)
+```
+
+### Description
+
+Configures the device to advertise eddystone UID beacons.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| adv\_fields | The base advertisement fields to transform into an eddystone beacon.  All configured fields are preserved; you probably want to clear this struct before calling this function. |
+| uid | The 16-byte UID to advertise. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EBUSY | Advertising is in progress. |
+| BLE\_HS\_EMSGSIZE | The specified data is too large to fit in an advertisement. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_url.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_url.md
new file mode 100644
index 0000000..327b82c
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_url.md
@@ -0,0 +1,35 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_eddystone\_set\_adv\_data\_url</font>
+
+```c
+int
+ble_eddystone_set_adv_data_url(
+    struct ble_hs_adv_fields *adv_fields,
+                     uint8_t  url_scheme,
+                        char *url_body,
+                     uint8_t  url_body_len,
+                     uint8_t  url_suffix
+)
+```
+
+### Description
+
+Configures the device to advertise eddystone URL beacons.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| adv\_fields | The base advertisement fields to transform into an eddystone beacon.  All configured fields are preserved; you probably want to clear this struct before calling this function. |
+| url\_scheme | The prefix of the URL; one of the BLE\_EDDYSTONE\_URL\_SCHEME values. |
+| url\_body | The middle of the URL.  Don't include the suffix if there is a suitable suffix code. |
+| url\_body\_len | The string length of the url\_body argument. |
+| url\_suffix | The suffix of the URL; one of the BLE\_EDDYSTONE\_URL\_SUFFIX values; use BLE\_EDDYSTONE\_URL\_SUFFIX\_NONE if the suffix is embedded in the body argument. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EBUSY | Advertising is in progress. |
+| BLE\_HS\_EMSGSIZE | The specified data is too large to fit in an advertisement. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_evq_set.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_evq_set.md
new file mode 100644
index 0000000..8a6dd03
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_evq_set.md
@@ -0,0 +1,20 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_evq\_set</font>
+
+```c
+void
+ble_hs_evq_set(struct os_eventq *evq)
+```
+
+### Description
+
+Designates the specified event queue for NimBLE host work.  By default, the host uses the default event queue and runs in the main task.  This function is useful if you want the host to run in a different task.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| evq | The event queue to use for host work. |
+
+### Returned values
+
+None
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_att_pkt.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_att_pkt.md
new file mode 100644
index 0000000..8b7daa6
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_att_pkt.md
@@ -0,0 +1,21 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_mbuf\_att\_pkt</font>
+
+```c
+struct os_mbuf *
+ble_hs_mbuf_att_pkt(void)
+```
+
+### Description
+
+Allocates an mbuf suitable for an ATT command packet.  The resulting packet has sufficient leading space for: <ul><li>ACL data header</li> <li>L2CAP B-frame header</li> <li>Largest ATT command base (prepare write request / response).</li></ul>
+
+### Parameters
+
+None
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| An empty mbuf | Success. |
+| null | Memory exhaustion. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_from_flat.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_from_flat.md
new file mode 100644
index 0000000..da40f17
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_from_flat.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_mbuf\_from\_flat</font>
+
+```c
+struct os_mbuf *
+ble_hs_mbuf_from_flat(
+    const void *buf,
+      uint16_t  len
+)
+```
+
+### Description
+
+Allocates a an mbuf and fills it with the contents of the specified flat buffer.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| buf | The flat buffer to copy from. |
+| len | The length of the flat buffer. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| A newly-allocated mbuf | Success. |
+| NULL | Memory exhaustion. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_to_flat.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_to_flat.md
new file mode 100644
index 0000000..34b87a9
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_mbuf_to_flat.md
@@ -0,0 +1,32 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_mbuf\_to\_flat</font>
+
+```c
+int
+ble_hs_mbuf_to_flat(
+    const struct os_mbuf *om,
+                    void *flat,
+                uint16_t  max_len,
+                uint16_t *out_copy_len
+)
+```
+
+### Description
+
+Copies the contents of an mbuf into the specified flat buffer.  If the flat buffer is too small to contain the mbuf's contents, it is filled to capacity and BLE\_HS\_EMSGSIZE is returned.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| om | The mbuf to copy from. |
+| flat | The destination flat buffer. |
+| max\_len | The size of the flat buffer. |
+| out\_copy\_len | The number of bytes actually copied gets written here. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EMSGSIZE | The flat buffer is too small to contain the mbuf's contents. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_sched_reset.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_sched_reset.md
new file mode 100644
index 0000000..03f5e9d
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_sched_reset.md
@@ -0,0 +1,20 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_sched\_reset</font>
+
+```c
+void
+ble_hs_sched_reset(int reason)
+```
+
+### Description
+
+Causes the host to reset the NimBLE stack as soon as possible.  The application is notified when the reset occurs via the host reset callback.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| reason | The host error code that gets passed to the reset callback. |
+
+### Returned values
+
+None
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_synced.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_synced.md
new file mode 100644
index 0000000..6aeb618
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_hs_synced.md
@@ -0,0 +1,21 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_hs\_synced</font>
+
+```c
+int
+ble_hs_synced(void)
+```
+
+### Description
+
+Indicates whether the host has synchronized with the controller. Synchronization must occur before any host procedures can be performed.
+
+### Parameters
+
+None
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 1 | The host and controller are in sync. |
+| 0 | The host and controller our out of sync. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_ibeacon_set_adv_data.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_ibeacon_set_adv_data.md
new file mode 100644
index 0000000..24c285b
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_ibeacon_set_adv_data.md
@@ -0,0 +1,30 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_ibeacon\_set\_adv\_data</font>
+
+```c
+int
+ble_ibeacon_set_adv_data(
+        void *uuid128,
+    uint16_t  major,
+    uint16_t  minor
+)
+```
+
+### Description
+
+Configures the device to advertise iBeacons.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| uuid | The 128-bit UUID to advertise. |
+| major | The major version number to include in iBeacons. |
+| minor | The minor version number to include in iBeacons. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EBUSY | Advertising is in progress. |
+| [Core return code](../../ble_hs_return_codes/#return-codes-core) | Unexpected error. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_cmp.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_cmp.md
new file mode 100644
index 0000000..ebe11da
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_cmp.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_uuid\_cmp</font>
+
+```c
+int
+ble_uuid_cmp(
+    const ble_uuid_t *uuid1,
+    const ble_uuid_t *uuid2
+)
+```
+
+### Description
+
+Compares two Bluetooth UUIDs.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| uuid1 | The first UUID to compare. |
+| uuid2 | The second UUID to compare. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | The two uuids are equal. |
+| nonzero | The uuids differ. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_init_from_buf.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_init_from_buf.md
new file mode 100644
index 0000000..7c01959
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_init_from_buf.md
@@ -0,0 +1,29 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_uuid\_init\_from\_buf</font>
+
+```c
+int
+ble_uuid_init_from_buf(
+    ble_uuid_any_t *uuid,
+        const void *buf,
+            size_t  len
+)
+```
+
+### Description
+
+Constructs a UUID object from a byte array.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| uuid | On success, this gets populated with the constructed UUID. |
+| buf | The source buffer to parse. |
+| len | The size of the buffer, in bytes. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| 0 | Success. |
+| BLE\_HS\_EINVAL | The source buffer does not contain a valid uuid. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_to_str.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_to_str.md
new file mode 100644
index 0000000..e5fbb13
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_to_str.md
@@ -0,0 +1,24 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_uuid\_to\_str</font>
+
+```c
+char *
+ble_uuid_to_str(
+    const ble_uuid_t *uuid,
+                char *dst
+)
+```
+
+### Description
+
+Converts the specified UUID to its string representation.  Example string representations: <ul><li>16-bit:  0x1234</li> <li>32-bit:  0x12345678</li> <li>128-bit: 12345678-1234-1234-1234-123456789abc</li></ul>
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| uuid | The source UUID to convert. |
+| dst | The destination buffer. |
+
+### Returned values
+
+A pointer to the supplied destination buffer.
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_u16.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_u16.md
new file mode 100644
index 0000000..4773081
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/functions/ble_uuid_u16.md
@@ -0,0 +1,23 @@
+## <font color="#F2853F" style="font-size:24pt">ble\_uuid\_u16</font>
+
+```c
+uint16_t
+ble_uuid_u16(const ble_uuid_t *uuid)
+```
+
+### Description
+
+Converts the specified 16-bit UUID to a uint16\_t.
+
+### Parameters
+
+| *Parameter* | *Description* |
+|-------------|---------------|
+| uuid | The source UUID to convert. |
+
+### Returned values
+
+| *Value* | *Condition* |
+|---------|-------------|
+| The converted integer | Success. |
+| 0 | The specified uuid is not 16 bits. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/mdtoc.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/mdtoc.md
new file mode 100644
index 0000000..319e4ea
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/mdtoc.md
@@ -0,0 +1,16 @@
+            - 'Other':
+                - toc: 'network/ble/ble_hs/other/other.md'
+                - 'Functions':
+                    - 'ble_eddystone_set_adv_data_uid': 'network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_uid.md'
+                    - 'ble_eddystone_set_adv_data_url': 'network/ble/ble_hs/other/functions/ble_eddystone_set_adv_data_url.md'
+                    - 'ble_hs_evq_set': 'network/ble/ble_hs/other/functions/ble_hs_evq_set.md'
+                    - 'ble_hs_mbuf_att_pkt': 'network/ble/ble_hs/other/functions/ble_hs_mbuf_att_pkt.md'
+                    - 'ble_hs_mbuf_from_flat': 'network/ble/ble_hs/other/functions/ble_hs_mbuf_from_flat.md'
+                    - 'ble_hs_mbuf_to_flat': 'network/ble/ble_hs/other/functions/ble_hs_mbuf_to_flat.md'
+                    - 'ble_hs_sched_reset': 'network/ble/ble_hs/other/functions/ble_hs_sched_reset.md'
+                    - 'ble_hs_synced': 'network/ble/ble_hs/other/functions/ble_hs_synced.md'
+                    - 'ble_ibeacon_set_adv_data': 'network/ble/ble_hs/other/functions/ble_ibeacon_set_adv_data.md'
+                    - 'ble_uuid_cmp': 'network/ble/ble_hs/other/functions/ble_uuid_cmp.md'
+                    - 'ble_uuid_init_from_buf': 'network/ble/ble_hs/other/functions/ble_uuid_init_from_buf.md'
+                    - 'ble_uuid_to_str': 'network/ble/ble_hs/other/functions/ble_uuid_to_str.md'
+                    - 'ble_uuid_u16': 'network/ble/ble_hs/other/functions/ble_uuid_u16.md'
diff --git a/versions/v1_2_0/docs/network/ble/ble_hs/other/other.md b/versions/v1_2_0/docs/network/ble/ble_hs/other/other.md
new file mode 100644
index 0000000..ced789b
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_hs/other/other.md
@@ -0,0 +1,33 @@
+## <font color="F2853F" style="font-size:24pt">NimBLE Host Other Reference</font>
+
+### Introduction
+
+This section is a reference on miscellaneous parts of the NimBLE host which don't fit anywhere else!
+
+### Header
+
+```c
+#include "host/ble_hs.h"
+```
+
+### Definitions
+
+None.
+
+### Functions
+
+| Function | Description |
+|----------|-------------|
+| [ble_eddystone_set_adv_data_uid](functions/ble_eddystone_set_adv_data_uid.md) | Configures the device to advertise eddystone UID beacons. |
+| [ble_eddystone_set_adv_data_url](functions/ble_eddystone_set_adv_data_url.md) | Configures the device to advertise eddystone URL beacons. |
+| [ble_hs_evq_set](functions/ble_hs_evq_set.md) | Designates the specified event queue for NimBLE host work. |
+| [ble_hs_mbuf_att_pkt](functions/ble_hs_mbuf_att_pkt.md) | Allocates an mbuf suitable for an ATT command packet. |
+| [ble_hs_mbuf_from_flat](functions/ble_hs_mbuf_from_flat.md) | Allocates a an mbuf and fills it with the contents of the specified flat buffer. |
+| [ble_hs_mbuf_to_flat](functions/ble_hs_mbuf_to_flat.md) | Copies the contents of an mbuf into the specified flat buffer. |
+| [ble_hs_sched_reset](functions/ble_hs_sched_reset.md) | Causes the host to reset the NimBLE stack as soon as possible. |
+| [ble_hs_synced](functions/ble_hs_synced.md) | Indicates whether the host has synchronized with the controller. |
+| [ble_ibeacon_set_adv_data](functions/ble_ibeacon_set_adv_data.md) | Configures the device to advertise iBeacons. |
+| [ble_uuid_cmp](functions/ble_uuid_cmp.md) | Compares two Bluetooth UUIDs. |
+| [ble_uuid_init_from_buf](functions/ble_uuid_init_from_buf.md) | Constructs a UUID object from a byte array. |
+| [ble_uuid_to_str](functions/ble_uuid_to_str.md) | Converts the specified UUID to its string representation. |
+| [ble_uuid_u16](functions/ble_uuid_u16.md) | Converts the specified 16-bit UUID to a uint16\_t. |
diff --git a/versions/v1_2_0/docs/network/ble/ble_intro.md b/versions/v1_2_0/docs/network/ble/ble_intro.md
new file mode 100644
index 0000000..e434fb9
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_intro.md
@@ -0,0 +1,65 @@
+## BLE Introduction
+
+Apache Mynewt offers the world's first fully open-source Bluetooth Low Energy (BLE) or Bluetooth Smart stack fully compliant with Bluetooth 5 specifications with support for Bluetooth Mesh. It is called NimBLE.
+
+BLE technology operates in the unlicensed industrial, scientific and medical (ISM) band at 2.4 to 2.485 GHz which is available in most countries. It uses a spread spectrum, frequency hopping, full-duplex signal. BLE FHSS employs 40 2-MHz-wide channels to ensure greater reliability over longer distances. It also features 0-dBm (1 mW) power output and a typical maximum range of 50 meters.
+With Bluetooth 5 specification range can be increased 4 times and speed 2 time.
+
+Note that BLE is not compatible with standard Bluetooth.
+<br>
+
+### Features
+
+NimBLE complies with Bluetooth Core Specification 5.0 which makes it an ideal wireless technology for the Internet of Things (IoT).
+
+* LE Advertising Extensions
+* 2Msym/s PHY for higher throughput
+* Coded PHY for LE Long Range
+* High Duty Cycle Non-Connectable Advertising
+* Channel Selection Algorithm #2 to utilize channels in more efficient way.
+* LE Privacy 1.2 for frequent changes to the device address to make it difficult to track for outsiders
+* LE Secure Connections featuring FIPS-compliant algorithms.
+* LE Data Length Extension for higher throughput
+* **Coming Soon**: Assigning an Internet Protocol (IP) address (complaint with the IPv6 or 6LoWPAN standard) to a Bluetooth device through Internet Protocol Support Profile (IPSP)
+
+The Bluetooth 5 is backward compatible with previous Bluetooth version 4.2 which is also supported by Apache Mynewt.
+
+### Bluetooth Mesh features
+
+Bluetooth Mesh is a great addition to and opens a wide range of new possibilities for the IoT connectivity space. NimBLE fully supports the following Bluetooth Mesh features:
+
+* Advertising and GATT bearers
+* PB-GATT and PB-ADV provisioning
+* Foundation Models (server role)
+* Relay support
+* GATT Proxy
+
+### Components
+
+A Bluetooth low energy stack (NimBLE included) consists of two components with several subcomponents:
+
+* **Controller**
+    * **Physical Layer**: adaptive frequency-hopping Gaussian Frequency Shift Keying (GFSK) radio using 40 RF channels (0-39), with 2 MHz spacing.
+    * **Link Layer**: with one of five states (Standby, Advertising, Scanning, Initiating, Connection states) active at any time
+
+* **Host**
+    * **Logical Link Control and Adaptation Protocol (L2CAP)**: provides logical channels, named L2CAP channels, which are multiplexed over one or more logical links to provide packet segmentation and reassembly, flow control, error control, streaming, QoS etc. 
+    * **Security Manager (SM)**: uses Security Manager Protocol (SMP) for pairing and transport specific key distribution for securing radio communication 
+    * **Attribute protocol (ATT)**: allows a device (*Server*) to expose certain pieces of data, known as *Attributes*, to another device (*Client*)
+    * **Generic Attribute Profile (GATT)**: a framework for using the ATT protocol to exchange attributes encapsulated as *Characteristics* or *Services* 
+    * **Generic Access Profile (GAP)**: a base profile which all Bluetooth devices implement, which in the case of LE, defines the Physical Layer, Link Layer, L2CAP, Security Manager, Attribute Protocol and Generic Attribute Profile. 
+    * **Host Controller Interface (HCI)**: the interface between the host and controller either through software API or by a hardware interface such as SPI, UART or USB.
+    
+Subsequent chapters in this manual will go into the details of the implementation of each component, APIs available, and things to consider while designing a NimBLE app.
+
+<br>
+
+### Example NimBLE projects
+
+Mynewt comes with two built-in projects that allow users to play with NimBLE, try the tutorials out with, and see how to use available services.
+
+1. **bletiny** : A simple shell application which provides a basic interface to the host-side of the BLE stack. 
+2. **bleprph**: A basic peripheral device with no user interface. It advertises automatically on startup, and resumes advertising whenever a connection is terminated. It supports a maximum of one connection.
+3. **blemesh**: A sample application for Bluetooth Mesh Node using on/off model.
+
+<br>
diff --git a/versions/v1_2_0/docs/network/ble/ble_sec.md b/versions/v1_2_0/docs/network/ble/ble_sec.md
new file mode 100644
index 0000000..e92aece
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_sec.md
@@ -0,0 +1,38 @@
+## BLE Security
+
+The Bluetooth Low Energy security model includes five distinct security concepts as listed below. For detailed specifications, see BLUETOOTH SPECIFICATION Version 4.2 [Vol 1, Part A].
+
+* **Pairing**: The process for creating one or more shared secret keys. In LE a single link key is generated by combining contributions from each device into a link key used during pairing. 
+
+* **Bonding**: The act of storing the keys created during pairing for use in subsequent connections in order to form a trusted device pair. 
+
+* **Device authentication**: Verification that the two devices have the same keys (verify device identity)
+
+* **Encryption**: Keeps message confidential. Encryption in Bluetooth LE uses AES-CCM cryptography and is performed in the *Controller*.
+
+* **Message integrity**: Protects against message forgeries.
+
+Bluetooth LE uses four association models depending on the I/O capabilities of the devices. 
+
+* **Just Works**: designed for scenarios where at least one of the devices does not have a display capable of displaying a six digit number nor does it have a keyboard capable of entering six decimal digits.
+
+* **Numeric Comparison**: designed for scenarios where both devices are capable of displaying a six digit number and both are capable of having the user enter "yes" or "no". A good example of this model is the cell phone / PC scenario.
+
+* **Out of Band**: designed for scenarios where an Out of Band mechanism is used to both discover the devices as well as to exchange or transfer cryptographic numbers used in the pairing process.
+
+* **Passkey Entry**: designed for the scenario where one device has input capability but does not have the capability to display six digits and the other device has output capabilities. A good example of this model is the PC and keyboard scenario.
+
+### Key Generation
+
+Key generation for all purposes in Bluetooth LE is performed by the *Host* on each LE device independent of any other LE device. 
+
+### Privacy Feature
+Bluetooth LE supports an optional feature during connection mode and connection procedures that reduces the ability to track a LE device over a period of time by changing the Bluetooth device address on a frequent basis. 
+
+There are two variants of the privacy feature. 
+
+* In the first variant, private addresses are resolved and generated by the *Host*.
+* In the second variant, private addresses are resolved and generated by the *Controller* without involving the Host after the Host provides the Controller device identity information. The Host may provide the Controller with a complete resolving list or a subset of the resolving list.
+Device filtering becomes possible in the second variant when address resolution is performed in the Controller because the peer’s device identity address can be resolved prior to checking whether it is in the white list.
+
+**Note**: When address resolution is performed exclusively in the Host, a device may experience increased power consumption because device filtering must be disabled. For more details on the privacy feature, refer to BLUETOOTH SPECIFICATION Version 4.2 [Vol 3, Part C] (Published 02 December 2014), Page 592.
diff --git a/versions/v1_2_0/docs/network/ble/ble_setup/ble_addr.md b/versions/v1_2_0/docs/network/ble/ble_setup/ble_addr.md
new file mode 100644
index 0000000..4abab4c
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_setup/ble_addr.md
@@ -0,0 +1,57 @@
+## Configure an Address
+
+A BLE device needs an address to do just about anything.  For information on
+the various types of Bluetooth addresses, see the
+[NimBLE Host Identity Reference](../../../network/ble/ble_hs/ble_hs_id/ble_hs_id.md).
+
+There are several methods for assigning an address to a NimBLE device.  The
+available options are documented below:
+
+### Method 1: Configure nRF hardware with a public address
+
+When Mynewt is running on a Nordic nRF platform, the NimBLE controller will
+attempt to read a public address out of the board's FICR or UICR registers.
+The controller uses the following logic while trying to read an address from
+hardware:
+
+1. If the *DEVICEADDRTYPE* FICR register is written, read the address
+programmed in the *DEVICEADDR[0]* and *DEVICEADDR[1]* FICR registers.
+2. Else if the upper 16 bits of the *CUSTOMER[1]* UICR register are 0, read the address programmed in the *CUSTOMER[0]* and *CUSTOMER[1]* UCI registers.
+3. Else, no address available.
+
+### Method 2: Hardcode a public address in the Mynewt target
+
+The NimBLE controller package exports a 
+[syscfg](../../../os/modules/sysinitconfig/sysinitconfig.md) setting called
+`BLE_PUBLIC_DEV_ADDR`.  This setting can be overridden at the application or
+target level to configure a public Bluetooth address.  For example, a target
+can assign the public address *11:22:33:44:55:66* as follows:
+
+```
+syscfg.vals:
+    BLE_PUBLIC_DEV_ADDR: '(uint8_t[6]){0x66, 0x55, 0x44, 0x33, 0x22, 0x11}'
+```
+
+This setting takes the form of a C expression.  Specifically, the value is a
+designated initializer expressing a six-byte array.  Also note that the bytes
+are reversed, as an array is inherently little-endian, while addresses are
+generally expressed in big-endian.
+
+Note: this method takes precedence over method 1.  Whatever is written to the
+`BLE_PUBLIC_DEV_ADDR` setting is the address that gets used.
+
+### Method 3: Configure a random address at runtime
+
+Random addresses get configured through the NimBLE host.  The following two
+functions are used in random address configuration:
+
+* [ble_hs_id_gen_rnd](../../../network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_gen_rnd/): Generates a new random address.
+* [ble_hs_id_set_rnd](../../../network/ble/ble_hs/ble_hs_id/functions/ble_hs_id_set_rnd/): Sets the device's random address.
+
+For an example of how this is done, see the
+[BLE iBeacon tutorial](../../../os/tutorials/ibeacon/).
+
+<br>
+
+*Note:* A NimBLE device can be configured with multiple addresses; at most one
+of each address type.
diff --git a/versions/v1_2_0/docs/network/ble/ble_setup/ble_lp_clock.md b/versions/v1_2_0/docs/network/ble/ble_setup/ble_lp_clock.md
new file mode 100644
index 0000000..6444d01
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_setup/ble_lp_clock.md
@@ -0,0 +1,58 @@
+## Configure clock for controller
+
+The NimBLE stack uses OS cputime for scheduling various events inside controller.
+Since the code of controller is optimized to work with 32768 Hz clock, the OS
+cputime has to be configured accordingly.
+
+To make things easier, controller package (`net/nimble/controller`) defines new
+system configuration setting `BLE_LP_CLOCK` as sets it to `1` so other packages
+can be configured if necessary. The next section describes configuration required
+for controller to work properly.
+
+### System configuration
+
+**Note:** All BSPs based on nRF5x have below settings automatically applied when
+`BLE_LP_CLOCK` is set, there is no need to configure this in application.
+
+The following things need to be configured for NimBLE controller to work properly:
+
+- OS cputime frequency shall be set to `32768`
+- OS cputime timer source shall be set to 32768 Hz clock source
+- Default 1 MHz clock source can be disabled if not used by application
+- 32768 Hz clock source shall be enabled
+- Crystal settling time shall be set to non-zero value (see [below](#crystal-settle-time-configuration))
+
+For example, on nRF52 platform timer 5 can be used as source for 32768 Hz clock.
+Also, timer 0 can be disabled since this is the default source for OS cputime
+clock and is no longer used. The configuration will look as below:
+
+```
+syscfg.vals:
+    OS_CPUTIME_FREQ: 32768
+    OS_CPUTIME_TIMER_NUM: 5
+    TIMER_0: 0
+    TIMER_5: 1
+    BLE_XTAL_SETTLE_TIME: 1500
+```
+
+On nRF51 platform the only difference is to use timer 3 instead of timer 5.
+
+On platforms without 32768 Hz crystal available it usually can be synthesized by
+setting `XTAL_32768_SYNTH` to `1` - this is also already configured in existing
+BSPs.
+
+
+### Crystal settle time configuration
+
+The configuration variable `BLE_XTAL_SETTLE_TIME` is used by the controller to turn
+on the necessary clock source(s) for the radio and associated peripherals prior to
+Bluetooth events (advertising, scanning, connections, etc). For the nRF5x platforms,
+the HFXO needs to be turned on prior to using the radio and the `BLE_XTAL_SETTLE_TIME`
+must be set to accommodate this time. The amount of time required is board dependent,
+so users must characterize their hardware and set `BLE_XTAL_SETTLE_TIME` accordingly.
+The current value of 1500 microseconds is a fairly long time and was intended to work
+for most, if not all, platforms.
+
+Note that changing this time will impact battery life with the amount depending on the
+application. The HFXO draws a fairly large amount of current when running so keeping
+this time as small as possible will reduce overall current drain.
\ No newline at end of file
diff --git a/versions/v1_2_0/docs/network/ble/ble_setup/ble_setup_intro.md b/versions/v1_2_0/docs/network/ble/ble_setup/ble_setup_intro.md
new file mode 100644
index 0000000..3c9af9d
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_setup/ble_setup_intro.md
@@ -0,0 +1,6 @@
+## NimBLE setup
+
+Most NimBLE initialization is done automatically by
+[sysinit](../../../os/modules/sysinitconfig/sysinitconfig.md).  This section
+documents the few bits of initialization that an application must perform
+manually.
diff --git a/versions/v1_2_0/docs/network/ble/ble_setup/ble_sync_cb.md b/versions/v1_2_0/docs/network/ble/ble_setup/ble_sync_cb.md
new file mode 100644
index 0000000..d6bbc24
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/ble_setup/ble_sync_cb.md
@@ -0,0 +1,75 @@
+## Respond to *sync* and *reset* events
+
+### sync
+
+The NimBLE stack is inoperable while the host and controller are out of sync.
+In a combined host-controller app, the sync happens immediately at startup.
+When the host and controller are separate, sync typically occurs in under a
+second after the application starts.  An application learns when sync is
+achieved by configuring the host's *sync callback*: `ble_hs_cfg.sync_cb`.  The
+host calls the sync callback whenever sync is acquired.  The sync callback has
+the following form:
+
+```
+typedef void ble_hs_sync_fn(void);
+```
+
+Because the NimBLE stack begins in the unsynced state, the application should
+delay all BLE operations until the sync callback has been called.
+
+### reset
+
+Another event indicated by the host is a *controller reset*.  The NimBLE stack
+resets itself when a catstrophic error occurs, such as loss of communication
+between the host and controller.  Upon resetting, the host drops all BLE
+connections and loses sync with the controller.  After a reset, the application
+should refrain from using the host until sync is again signalled via the sync
+callback.
+
+An application learns of a host reset by configuring the host's *reset
+callback*: `ble_hs_cfg.reset_cb`.  This callback has the following form:
+
+```
+typedef void ble_hs_reset_fn(int reason);
+```
+
+The `reason` parameter is a
+[NimBLE host return code](../../../network/ble/ble_hs/ble_hs_return_codes/).
+
+### Example
+
+The following example demonstrates the configuration of the sync and reset
+callbacks.
+
+```c
+#include "sysinit/sysinit.h"
+#include "console/console.h"
+#include "host/ble_hs.h"
+
+static void
+on_sync(void)
+{
+    /* Begin advertising, scanning for peripherals, etc. */
+}
+
+static void
+on_reset(int reason)
+{
+    console_printf("Resetting state; reason=%d\n", reason);
+}
+
+int
+main(void)
+{
+    /* Initialize all packages. */
+    sysinit();
+
+    ble_hs_cfg.sync_cb = on_sync;
+    ble_hs_cfg.reset_cb = on_reset;
+
+    /* As the last thing, process events from default event queue. */
+    while (1) {
+        os_eventq_run(os_eventq_dflt_get());
+    }
+}
+```
diff --git a/versions/v1_2_0/docs/network/ble/bletiny/bletiny_GAP.md b/versions/v1_2_0/docs/network/ble/bletiny/bletiny_GAP.md
new file mode 100644
index 0000000..6c3d63c
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/bletiny/bletiny_GAP.md
@@ -0,0 +1,209 @@
+
+## GAP API for bletiny
+
+<br>
+
+Generic Access Profile (GAP) defines the generic procedures related to discovery of Bluetooth devices (idle mode procedures) and link management aspects of connecting to Bluetooth devices (connecting mode procedures). It also defines procedures related to use of different security levels. 
+
+Several different modes and procedures may be performed simultaneously over an LE physical transport. The following modes and procedures are defined for use over an LE physical transport:
+
+1. **Broadcast mode and observation procedure**
+    - These allow two devices to communicate in a unidirectional connectionless manner using the advertising events.
+2. **Discovery modes and procedures**
+    - All devices shall be in either non-discoverable mode or one of the discoverable modes.
+    - A device in the discoverable mode shall be in either the general discoverable mode or the limited discoverable mode.
+    - A device in non-discoverable mode will not be discovered by any device that is performing either the general discovery procedure or the limited discovery procedure.
+3. **Connection modes and procedures**
+    - allow a device to establish a connection to another device.
+    - allow updating of parameters of the connection 
+    - allow termination of the connection 
+4. **Bonding modes and procedures**
+    - Bonding allows two connected devices to exchange and store security and identity information to create a trusted relationship. 
+    - Bonding can occur only between two devices in bondable mode.
+
+
+<br>
+
+
+### Usage API
+
+
+|**Item No.** | **Modes and Procedures** | **nimBLE command** |
+|----|---------|---------------|
+|  1 | Broadcast Mode | `b adv conn=non disc=x` |
+|    | Observation Procedure | `b scan dur=x disc=x type=x filt=x`  |
+|  2 | Non-Discoverable mode   | `b adv conn=x disc=non`  |
+|    | Limited Discoverable mode   | `b adv conn=x disc=ltd`  |
+|    | General Discoverable mode   | `b adv conn=x disc=gen`  |
+|    | Limited Discovery procedure | `b scan dur=x disc=ltd type=active filt=no_wl`  |
+|    | General Discovery procedure | `b scan dur=x disc=gen type=active filt=no_wl`  |
+|    | Name Discovery procedure  | `b scan dur=x` <br> `b scan cancel` <br> `b conn peer_addr_type=x peer_addr=x` <br> `b read conn=x uuid=0x2a00` |
+|  3 | Non-connectable mode   | `b adv conn=non disc=x`  |
+|    | Directed connectable mode  | `b adv conn=dir [own_addr_type=x] [disc=x] [dur=x]`  |
+|    | Undirected connectable mode  | `b adv conn=und [own_addr_type=x] [disc=x] [dur=x]`  |
+|    | Auto connection establishment procedure   | `b wl addr_type=x addr=x [addr_type=y addr=y] [...]` <br> `b conn addr_type=wl`  |
+|    | General connection establishment procedure  | `b scan dur=x` <br> `b scan cancel` <br> `b conn peer_addr_type=x peer_addr=x` |
+|    | Selective connection establishment procedure | `b wl addr_type=x addr=x [addr_type=y addr=y] [...]` <br> `b scan filt=use_wl dur=x` <br> `b scan cancel` <br> `b conn peer_addr_type=x peer_addr=x [own_addr_type=x]` |
+|    | Direct connection establishment procedure  | `b conn addr_type=x addr=x [params]`  |
+|    | Connection parameter update procedure   | `b update conn=x <params>` |
+|    | Terminate connection procedure  | `b term conn=x`  |
+|  4 | Non-Bondable mode    | `b set sm_data bonding=0` [\*] |
+|    | Bondable mode        | `b set sm_data bonding=1` [\*] |
+|    | Bonding procedure    | `b sec start conn=x` [\*] |
+
+**[\*]** Security is disabled by default in bletiny.  To use the bonding modes and procedures, add `BLE_SM_LEGACY: 1` or `BLE_SM_SC: 1` to your syscfg.yml file depending on your needs.
+
+<br>
+
+### Address Types
+
+| *bletiny string* | *Description* | *Notes* |
+|------------------|---------------|
+| public           | Public address. | |
+| random           | Random static address. | |
+| rpa_pub          | Resolvable private address, public identity. | Not available for all commands. |
+| rpa_rnd          | Resolvable private address, random static identity. | Not available for all commands. |
+| wl               | Use white list; ignore peer_addr parameter. | Only availble for "conn" command. |
+
+### Connection Types
+
+Bluetooth Specification Version 5.0 allows for different types of connections:
+
+| *Description*                                  | *bletiny ext parameter value* |
+|------------------------------------------------|-------------------------------|
+| Legacy connection                              | none                          |
+| Extended connection with 1M PHY                | 1M                            |
+| Extended connection with coded PHY             | coded                         |
+| Extended connection with both 1M and coded PHY | both                          |
+| Extended connection with 1M, 2M and coded PHYs | all                           |
+
+### Connection Parameters
+
+Connection parameter definitions can be found in Section 7.8.12 of the BLUETOOTH SPECIFICATION Version 5.0 [Vol 2, Part E].
+
+Connection parameters for all types of connections:
+
+| *Name*            | *Description*                                                                       | *bletiny string* |
+|-------------------|-------------------------------------------------------------------------------------|------------------|
+| Connection Type   | Parameter indicating the type of connection                                         | ext              |
+| Peer_Address_Type | Whether the peer is using a public or random address (see Address types table).     | peer_addr_type   |
+| Peer_Address      | The 6-byte device address of the peer; ignored if white list is used                | peer_addr        |
+| Own_Address_Type  | The type of address to use when initiating the connection (see Address types table) | own_addr_type    |
+| Duration          | Number of milliseconds before aborting the connect attempt                          | dur              |
+
+Connection parameters for legacy and 1M PHY extended connection:
+
+| *Name*              | *Description*                                                                                           | *bletiny string* |
+|---------------------|---------------------------------------------------------------------------------------------------------|------------------|
+| LE_Scan_Interval    | Recommendation from the Host on how long the Controller should scan                                     | scan_itvl        |
+| LE_Scan_Window      | Recommendation from the Host on how frequently the Controller should scan                               | scan_window      |
+| Conn_Interval_Min   | Defines minimum allowed connection interval                                                             | itvl_min         |
+| Conn_Interval_Max   | Defines maximum allowed connection interval                                                             | itvl_max         |
+| Conn_Latency        | Defines the maximum allowed connection latency                                                          | latency          |
+| Supervision_Timeout | Link supervision timeout for the connection.                                                            | timeout          |
+| Minimum_CE_Length   | Informative parameter providing the Controller with the expected minimum length of the connection event | min_ce_len       |
+| Maximum_CE_Length   | Informative parameter providing the Controller with the expected maximum length of the connection event | max_ce_len       |
+
+Extended Connection parameters for coded PHY connection:
+
+| *Name*              | *Description*                                                                                           | *bletiny string*  |
+|---------------------|---------------------------------------------------------------------------------------------------------|-------------------|
+| LE_Scan_Interval    | Recommendation from the Host on how long the Controller should scan                                     | coded_scan_itvl   |
+| LE_Scan_Window      | Recommendation from the Host on how frequently the Controller should scan                               | coded_scan_window |
+| Conn_Interval_Min   | Defines minimum allowed connection interval                                                             | coded_itvl_min    |
+| Conn_Interval_Max   | Defines maximum allowed connection interval                                                             | coded_itvl_max    |
+| Conn_Latency        | Defines the maximum allowed connection latency                                                          | coded_latency     |
+| Supervision_Timeout | Link supervision timeout for the connection.                                                            | coded_timeout     |
+| Minimum_CE_Length   | Informative parameter providing the Controller with the expected minimum length of the connection event | coded_min_ce_len  |
+| Maximum_CE_Length   | Informative parameter providing the Controller with the expected maximum length of the connection event | coded_max_ce_len  |
+
+Extended Connection parameters for 2M PHY connection:
+
+| *Name*              | *Description*                                                                                           | *bletiny string* |
+|---------------------|---------------------------------------------------------------------------------------------------------|------------------|
+| Conn_Interval_Min   | Defines minimum allowed connection interval                                                             | 2M_itvl_min      |
+| Conn_Interval_Max   | Defines maximum allowed connection interval                                                             | 2M_itvl_max      |
+| Conn_Latency        | Defines the maximum allowed connection latency                                                          | 2M_latency       |
+| Supervision_Timeout | Link supervision timeout for the connection.                                                            | 2M_timeout       |
+| Minimum_CE_Length   | Informative parameter providing the Controller with the expected minimum length of the connection event | 2M_min_ce_len    |
+| Maximum_CE_Length   | Informative parameter providing the Controller with the expected maximum length of the connection event | 2M_max_ce_len    |
+
+### Scan Types
+
+Bluetooth Specification Version 5.0 allows for different types of scan:
+
+| *Description*                            | *bletiny ext parameter value* |
+|------------------------------------------|-------------------------------|
+| Legacy scan                              | 0                             |
+| Extended scan with 1M PHY                | 1M                            |
+| Extended scan with coded PHY             | coded                         |
+| Extended scan with both 1M and coded PHY | both                          |
+
+### Scan Parameters
+
+Scan parameter definitions can be found in Section 7.8.10 of the BLUETOOTH SPECIFICATION Version 5.0 [Vol 2, Part E].
+
+| *Name*                 | *Description*                                                             | *bletiny string* |
+|------------------------|---------------------------------------------------------------------------|------------------|
+| Scan Type              | Parameter indicating the type of scan                                     | ext              |
+| LE_Scan_Type           | Controls the type of scan to perform (passive or active)                  | passive          |
+| LE_Scan_Interval       | Recommendation from the Host on how long the Controller should scan       | itvl             |
+| LE_Scan_Window         | Recommendation from the Host on how frequently the Controller should scan | window           |
+| Scanning_Filter_Policy | Policy about which advertising packets to accept                          | filter           |
+| Duration               | Number of milliseconds before canceling scan procedure                    | dur              |
+| Limited                | Limited scan procedure                                                    | ltd              |
+| No duplicates          | Filter out duplicates in shell output                                     | nodups           |
+| Own_Address_Type       | The type of address to use when scanning (see Address types table)        | own_addr_type    |
+
+Extended Scan parameters:
+
+| *Name*           | *Description*                                                             | *bletiny string* |
+|------------------|---------------------------------------------------------------------------|------------------|
+| Duration         | Number of milliseconds before canceling scan procedure                    | duration         |
+| Period           | Period in which scan should be enabled for specified duration             | period           |
+| LE_Scan_Type     | Controls the type of scan to perform (passive or active)                  | lr_passive       |
+| LE_Scan_Interval | Recommendation from the Host on how long the Controller should scan       | lr_itvl          |
+| LE_Scan_Window   | Recommendation from the Host on how frequently the Controller should scan | lr_window        |
+
+### Advertisment Parameters
+
+| *bletiny string* | *Description*                         | *Notes*                                                      | *Default*                 |
+|------------------|---------------------------------------|--------------------------------------------------------------|---------------------------|
+| conn             | Connectable mode                      | See Connectable Modes table.                                 | und                       |
+| disc             | Discoverable mode                     | See Discoverable Modes table.                                | gen                       |
+| own_addr_type    | The type of address to advertise with | See Address Types table.                                     | public                    |
+| peer_addr_type   | The peer's address type               | Only used for directed advertising; see Address Types table. | public                    |
+| peer_addr        | The peer's address                    | Only used for directed advertising                           | N/A                       |
+| chan_map         |                                       |                                                              | 0                         |
+| filt             | The filter policy                     | See Advertisement Filter Policies table.                     | none                      |
+| itvl_min         |                                       | units=0.625ms                                                | non: 100ms; und/dir: 30ms |
+| itvl_max         |                                       | units=0.625ms                                                | non: 150ms; und/dir: 60ms |
+| hd               | Whether to use high-duty-cycle        | 0/1                                                          | 0                         |
+| dur              |                                       | Milliseconds                                                 | Forever                   |
+
+Extended Advertising parameters:
+
+| *bletiny string* | *Description*                                                                             | *Notes*        | *Default*                    |
+|------------------|-------------------------------------------------------------------------------------------|----------------|------------------------------|
+| tx_power         | Maximum power level at which the advertising packets are to be transmitted                | -127 - 127 dBm | 127 (Host has no preference) |
+| primary_phy      | PHY on which the advertising packets are transmitted on the primary advertising channel   |                | none                         |
+| secondary_phy    | PHY on which the advertising packets are transmitted on the secondary advertising channel |                | primary_phy                  |
+
+
+### Advertising PHY Types
+
+| *Description*                       | *bletiny parameter value* |
+|-------------------------------------|---------------------------|
+| Legacy advertising                  | none                      |
+| Extended advertising with 1M PHY    | 1M                        |
+| Extended advertising with 2M PHY    | 2M                        |
+| Extended advertising with coded PHY | coded                     |
+
+### Advertisement Filter Policies
+
+| *btshell string*  | *Description*                                                          | *Notes*   |
+| ----------------- | ---------------                                                        | --------- |
+| none              | No filtering. No whitelist used.                                       | Default   |
+| scan              | Process all connection requests but only scans from white list.        |           |
+| conn              | Process all scan request but only connection requests from white list. |           |
+| both              | Ignore all scan and connection requests unless in white list.          |           |
diff --git a/versions/v1_2_0/docs/network/ble/bletiny/bletiny_GATT.md b/versions/v1_2_0/docs/network/ble/bletiny/bletiny_GATT.md
new file mode 100644
index 0000000..9242cbc
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/bletiny/bletiny_GATT.md
@@ -0,0 +1,53 @@
+## GATT feature API for bletiny
+
+<br>
+
+GATT(GENERIC ATTRIBUTE PROFILE) describes a service framework using the Attribute Protocol for discovering services, and for reading and writing characteristic values on a peer device. There are 11 features defined in the GATT Profile, and each of the features is mapped to procedures and sub-procedures: 
+
+|**Item No.** | **Feature** | **Sub-Procedure** | **nimBLE command** |
+|----|---------|---------------|------|
+| 1  | Server Configuration | Exchange MTU | `b mtu` | 
+| 2 | Primary Service Discovery | Discover All Primary Services | `b disc svc conn=x` | 
+|   |   | Discover Primary Services By Service UUID | `b disc svc conn=x uuid=x` |
+| 3  | Relationship Discovery | Find Included Services | `b find inc_svcs conn=x start=x end=x` |
+| 4 | Characteristic Discovery | Discover All Characteristic of a Service | `b disc chr conn=x start=x end=x` |
+|   |   | Discover Characteristic by UUID | `b disc chr conn=x start=x end=x uuid=x` |
+| 5  | Characteristic Descriptor Discovery | Discover All Characteristic Descriptors | `b disc dsc conn=x start=x end=x` |
+| 6 | Reading a Characteristic Value | Read Characteristic Value | `b read conn=x attr=x` |
+|   |   | Read Using Characteristic UUID | `b read conn=x start=x end=x uuid=x` |
+|   |   | Read Long Characteristic Values | `b read conn=x attr=x long=1` |
+|   |   | Read Multiple Characteristic Values | `b read conn=x attr=x attr=y attr=z` |
+| 7  | Writing a Characteristic Value  | Write Without Response | `b write conn=x value=0xXX:0xXX no_rsp=1` |
+|   |   | Signed Write Without Response | NOT SUPPORTED |
+|   |   | Write Characteristic Value | `b write conn=x attr=x value=0xXX:0xXX` |
+|   |   | Write Long Characteristic Values | `b write conn=x attr=x value=0xXX:0xXX long=1` |
+|   |   | Characteristic Value Reliable Writes | `b write conn=x attr=x value=0xXX:0xXX attr=y value=0xYY:0xYY` |
+| 8 | Notification of a Characteristic Value | Notifications | Write CLIENT CONFIGURATION characteristic |
+| 9 | Indication of a Characteristic Value | Indications | Write CLIENT CONFIGURATION characteristic |
+| 10| Reading a Characteristic Descriptor | Read Characteristic Descriptors | `b read conn=x attr=x` |
+|   |   | Read Long Characteristic Descriptors | `b read conn=x attr=x long=1` |
+| 11 | Writing a Characteristic Descriptor | Write Characteristic Descriptors | `b write conn=x value=0xXX:0xXX` |
+|   |   | Write Long Characteristic Descriptors | `b write conn=x value=0xXX:0xXX long=1` |
+
+
+<br>
+### Using nimBLE commands
+Assuming you have discovered and established a BLE connection with at least one peer device (as explained earlier in [API for bletiny app](bletiny_api.md), you can find out what characteristics and services are available over these connections. Here is a recap.
+
+```
+b show conn
+```
+To show discovered services
+```
+b show svc
+```
+
+To show discovered characteristics
+```
+b show chr
+```
+
+To show connection RSSI
+```
+b show rssi conn=x
+```
\ No newline at end of file
diff --git a/versions/v1_2_0/docs/network/ble/bletiny/bletiny_advdata.md b/versions/v1_2_0/docs/network/ble/bletiny/bletiny_advdata.md
new file mode 100644
index 0000000..215232e
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/bletiny/bletiny_advdata.md
@@ -0,0 +1,26 @@
+
+## Advertisement Data Fields
+
+<br>
+
+This part defines the advertisement data fields used in the `bletiny` app. For a complete list of all data types and formats used for Extended Inquiry Response (EIR), Advertising Data (AD), and OOB data blocks, refer to the Supplement to the Bluetooth Core Specification, CSSv6, available for download [here](https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=302735&_ga=1.133090766.1368218946.1444779486). 
+
+
<br>
+


|**Name** | **Definition** | **Details** |
|----|---------|---------------|
+|  uuids16 |16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 16-bit Service UUIDs available. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG.  |
| uuids16_is_complete  | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG.  |
+|  uuids32 | 32-bit Bluetooth Service UUIDs   | Indicates the Service UUID list is incomplete i.e. more 32-bit Service UUIDs available. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG.   |
| uuids32_is_complete  | 32-bit Bluetooth Service UUIDs   |  Indicates the Service UUID list is complete. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. |
+| uuids128  | Global 128-bit Service UUIDs   | More 128-bit Service UUIDs available.  |
| uuids128_is_complete  |  Global 128-bit Service UUIDs  | Complete list of 128-bit Service UUIDs  |
+| tx_pwr_lvl  | TX Power Level   | Indicates the transmitted power level of the packet containing the data type. The TX Power Level data type may be used to calculate path loss on a received packet using the following equation: <br> <br> pathloss = Tx Power Level – RSSI <br> <br> where “RSSI” is the received signal strength, in dBm, of the packet received.  |
+| device_class  |  Class of device  | Size: 3 octets  |
+| slave_itvl_range | Slave Connection Interval Range   | Contains the Peripheral’s preferred connection interval range, for all logical connections. Size: 4 Octets . The first 2 octets defines the minimum value for the connection interval in the following manner: <br> <br> connIntervalmin = Conn_Interval_Min * 1.25 ms <br> <br> Conn_Interval_Min range: 0x0006 to 0x0C80 <br> Value of 0xFFFF indicates no specific minimum. <br> <br> The other 2 octets defines the maximum value for the conne [...]
+| svc_data_uuid16  |  Service Data - 16 bit UUID  | Size: 2 or more octets <br> The first 2 octets contain the 16 bit Service UUID followed by additional service data |
+| public_tgt_addr  |  Public Target Address  | Defines the address of one or more intended recipients of an advertisement when one or more devices were bonded using a public address. This data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. |
+| appearance  | Appearance   | Defines the external appearance of the device. The Appearance data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both.  |
+| adv_itvl  | Advertising Interval   | Contains the advInterval value as defined in the Core specification, Volume 6, Part B, Section 4.4.2.2.  |
+| le_addr  |  LE Bluetooth Device Address  | Defines the device address of the local device and the address type on the LE transport.  |
+| le_role  | LE Role   | Defines the LE role capabilities of the device. <br> 0x00 Only Peripheral Role supported <br> 0x01 Only Central Role supported <br> 0x02 Peripheral and Central Role supported, Peripheral Role preferred for connection establishment <br> 0x03 Peripheral and Central Role supported, Central Role preferred for connection establishment <br> 0x04 – 0xFF Reserved for future use |
+| svc_data_uuid32  | Service Data - 32 bit UUID  | Size: 4 or more octets <br> The first 4 octets contain the 32 bit Service UUID followed by additional service data |
+| svc_data_uuid128  | Service Data - 128 bit UUID   | Size: 16 or more octets <br> The first 16 octets contain the 128 bit Service UUID followed by additional service data  |
+| uri  |  Uniform Resource Identifier (URI) | Scheme name string and URI as a UTF-8 string  |
+| mfg_data |   Manufacturer Specific data | Size: 2 or more octets <br> The first 2 octets contain the Company Identifier Code followed by additional manufacturer specific data |

<br>
+
\ No newline at end of file
diff --git a/versions/v1_2_0/docs/network/ble/bletiny/bletiny_api.md b/versions/v1_2_0/docs/network/ble/bletiny/bletiny_api.md
new file mode 100644
index 0000000..345504d
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/bletiny/bletiny_api.md
@@ -0,0 +1,122 @@
+## API for bletiny app
+
+"bletiny" is one of the sample applications that come with Mynewt. It is a shell application which provides a basic interface to the host-side of the BLE stack. "bletiny" includes all the possible roles (Central/Peripheral) and they may be run simultaneously. You can run bletiny on a board and issue commands that make it behave as a central or a peripheral with different peers. 
+
+"bletiny" is a BLE application which uses the 1.0 shell. If you want to use the 1.1 shell in BLE application please go to [btshell app](../btshell/btshell_api.md).
+
+Highlighted below are some of the ways you can use the API to establish connections and discover services and characteristics from peer devices. For descriptions of the full API, go to the next sections on [GAP in bletiny](bletiny_GAP.md) and [GATT in bletiny](bletiny_GATT.md).
+
+All bletiny commands are prefixed with `b`.  This prefix distinguished bletiny commands from other shell commands that are implemented by other Mynewt packages.
+
+<br>
+
+### Set device address.
+
+On startup, bletiny has the following identity address configuration:
+
+* Public address: None
+* Random address: None
+
+The below `set` commands can be used to change the address configuration:
+
+```
+b set addr_type=public addr=<device-address>
+b set addr_type=random addr=<device-address>
+```
+
+For example:
+
+```
+b set addr_type=public addr=01:02:03:04:05:06
+b set addr_type=random addr=c1:aa:bb:cc:dd:ee
+```
+
+The address configuration can be viewed with the `b show addr` command, as follows:
+
+```
+b show addr
+public_id_addr=01:02:03:04:05:06 random_id_addr=c1:aa:bb:cc:dd:ee
+```
+
+<br>
+
+### Initiate a direct connection to a device
+
+In this case, your board is acting as a central and initiating a connection with another BLE device. The example assumes you know the address of the peer, either by scanning for available peers or because you have set up the peer yourself.
+
+```hl_lines="1"
+b conn own_addr_type=public peer_addr_type=public peer_addr=d4:f5:13:53:d2:43
+connection established; handle=1 our_ota_addr_type=0 our_ota_addr=0a:0b:0c:0d:0e:0f out_id_addr_type=0 our_id_addr=0a:0b:0c:0d:0e:0f peer_addr_type=0 peer_addr=43:d2:53:13:f5:d4 conn_itvl=40 conn_latency=0 supervision_timeout=256 encrypted=0 authenticated=0 bonded=0
+```
+
+The `handle=1` in the output indicates that it is connection-1.
+
+<br>
+
+### Configure advertisements to include device name 
+
+In this case, your board is acting as a peripheral. 
+
+```
+b set adv_data name=<your-device-name>
+```
+
+<br>
+
+### Begin sending undirected general advertisements
+
+In this case, your board is acting as a peripheral. 
+
+```
+b adv conn=und disc=gen
+```
+
+<br>
+
+### Show established connections.
+
+```
+b show conn
+```
+
+<br>
+
+### Discover and display peer's services, characteristics, and descriptors.
+
+This is how you discover and then display the services of the peer you established earlier across connection-1.
+
+```hl_lines="1 2"
+b disc full conn=1
+b show chr
+[ts=132425ssb, mod=64 level=2] CONNECTION: handle=1 addr=d4:f5:13:53:d2:43
+[ts=132428ssb, mod=64 level=2]     start=1 end=5 uuid=0x1800
+[ts=132433ssb, mod=64 level=2]     start=6 end=16 uuid=0x1808
+[ts=132437ssb, mod=64 level=2]     start=17 end=31 uuid=0x180a
+[ts=132441ssb, mod=64 level=2]     start=32 end=65535 uuid=00000000-0000-1000-1000000000000000
+```
+
+<br>
+
+### Read an attribute belonging to the peer
+
+```
+b read conn=1 attr=21
+```
+
+<br>
+
+### Write to an attribute belonging to the peer
+
+```
+b write conn=1 attr=3 value=0x01:0x02:0x03
+```
+
+<br>
+
+### Perform a passive scan
+
+This is how you tell your board to listen to all advertisements around it. The duration is specified in ms.
+
+```
+b scan dur=1000 type=passive filt=no_wl
+```
diff --git a/versions/v1_2_0/docs/network/ble/bletiny_api.md b/versions/v1_2_0/docs/network/ble/bletiny_api.md
new file mode 100644
index 0000000..a20b96a
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/bletiny_api.md
@@ -0,0 +1,144 @@
+## API for bletiny app
+
+"bletiny" is one of the sample applications that come with Mynewt. It is a simple shell application which provides a basic interface to the host-side of the BLE stack. "bletiny" includes all the possible roles (Central/Peripheral) and they may be run simultaneously. You can run bletiny on a board and issue commands that make it behave as a central or a peripheral with different peers. 
+
+Highlighted below are some of the ways you can use the API to establish connections and discover services and characteristics from peer devices. For descriptions of the full API, go to the next sections on [GAP in bletiny](bletiny/bletiny_GAP.md) and [GATT in bletiny](bletiny/bletiny_GATT.md).
+
+<br>
+
+### Set device public address.
+
+Currently the device public address is hardcoded to `0a:0b:0c:0d:0e:0f` in `bletiny` app but you can change it by going into its source code and initializing it to the desired value as described in the section on how to [initialize device addr](ini_stack/ble_devadd.md). 
+
+<br>
+
+### Initiate a direct connection to a device
+
+In this case, your board is acting as a central and initiating a connection with another BLE device. The example assumes you know the address of the peer, either by scanning for available peers or because you have set up the peer yourself.
+
+```hl_lines="1"
+b conn addr_type=public addr=d4:f5:13:53:d2:43
+[ts=118609ssb, mod=64 level=2] connection complete; status=0 handle=1 peer_addr_type=0 peer_addr=0x43:0xd2:0x53:0x13:0xf5:0xd4 conn_itvl=40 conn_latency=0 supervision_timeout=256
+```
+
+The `handle=1` in the output indicates that it is connection-1.
+
+<br>
+
+### Configure advertisements to include device name 
+
+In this case, your board is acting as a peripheral. 
+
+```
+b set adv_data name=<your-device-name>
+```
+
+<br>
+
+### Begin sending undirected general advertisements
+
+In this case, your board is acting as a peripheral. 
+
+```
+b adv conn=und disc=gen
+```
+
+<br>
+
+### Show established connections.
+
+```
+b show conn
+```
+
+<br>
+
+### Discover and display peer's services.
+
+This is how you discover and then display the services of the peer you established earlier across connection-1.
+
+```hl_lines="1 2"
+b disc svc conn=1
+b show chr
+[ts=132425ssb, mod=64 level=2] CONNECTION: handle=1 addr=d4:f5:13:53:d2:43
+[ts=132428ssb, mod=64 level=2]     start=1 end=5 uuid=0x1800
+[ts=132433ssb, mod=64 level=2]     start=6 end=16 uuid=0x1808
+[ts=132437ssb, mod=64 level=2]     start=17 end=31 uuid=0x180a
+[ts=132441ssb, mod=64 level=2]     start=32 end=65535 uuid=00000000-0000-1000-1000000000000000
+```
+
+<br>
+
+### Discover characteristics for each service on peer
+
+The following examples show how to find the characteristics for each service available on the peer device across connection-1. The start and end values depend on the specific services discovered using the previous command `b show chr`. Continuing with the example above, you can discover the characteristics of the first service and display it using the following commands.
+
+```hl_lines="1 2"
+b disc chr conn=1 start=1 end=5
+b show chr
+[ts=163063ssb, mod=64 level=2] CONNECTION: handle=1 addr=d4:f5:13:53:d2:43
+[ts=163067ssb, mod=64 level=2]     start=1 end=5 uuid=0x1800
+[ts=163071ssb, mod=64 level=2]         def_handle=2 val_handle=3 properties=0x02 uuid=0x2a00
+[ts=163078ssb, mod=64 level=2]         def_handle=4 val_handle=5 properties=0x02 uuid=0x2a01
+[ts=163085ssb, mod=64 level=2]     start=6 end=16 uuid=0x1808
+[ts=163089ssb, mod=64 level=2]     start=17 end=31 uuid=0x180a
+[ts=163094ssb, mod=64 level=2]     start=32 end=65535 uuid=00000000-0000-1000-1000000000000000
+```
+
+You can next discover characteristics for the second service and display. 
+
+```hl_lines="1 2"
+b disc chr conn=1 start=6 end=16
+b show chr
+[ts=180631ssb, mod=64 level=2] CONNECTION: handle=1 addr=d4:f5:13:53:d2:43
+[ts=180634ssb, mod=64 level=2]     start=1 end=5 uuid=0x1800
+[ts=180639ssb, mod=64 level=2]         def_handle=2 val_handle=3 properties=0x02 uuid=0x2a00
+[ts=180646ssb, mod=64 level=2]         def_handle=4 val_handle=5 properties=0x02 uuid=0x2a01
+[ts=180653ssb, mod=64 level=2]     start=6 end=16 uuid=0x1808
+[ts=180657ssb, mod=64 level=2]         def_handle=7 val_handle=8 properties=0x10 uuid=0x2a18
+[ts=180664ssb, mod=64 level=2]         def_handle=10 val_handle=11 properties=0x02 uuid=0x2a51
+[ts=180672ssb, mod=64 level=2]         def_handle=12 val_handle=13 properties=0x28 uuid=0x2a52
+[ts=180679ssb, mod=64 level=2]         def_handle=15 val_handle=16 properties=0x02 uuid=0x2a08
+[ts=180686ssb, mod=64 level=2]     start=17 end=31 uuid=0x180a
+[ts=180691ssb, mod=64 level=2]     start=32 end=65535 uuid=00000000-0000-1000-1000000000000000
+```
+
+<br>
+
+### Discover descriptors for each characteristic on peer
+
+Just as before, the start and end values depend on the specific characteristics discovered.
+
+```
+b disc dsc conn=1 start=1 end=5
+b disc dsc conn=1 start=6 end=16
+b disc dsc conn=1 start=17 end=31
+```
+
+<br>
+
+### Read an attribute belonging to the peer
+
+```
+b read conn=1 attr=18 attr=21
+```
+
+<br>
+
+### Write to an attribute belonging to the peer
+
+```
+b write conn=1 attr=3 value=0x01:0x02:0x03
+```
+
+<br>
+
+### Perform a passive scan
+
+This is how you tell your board to listen to all advertisements around it. The duration is specified in ms.
+
+```
+b scan dur=1000 disc=gen type=passive filt=no_wl
+```
+
+<br>
diff --git a/versions/v1_2_0/docs/network/ble/btshell/btshell_GAP.md b/versions/v1_2_0/docs/network/ble/btshell/btshell_GAP.md
new file mode 100644
index 0000000..6df301b
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/btshell/btshell_GAP.md
@@ -0,0 +1,210 @@
+
+## GAP API for btshell
+
+<br>
+
+Generic Access Profile (GAP) defines the generic procedures related to discovery of Bluetooth devices (idle mode procedures) and link management aspects of connecting to Bluetooth devices (connecting mode procedures). It also defines procedures related to use of different security levels. 
+
+Several different modes and procedures may be performed simultaneously over an LE physical transport. The following modes and procedures are defined for use over an LE physical transport:
+
+1. **Broadcast mode and observation procedure**
+    - These allow two devices to communicate in a unidirectional connectionless manner using the advertising events.
+2. **Discovery modes and procedures**
+    - All devices shall be in either non-discoverable mode or one of the discoverable modes.
+    - A device in the discoverable mode shall be in either the general discoverable mode or the limited discoverable mode.
+    - A device in non-discoverable mode will not be discovered by any device that is performing either the general discovery procedure or the limited discovery procedure.
+3. **Connection modes and procedures**
+    - allow a device to establish a connection to another device.
+    - allow updating of parameters of the connection 
+    - allow termination of the connection 
+4. **Bonding modes and procedures**
+    - Bonding allows two connected devices to exchange and store security and identity information to create a trusted relationship. 
+    - Bonding can occur only between two devices in bondable mode.
+
+
+<br>
+
+
+### Usage API
+
+
+|**Item No.** | **Modes and Procedures** | **nimBLE command** |
+|----|---------|---------------|
+|  1 | Broadcast Mode | `advertise conn=non discov=x` |
+|    | Observation Procedure | `scan duration=x passive=x filter=x` |
+|  2 | Non-Discoverable mode   | `advertise conn=x discov=non`  |
+|    | Limited Discoverable mode   | `advertise conn=x discov=ltd` |
+|    | General Discoverable mode   | `advertise conn=x discov=gen`  |
+|    | Limited Discovery procedure | `scan duration=x discov=ltd passive=0 filter=no_wl` |
+|    | General Discovery procedure | `scan duration=x discov=gen passive=0 filter=no_wl` |
+|    | Name Discovery procedure  | `scan duration=x` <br> `scan cancel` <br> `connect peer_addr_type=x peer_addr=x` <br> `gatt-read conn=x uuid=0x2a00` |
+|  3 | Non-connectable mode   | `advertise conn=non discov=x`  |
+|    | Directed connectable mode  | `advertise conn=dir [own_addr_type=x] [discov=x] [duration=x]`  |
+|    | Undirected connectable mode  | `advertise conn=und [own_addr_type=x] [discov=x] [duration=x]`  |
+|    | Auto connection establishment procedure   | `white-list addr_type=x addr=x [addr_type=y addr=y] [...]` <br> `connect addr_type=wl`  |
+|    | General connection establishment procedure  | `scan duration=x` <br> `scan cancel` <br> `connect peer_addr_type=x peer_addr=x` |
+|    | Selective connection establishment procedure | `white-list addr_type=x addr=x [addr_type=y addr=y] [...]` <br> `scan filter=use_wl duration=x` <br> `scan cancel` <br> `connect peer_addr_type=x peer_addr=x [own_addr_type=x]` |
+|    | Direct connection establishment procedure  | `connect addr_type=x addr=x [params]`  |
+|    | Connection parameter update procedure   | `conn-update-params conn=x <params>` |
+|    | Terminate connection procedure  | `disconnect conn=x` |
+|  4 | Non-Bondable mode    | `security-set-data bonding=0` [\*] |
+|    | Bondable mode        | `security-set-data bonding=1` [\*] |
+|    | Bonding procedure    | `security-start conn=x` [\*] |
+
+**[\*]** Security is disabled by default in btshell.  To use the bonding modes and procedures, add `BLE_SM_LEGACY: 1` or `BLE_SM_SC: 1` to your syscfg.yml file depending on your needs.
+
+<br>
+
+### Address Types
+
+| *btshell string* | *Description*                                       | *Notes*                              |
+|------------------|-----------------------------------------------------|--------------------------------------|
+| public           | Public address.                                     |                                      |
+| random           | Random static address.                              |                                      |
+| rpa_pub          | Resolvable private address, public identity.        | Not available for all commands.      |
+| rpa_rnd          | Resolvable private address, random static identity. | Not available for all commands.      |
+| wl               | Use white list; ignore peer_addr parameter.         | Only availble for "connect" command. |
+
+### Connection Types
+
+Bluetooth Specification Version 5.0 allows for different types of connections:
+
+| *Description*                                  | *btshell ext parameter value* |
+|------------------------------------------------|-------------------------------|
+| Legacy connection                              | none                          |
+| Extended connection with 1M PHY                | 1M                            |
+| Extended connection with coded PHY             | coded                         |
+| Extended connection with both 1M and coded PHY | both                          |
+| Extended connection with 1M, 2M and coded PHYs | all                           |
+
+### Connection Parameters
+
+Connection parameter definitions can be found in Section 7.8.12 of the BLUETOOTH SPECIFICATION Version 5.0 [Vol 2, Part E].
+
+Connection parameters for all types of connections:
+
+| *Name*            | *Description*                                                                       | *btshell string* |
+|-------------------|-------------------------------------------------------------------------------------|------------------|
+| Connection Type   | Parameter indicating the type of connection                                         | extended         |
+| Peer_Address_Type | Whether the peer is using a public or random address (see Address types table).     | peer_addr_type   |
+| Peer_Address      | The 6-byte device address of the peer; ignored if white list is used                | peer_addr        |
+| Own_Address_Type  | The type of address to use when initiating the connection (see Address types table) | own_addr_type    |
+| Duration          | Number of milliseconds before aborting the connect attempt                          | duration         |
+
+Connection parameters for legacy and 1M PHY extended connection:
+
+| *Name*              | *Description*                                                                                           | *btshell string*   |
+|---------------------|---------------------------------------------------------------------------------------------------------|--------------------|
+| LE_Scan_Interval    | Recommendation from the Host on how long the Controller should scan                                     | scan_interval      |
+| LE_Scan_Window      | Recommendation from the Host on how frequently the Controller should scan                               | scan_window        |
+| Conn_Interval_Min   | Defines minimum allowed connection interval                                                             | interval_min       |
+| Conn_Interval_Max   | Defines maximum allowed connection interval                                                             | interval_max       |
+| Conn_Latency        | Defines the maximum allowed connection latency                                                          | latency            |
+| Supervision_Timeout | Link supervision timeout for the connection.                                                            | timeout            |
+| Minimum_CE_Length   | Informative parameter providing the Controller with the expected minimum length of the connection event | min_conn_event_len |
+| Maximum_CE_Length   | Informative parameter providing the Controller with the expected maximum length of the connection event | max_conn_event_len |
+
+Extended Connection parameters for coded PHY connection:
+
+| *Name*              | *Description*                                                                                           | *btshell string*         |
+|---------------------|---------------------------------------------------------------------------------------------------------|--------------------------|
+| LE_Scan_Interval    | Recommendation from the Host on how long the Controller should scan                                     | coded_scan_interval      |
+| LE_Scan_Window      | Recommendation from the Host on how frequently the Controller should scan                               | coded_scan_window        |
+| Conn_Interval_Min   | Defines minimum allowed connection interval                                                             | coded_interval_min       |
+| Conn_Interval_Max   | Defines maximum allowed connection interval                                                             | coded_interval_max       |
+| Conn_Latency        | Defines the maximum allowed connection latency                                                          | coded_latency            |
+| Supervision_Timeout | Link supervision timeout for the connection.                                                            | coded_timeout            |
+| Minimum_CE_Length   | Informative parameter providing the Controller with the expected minimum length of the connection event | coded_min_conn_event_len |
+| Maximum_CE_Length   | Informative parameter providing the Controller with the expected maximum length of the connection event | coded_max_conn_event_len |
+
+Extended Connection parameters for 2M PHY connection:
+
+| *Name*              | *Description*                                                                                           | *btshell string*      |
+|---------------------|---------------------------------------------------------------------------------------------------------|-----------------------|
+| Conn_Interval_Min   | Defines minimum allowed connection interval                                                             | 2M_interval_min       |
+| Conn_Interval_Max   | Defines maximum allowed connection interval                                                             | 2M_interval_max       |
+| Conn_Latency        | Defines the maximum allowed connection latency                                                          | 2M_latency            |
+| Supervision_Timeout | Link supervision timeout for the connection.                                                            | 2M_timeout            |
+| Minimum_CE_Length   | Informative parameter providing the Controller with the expected minimum length of the connection event | 2M_min_conn_event_len |
+| Maximum_CE_Length   | Informative parameter providing the Controller with the expected maximum length of the connection event | 2M_max_conn_event_len |
+
+### Scan Types
+
+Bluetooth Specification Version 5.0 allows for different types of scan:
+
+| *Description*                            | *btshell ext parameter value* |
+|------------------------------------------|-------------------------------|
+| Legacy scan                              | none                          |
+| Extended scan with 1M PHY                | 1M                            |
+| Extended scan with coded PHY             | coded                         |
+| Extended scan with both 1M and coded PHY | both                          |
+
+### Scan Parameters
+
+Scan parameter definitions can be found in Section 7.8.10 of the BLUETOOTH SPECIFICATION Version 5.0 [Vol 2, Part E].
+
+| *Name*                 | *Description*                                                             | *btshell string* |
+|------------------------|---------------------------------------------------------------------------|------------------|
+| Scan Type              | Parameter indicating the type of scan                                     | extended         |
+| LE_Scan_Type           | Controls the type of scan to perform (passive or active)                  | passive          |
+| LE_Scan_Interval       | Recommendation from the Host on how long the Controller should scan       | interval         |
+| LE_Scan_Window         | Recommendation from the Host on how frequently the Controller should scan | window           |
+| Scanning_Filter_Policy | Policy about which advertising packets to accept                          | filter           |
+| Duration               | Number of milliseconds before canceling scan procedure                    | duration         |
+| Limited                | Limited scan procedure                                                    | limited          |
+| No duplicates          | Filter out duplicates in shell output                                     | nodups           |
+| Own_Address_Type       | The type of address to use when scanning (see Address types table)        | own_addr_type    |
+
+Extended Scan parameters:
+
+| *Name*           | *Description*                                                             | *btshell string*   |
+|------------------|---------------------------------------------------------------------------|--------------------|
+| Duration         | Number of milliseconds before canceling scan procedure                    | extended_duration  |
+| Period           | Period in which scan should be enabled for specified duration             | extended_period    |
+| LE_Scan_Type     | Controls the type of scan to perform (passive or active)                  | longrange_passive  |
+| LE_Scan_Interval | Recommendation from the Host on how long the Controller should scan       | longrange_interval |
+| LE_Scan_Window   | Recommendation from the Host on how frequently the Controller should scan | longrange_window   |
+
+### Advertisment Parameters
+
+| *btshell string* | *Description*                         | *Notes*                                                      | *Default*                 |
+|------------------|---------------------------------------|--------------------------------------------------------------|---------------------------|
+| conn             | Connectable mode                      | See Connectable Modes table.                                 | und                       |
+| discov           | Discoverable mode                     | See Discoverable Modes table.                                | gen                       |
+| own_addr_type    | The type of address to advertise with | See Address Types table.                                     | public                    |
+| peer_addr_type   | The peer's address type               | Only used for directed advertising; see Address Types table. | public                    |
+| peer_addr        | The peer's address                    | Only used for directed advertising                           | N/A                       |
+| channel_map      |                                       |                                                              | 0                         |
+| filter           | The filter policy                     | See Advertisement Filter Policies table.                     | none                      |
+| interval_min     |                                       | units=0.625ms                                                | non: 100ms; und/dir: 30ms |
+| interval_max     |                                       | units=0.625ms                                                | non: 150ms; und/dir: 60ms |
+| high_duty        | Whether to use high-duty-cycle        | 0/1                                                          | 0                         |
+| duration         |                                       | Milliseconds                                                 | Forever                   |
+
+Extended Advertising parameters:
+
+| *btshell string* | *Description*                                                                             | *Notes*        | *Default*                    |
+|------------------|-------------------------------------------------------------------------------------------|----------------|------------------------------|
+| tx_power         | Maximum power level at which the advertising packets are to be transmitted                | -127 - 127 dBm | 127 (Host has no preference) |
+| primary_phy      | PHY on which the advertising packets are transmitted on the primary advertising channel   |                | none                         |
+| secondary_phy    | PHY on which the advertising packets are transmitted on the secondary advertising channel |                | primary_phy                  |
+
+
+### Advertising PHY Types
+
+| *Description*                       | *btshell parameter value* |
+|-------------------------------------|---------------------------|
+| Legacy advertising                  | none                      |
+| Extended advertising with 1M PHY    | 1M                        |
+| Extended advertising with 2M PHY    | 2M                        |
+| Extended advertising with coded PHY | coded                     |
+
+### Advertisement Filter Policies
+
+| *btshell string*  | *Description*                                                          | *Notes*   |
+| ----------------- | ---------------                                                        | --------- |
+| none              | No filtering. No whitelist used.                                       | Default   |
+| scan              | Process all connection requests but only scans from white list.        |           |
+| conn              | Process all scan request but only connection requests from white list. |           |
+| both              | Ignore all scan and connection requests unless in white list.          |           |
+
diff --git a/versions/v1_2_0/docs/network/ble/btshell/btshell_GATT.md b/versions/v1_2_0/docs/network/ble/btshell/btshell_GATT.md
new file mode 100644
index 0000000..4ebb1ee
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/btshell/btshell_GATT.md
@@ -0,0 +1,59 @@
+## GATT feature API for btshell
+
+<br>
+
+GATT(GENERIC ATTRIBUTE PROFILE) describes a service framework using the Attribute Protocol for discovering services, and for reading and writing characteristic values on a peer device. There are 11 features defined in the GATT Profile, and each of the features is mapped to procedures and sub-procedures: 
+
+
+| **Item No.** | **Feature**                            | **Sub-Procedure**                         | **nimBLE command**                                                |
+|--------------|----------------------------------------|-------------------------------------------|-------------------------------------------------------------------|
+|            1 | Server Configuration                   | Exchange MTU                              | `gatt-exchange-mtu conn=x`                                        |
+|            2 | Primary Service Discovery              | Discover All Primary Services             | `gatt-discover-service conn=x`                                    |
+|              |                                        | Discover Primary Services By Service UUID | `gatt-discover-service conn=x uuid=x`                             |
+|            3 | Relationship Discovery                 | Find Included Services                    | `gatt-find-included-services conn=x start=x end=x`                |
+|            4 | Characteristic Discovery               | Discover All Characteristic of a Service  | `gatt-discover-characteristic conn=x start=x end=x`               |
+|              |                                        | Discover Characteristic by UUID           | `gatt-discover-characteristic conn=x start=x end=x uuid=x`        |
+|            5 | Characteristic Descriptor Discovery    | Discover All Characteristic Descriptors   | `gatt-discover-descriptor conn=x start=x end=x`                   |
+|            6 | Reading a Characteristic Value         | Read Characteristic Value                 | `gatt-read conn=x attr=x`                                         |
+|              |                                        | Read Using Characteristic UUID            | `gatt-read conn=x start=x end=x uuid=x`                           |
+|              |                                        | Read Long Characteristic Values           | `gatt-read conn=x attr=x long=1`                                  |
+|              |                                        | Read Multiple Characteristic Values       | `gatt-read conn=x attr=x attr=y attr=z`                           |
+|            7 | Writing a Characteristic Value         | Write Without Response                    | `gatt-write conn=x value=0xXX:0xXX no_rsp=1`                      |
+|              |                                        | Signed Write Without Response             | NOT SUPPORTED                                                     |
+|              |                                        | Write Characteristic Value                | `gatt-write conn=x attr=x value=0xXX:0xXX`                        |
+|              |                                        | Write Long Characteristic Values          | `gatt-write conn=x attr=x value=0xXX:0xXX long=1`                 |
+|              |                                        | Characteristic Value Reliable Writes      | `gatt-write conn=x attr=x value=0xXX:0xXX attr=y value=0xYY:0xYY` |
+|            8 | Notification of a Characteristic Value | Notifications                             | Write _0x01:0x00_ to CLIENT CONFIGURATION characteristic          |
+|            9 | Indication of a Characteristic Value   | Indications                               | Write _0x02:0x00_ to CLIENT CONFIGURATION characteristic          |
+|           10 | Reading a Characteristic Descriptor    | Read Characteristic Descriptors           | `gatt-read conn=x attr=x`                                         |
+|              |                                        | Read Long Characteristic Descriptors      | `gatt-read conn=x attr=x long=1`                                  |
+|           11 | Writing a Characteristic Descriptor    | Write Characteristic Descriptors          | `gatt-write conn=x value=0xXX:0xXX`                               |
+|              |                                        | Write Long Characteristic Descriptors     | `gatt-write conn=x value=0xXX:0xXX long=1`                        |
+
+
+<br>
+
+### Using NimBLE commands 
+
+
+Assuming you have discovered and established a BLE connection with at least one peer device (as explained earlier in [API for btshell app](btshell_api.md), you can find out what characteristics and services are available over these connections. Here is a recap.
+
+To show established connections:
+```
+gatt-show-conn
+```
+
+To show discovered services, characteristics, and descriptors:
+```
+gatt-show
+```
+
+To show local database of services, characteristics, and descriptors:
+```
+gatt-show-local
+```
+
+To show connection RSSI:
+```
+conn-rssi conn=x
+```
diff --git a/versions/v1_2_0/docs/network/ble/btshell/btshell_advdata.md b/versions/v1_2_0/docs/network/ble/btshell/btshell_advdata.md
new file mode 100644
index 0000000..ed345d5
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/btshell/btshell_advdata.md
@@ -0,0 +1,35 @@
+
+## Advertisement Data Fields
+
+<br>
+
+This part defines the advertisement data fields used in the `btshell` app. For a complete list of all data types and formats used for Extended Inquiry Response (EIR), Advertising Data (AD), and OOB data blocks, refer to the Supplement to the Bluetooth Core Specification, CSSv6, available for download [here](https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=302735&_ga=1.133090766.1368218946.1444779486). 
+
+
+<br>
+
+
+
+|**Name** | **Definition** | **Details** | **btshell Notes** |
+|----|---------|---------------|--|
+| flags | Indicates basic information about the advertiser. | Flags used over the LE physical channel are: <br> * Limited Discoverable Mode <br> * General Discoverable Mode <br> * BR/EDR Not Supported <br> * Simultaneous LE and BR/EDR to Same Device Capable (Controller) <br> * Simultaneous LE and BR/EDR to Same Device Capable (Host) | NimBLE will auto-calculate if set to 0. |
+| uuid16 |16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is incomplete i.e. more 16-bit Service UUIDs available. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG.  | Set repeatedly for multiple service UUIDs. |
+| uuid16_is_complete  | 16-bit Bluetooth Service UUIDs | Indicates the Service UUID list is complete. 16 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG.  |
+| uuid32 | 32-bit Bluetooth Service UUIDs   | Indicates the Service UUID list is incomplete i.e. more 32-bit Service UUIDs available. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG.   | Set repeatedly for multiple service UUIDs. |
+| uuid32_is_complete  | 32-bit Bluetooth Service UUIDs   |  Indicates the Service UUID list is complete. 32 bit UUIDs shall only be used if they are assigned by the Bluetooth SIG. |
+| uuid128  | Global 128-bit Service UUIDs   | More 128-bit Service UUIDs available.  | Set repeatedly for multiple service UUIDs. |
+| uuid128_is_complete  |  Global 128-bit Service UUIDs  | Complete list of 128-bit Service UUIDs  |
+| tx_power_level  | TX Power Level   | Indicates the transmitted power level of the packet containing the data type. The TX Power Level data type may be used to calculate path loss on a received packet using the following equation: <br> <br> pathloss = Tx Power Level – RSSI <br> <br> where “RSSI” is the received signal strength, in dBm, of the packet received.  | NimBLE will auto-calculate if set to -128. |
+| slave_interval_range | Slave Connection Interval Range   | Contains the Peripheral’s preferred connection interval range, for all logical connections. Size: 4 Octets . The first 2 octets defines the minimum value for the connection interval in the following manner: <br> <br> connIntervalmin = Conn_Interval_Min * 1.25 ms <br> <br> Conn_Interval_Min range: 0x0006 to 0x0C80 <br> Value of 0xFFFF indicates no specific minimum. <br> <br> The other 2 octets defines the maximum value for the c [...]
+| service_data_uuid16 |  Service Data - 16 bit UUID  | Size: 2 or more octets <br> The first 2 octets contain the 16 bit Service UUID followed by additional service data |
+| public_target_address |  Public Target Address  | Defines the address of one or more intended recipients of an advertisement when one or more devices were bonded using a public address. This data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both. |
+| appearance  | Appearance   | Defines the external appearance of the device. The Appearance data type shall exist only once. It may be sent in either the Advertising or Scan Response data, but not both.  |
+| advertising_interval | Advertising Interval   | Contains the advInterval value as defined in the Core specification, Volume 6, Part B, Section 4.4.2.2.  |
+| service_data_uuid32  | Service Data - 32 bit UUID  | Size: 4 or more octets <br> The first 4 octets contain the 32 bit Service UUID followed by additional service data |
+| service_data_uuid128  | Service Data - 128 bit UUID   | Size: 16 or more octets <br> The first 16 octets contain the 128 bit Service UUID followed by additional service data  |
+| uri  |  Uniform Resource Identifier (URI) | Scheme name string and URI as a UTF-8 string  |
+| mfg_data |   Manufacturer Specific data | Size: 2 or more octets <br> The first 2 octets contain the Company Identifier Code followed by additional manufacturer specific data |
+| eddystone_url | | |
+
+<br>
+
diff --git a/versions/v1_2_0/docs/network/ble/btshell/btshell_api.md b/versions/v1_2_0/docs/network/ble/btshell/btshell_api.md
new file mode 100644
index 0000000..6847854
--- /dev/null
+++ b/versions/v1_2_0/docs/network/ble/btshell/btshell_api.md
@@ -0,0 +1,120 @@
+## API for btshell app
+
+"btshell" is one of the sample applications that come with Mynewt. It is a shell application which provides a basic interface to the host-side of the BLE stack. "btshell" includes all the possible roles (Central/Peripheral) and they may be run simultaneously. You can run btshell on a board and issue commands that make it behave as a central or a peripheral with different peers. 
+
+"btshell" is a new application that uses Mynewt 1.1 shell features and has updated command and parameter names.
+
+Highlighted below are some of the ways you can use the API to establish connections and discover services and characteristics from peer devices. For descriptions of the full API, go to the next sections on [GAP in btshell](btshell_GAP.md) and [GATT in btshell](btshell_GATT.md).
+
+<br>
+
+### Set device address.
+
+On startup, btshell has the following identity address configuration:
+
+* Public address: None
+* Random address: None
+
+The below `set` commands can be used to change the address configuration:
+
+```
+set addr_type=public addr=<device-address>
+set addr_type=random addr=<device-address>
+```
+
+For example:
+
+```
+set addr_type=public addr=01:02:03:04:05:06
+set addr_type=random addr=c1:aa:bb:cc:dd:ee
+```
+
+The address configuration can be viewed with the `gatt-show-addr` command, as follows:
+
+```
+gatt-show-addr
+public_id_addr=01:02:03:04:05:06 random_id_addr=c1:aa:bb:cc:dd:ee
+```
+
+<br>
+
+### Initiate a direct connection to a device
+
+In this case, your board is acting as a central and initiating a connection with another BLE device. The example assumes you know the address of the peer, either by scanning for available peers or because you have set up the peer yourself.
+
+```hl_lines="1"
+connect peer_addr=d4:f5:13:53:d2:43
+connection established; handle=1 our_ota_addr_type=0 our_ota_addr=0a:0b:0c:0d:0e:0f out_id_addr_type=0 our_id_addr=0a:0b:0c:0d:0e:0f peer_addr_type=0 peer_addr=43:d2:53:13:f5:d4 conn_itvl=40 conn_latency=0 supervision_timeout=256 encrypted=0 authenticated=0 bonded=0
+```
+
+The `handle=1` in the output indicates that it is connection-1.
+
+<br>
+
+### Configure advertisements to include device name 
+
+In this case, your board is acting as a peripheral. 
+
+```
+set-adv-data name=<your-device-name>
+```
+
+<br>
+
+### Begin sending undirected general advertisements
+
+In this case, your board is acting as a peripheral. 
+
+```
+advertise conn=und discov=gen
+```
+
+<br>
+
+### Show established connections.
+
+```
+gatt-show-conn
+```
+
+<br>
+
+### Discover and display peer's services, characteristics, and descriptors.
+
+This is how you discover and then display the services of the peer you established earlier across connection-1.
+
+```hl_lines="1 2"
+gatt-discover-full conn=1
+gatt-show
+[ts=132425ssb, mod=64 level=2] CONNECTION: handle=1 addr=d4:f5:13:53:d2:43
+[ts=132428ssb, mod=64 level=2]     start=1 end=5 uuid=0x1800
+[ts=132433ssb, mod=64 level=2]     start=6 end=16 uuid=0x1808
+[ts=132437ssb, mod=64 level=2]     start=17 end=31 uuid=0x180a
+[ts=132441ssb, mod=64 level=2]     start=32 end=65535 uuid=00000000-0000-1000-1000000000000000
+```
+
+<br>
+
+### Read an attribute belonging to the peer
+
+```
+gatt-read conn=1 attr=21
+```
+
+<br>
+
+### Write to an attribute belonging to the peer
+
+```
+gatt-write conn=1 attr=3 value=0x01:0x02:0x03
+```
+
+<br>
+
+### Perform a passive scan
+
+This is how you tell your board to listen to all advertisements around it. The duration is specified in ms.
+
+```
+scan duration=1000 passive=1 filter=no_wl
+```
diff --git a/versions/v1_2_0/docs/news/article1.md b/versions/v1_2_0/docs/news/article1.md
new file mode 100644
index 0000000..e69de29
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_build.md b/versions/v1_2_0/docs/newt/command_list/newt_build.md
new file mode 100644
index 0000000..56e075e
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_build.md
@@ -0,0 +1,32 @@
+## <font color="#F2853F" style="font-size:24pt">newt build </font>
+
+Build one or more targets. 
+
+#### Usage: 
+
+```no-highlight
+    newt build  <target-name> [target_name ...] [flags] 
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+
+#### Description
+Compiles, links, and builds an ELF binary for the target named &lt;target-name&gt;.  It builds an ELF file for the application specified by the `app` variable for the `target-name` target. The image can be loaded and run on the hardware specified by the `bsp` variable for the target. The command creates the 'bin/' directory under the project's base directory (that the `newt new` command created) and stores the executable in the 'bin/targets/&lt;target-name&gt;/app/apps/&lt;app-name&gt;'  [...]
+
+You can specify a list of target names, separated by a space, to build multiple targets. 
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+-------------| -----------------------|-----------------
+      | newt build <br> my_blinky_sim | Builds an executable for the `my_blinky_sim` target. For example, if the `my_blinky_sim` target has `app` set to `apps/blinky`, you will find the generated .elf, .a, and .lst files in the 'bin/targets/my_blinky_sim/app/apps/blinky' directory. 
+      |  newt build <br> my_blinky_sim myble | Builds the images for the applications defined by the `my_blinky_sim` and `myble` targets.
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_clean.md b/versions/v1_2_0/docs/newt/command_list/newt_clean.md
new file mode 100644
index 0000000..632b184
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_clean.md
@@ -0,0 +1,32 @@
+## <font color="#F2853F" style="font-size:24pt">newt clean </font>
+
+Delete build artifacts for one or more targets. 
+
+#### Usage: 
+
+```no-highlight
+    newt clean <target-name> [target-name...] | all [flags]
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+
+```
+#### Description
+
+Deletes all the build artifacts generated for  the `target-name` target. It does not delete the target definition.  You can specify a list of targets, separated by a space, to delete the artifacts for multiple targets, or specify `all` to delete the artifacts for all targets.
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+-------------| -----------------------|-----------------
+             | newt clean myble | Deletes the 'bin/targets/myble' directory where all the build artifacts generated from the `myble` target build are stored.
+             | newt clean my_blinky_sim myble | Deletes the 'bin/targets/my_blinky_sim' and the 'bin/targets/myble' directories where all the artifacts generated from the `my_blinky_sim` and `myble` target builds are stored.
+             | newt clean all | Removes the artifacts for all target builds. Deletes the top level 'bin' directory. 
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_complete.md b/versions/v1_2_0/docs/newt/command_list/newt_complete.md
new file mode 100644
index 0000000..7f2d55c
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_complete.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">newt complete </font>
+
+Performs bash autocompletion using tab. It is not intended to be called directly from the command line.
+
+#### Install bash autocompletion
+
+```no-highlight
+    $ brew install bash-completion
+    Updating Homebrew...
+    <snip>
+    Bash completion has been installed to:
+      /usr/local/etc/bash_completion.d
+    ==> Summary
+    🍺  /usr/local/Cellar/bash-completion/1.3_1: 189 files, 607.8K
+```
+
+#### Enable autocompletion for newt
+
+```no-highlight
+    $ complete -C "newt complete" newt
+```
+
+#### Usage
+
+Hit tab and see possible completion options or completed command.
+
+```no-highlight
+    $ newt target s
+    set   show  
+    $ newt target show
+```
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_create_image.md b/versions/v1_2_0/docs/newt/command_list/newt_create_image.md
new file mode 100644
index 0000000..0ed9e35
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_create_image.md
@@ -0,0 +1,32 @@
+## <font color="#F2853F" style="font-size:24pt">newt create-image </font>
+
+Create and sign an image by adding an image header to the binary file created for a target. Version number in the header is set to &lt;version&gt;. To sign an image provide a .pem file for the signing-key and an optional key-id.
+
+#### Usage: 
+
+```no-highlight
+    newt create-image <target-name> <version> [signing-key [key-id]][flags]
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+Adds an image header to the created binary file for the `target-name` target. The image version is set to `version`. It creates a `<app-name>.img` file the image, where `app-name` is the value specified in the target `app` variable, and stores the file in the '/bin/targets/&lt;target-name&gt;/app/apps/&lt;app-name&gt;/' directory. It also creates a `<app-name>.hex` file for the image in the same directory, and adds the version, build id, image file name, and image hash to the `manifest.j [...]
+
+To sign an image,  provide a .pem file for the `signing-key` and an optional `key-id`. `key-id` must be a value between 0-255.
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+-------------| -----------------------|-----------------
+             | newt create-image myble2 1.0.1.0 | Creates an image for target `myble2` and assigns it version `1.0.1.0`. <br> <br> For the following target definition: <br> targets/myble2 <br> app=@apache-mynewt-core/apps/bletiny <br> bsp=@apache-mynewt-core/hw/bsp/nrf52dk <br> build_profile=optimized <br> syscfg=STATS_NAMES=1 <br><br> the 'bin/targets/myble2/app/apps/bletiny/bletiny.img' and 'bin/targets/myble2/app/apps/bletiny/bletiny.hex' files are created, and the manifest in 'bin/ta [...]
+             | newt create-image myble2 1.0.1.0 private.pem | Creates an image for target `myble2` and assigns it the version `1.0.1.0`. Signs the image using  private key specified by the private.pem file. 
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_debug.md b/versions/v1_2_0/docs/newt/command_list/newt_debug.md
new file mode 100644
index 0000000..d68fd7f
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_debug.md
@@ -0,0 +1,36 @@
+## <font color="#F2853F" style="font-size:24pt">newt debug </font>
+
+Open a debugger session to a target. 
+
+#### Usage: 
+
+```no-highlight
+    newt debug <target-name> [flag]
+```
+#### Flags:
+```no-highlight
+      --extrajtagcmd string   Extra commands to send to JTAG software
+  -n, --noGDB                 Do not start GDB from command line
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+Opens a debugger session to the image built for the &lt;target-name&gt; target.
+
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+-------------| -----------------------|-----------------
+             | newt debug myble2  | Opens a J-Link connection and starts a GNU gdb session to debug bin/targets/myble2/app/apps/bletiny/bletiny.elf when the target is as follows: <br> <br> targets/myble2 <br> app=@apache-mynewt-core/apps/bletiny <br> bsp=@apache-mynewt-core/hw/bsp/nrf52dk <br> build_profile=optimized <br> syscfg=STATS_NAMES=1
+             | newt debug myble2 -n  | Opens a J-Link connection bin/targets/myble2/app/apps/bletiny/bletiny.elf but do not start GDB on the command line. 
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_help.md b/versions/v1_2_0/docs/newt/command_list/newt_help.md
new file mode 100644
index 0000000..7db5675
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_help.md
@@ -0,0 +1,60 @@
+## <font color="#F2853F" style="font-size:24pt">newt help </font>
+
+Display the help text for the newt command line tool:
+
+```no-highlight
+Newt allows you to create your own embedded application based on the Mynewt 
+operating system. Newt provides both build and package management in a single 
+tool, which allows you to compose an embedded application, and set of 
+projects, and then build the necessary artifacts from those projects. For more 
+information on the Mynewt operating system, please visit 
+https://mynewt.apache.org/. 
+```
+
+#### Usage:
+```no-highlight
+    newt help [command]
+```    
+#### Global Flags:
+
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+
+#### Available Commands: 
+```no-highlight
+    build        Build one or more targets
+    clean        Delete build artifacts for one or more targets
+    create-image Add image header to target binary
+    debug        Open debugger session to target
+    info         Show project info
+    install      Install project dependencies
+    load         Load built target to board
+    mfg          Manufacturing flash image commands
+    new          Create a new project
+    pkg          Create and manage packages in the current workspace
+    run          build/create-image/download/debug <target>
+    size         Size of target components
+    sync         Synchronize project dependencies
+    target       Command for manipulating targets
+    test         Executes unit tests for one or more packages
+    upgrade      Upgrade project dependencies
+    vals         Display valid values for the specified element type(s)
+    version      Display the Newt version number
+```
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newt help target | Displays the help text for the newt `target` command
+             | newt help   | Displays the help text for newt tool
+    
+    
+
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_info.md b/versions/v1_2_0/docs/newt/command_list/newt_info.md
new file mode 100644
index 0000000..3e2c209
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_info.md
@@ -0,0 +1,26 @@
+## <font color="#F2853F" style="font-size:24pt">newt info </font>
+
+Show information about the current project.
+
+#### Usage: 
+
+```no-highlight
+    newt info [flags]
+```
+
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+
+#### Description
+
+Displays the repositories in the current project (the local as well as all the external repositories fetched). It also displays the packages in the local repository.
+
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_install.md b/versions/v1_2_0/docs/newt/command_list/newt_install.md
new file mode 100644
index 0000000..9a56ad0
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_install.md
@@ -0,0 +1,30 @@
+## <font color="#F2853F" style="font-size:24pt">newt install </font>
+
+Install project dependencies.  
+
+#### Usage: 
+```no-highlight
+    newt install [flags]
+```
+
+#### Flags:
+```no-highlight
+    -f, --force  Force install of the repositories in project, regardless of what exists in repos directory
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+This command downloads the description for all the repositories specified in the `project.yml` file for the current project, and installs the correct versions of all the packages specified by the project dependencies. 
+
+You must run this command from within the current project directory. (Remember to `cd` into this project directory after you use `newt new` to create this project before you run `newt install`.)
+
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_load.md b/versions/v1_2_0/docs/newt/command_list/newt_load.md
new file mode 100644
index 0000000..ad77ca4
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_load.md
@@ -0,0 +1,31 @@
+## <font color="#F2853F" style="font-size:24pt">newt load </font>
+
+Load application image onto the board for a target. 
+
+#### Usage: 
+
+```no-highlight
+    newt load <target-name> [flags]
+```
+
+
+#### Flags:
+
+```no-highlight
+    --extrajtagcmd string   Extra commands to send to JTAG software
+
+```
+
+### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+Uses download scripts to automatically load, onto the connected board, the image built for the app defined by the `target-name` target If the wrong board is connected or the target definition is incorrect (i.e. the wrong values are given for bsp or app), the command will fail with error messages such as `Can not connect to J-Link via USB` or `Unspecified error -1`. 
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_mfg.md b/versions/v1_2_0/docs/newt/command_list/newt_mfg.md
new file mode 100644
index 0000000..80fc027
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_mfg.md
@@ -0,0 +1,99 @@
+## <font color="#F2853F" style="font-size:24pt">newt mfg </font>
+
+Commands to create, build, and upload manufacturing image. 
+
+#### Usage: 
+
+```no-highlight
+    newt mfg [flags]
+    newt mfg [command]
+```
+#### Available Commands: 
+
+```no-highlight
+    create      Create a manufacturing flash image
+    deploy      Build and upload a manufacturing image (build + load)
+    load        Load a manufacturing flash image onto a device
+```
+
+#### Global Flags:
+
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+Sub-command  | Explanation
+-------------| ------------------------
+create     | A manufacturing image specifies 1) a boot loader target, and 2) one or more image targets. Assuming the manufacturing entity has been created and defined in the `mfgs/<mfg image name>/` package (see Examples below), this command collects the manufacturing related files in the newly created `bin/mfgs/<mfg image name>` directory. The collection includes the image file, the hex file, and the  manifests with the image build time, version, manufacturing package build time, image  [...]
+deploy     | A combination of build and load commands to put together and upload manufacturing image on to the device.
+load      | Loads the manufacturing package onto to the flash of the connected device.
+
+
+#### Examples
+
+Suppose you have created two targets (one for the bootloader and one for the `blinky` app). 
+
+```no-highlight
+$ newt target show
+targets/my_blinky_sim
+    app=apps/blinky
+    bsp=@apache-mynewt-core/hw/bsp/native
+    build_profile=debug
+targets/rb_blinky
+    app=apps/blinky
+    bsp=@apache-mynewt-core/hw/bsp/rb-nano2
+    build_profile=debug
+targets/rb_boot
+    app=@apache-mynewt-core/apps/boot
+    bsp=@apache-mynewt-core/hw/bsp/rb-nano2
+    build_profile=optimized
+```
+
+Create the directory to hold the mfg packages.
+
+```
+$ mkdir -p mfgs/rb_blinky_rsa
+```
+
+The `rb_blinky_rsa` package needs a pkg.yml file. In addition it is needs a mfg.yml file to specify the two constituent targets. An example of each file is shown below.
+
+```
+$  more mfgs/rb_blinky_rsa/pkg.yml 
+pkg.name: "mfgs/rb_blinky_rsa"
+pkg.type: "mfg"
+pkg.description: 
+pkg.author: 
+pkg.homepage: 
+```
+
+```
+$  more mfgs/rb_blinky_rsa/mfg.yml 
+mfg.bootloader: 'targets/rb_boot'
+mfg.images:
+    - 'targets/rb_blinky'
+```
+
+Build the bootloader and app images.
+
+```
+$ newt build rb_boot
+$ newt create-image rb_blinky 0.0.1
+```
+
+Run the `newt mfg create` command to collect all the manufacturing snapshot files.
+
+```
+$ newt mfg create rb_blinky_rsa
+Creating a manufacturing image from the following files:
+<snip>
+Generated the following files:
+<snip>
+$
+```
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_new.md b/versions/v1_2_0/docs/newt/command_list/newt_new.md
new file mode 100644
index 0000000..01c7140
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_new.md
@@ -0,0 +1,30 @@
+## <font color="#F2853F" style="font-size:24pt">newt new </font>
+
+Create a new project from a skeleton. Currently, the default skeleton is the [blinky repository](https://github.com/apache/mynewt-blinky).
+
+
+#### Usage: 
+```no-highlight
+    newt new <project-name> [flags]
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+### Description
+Creates a new project named `project-name` from the default skeleton [blinky repository](https://github.com/apache/mynewt-blinky).
+
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newt new test_project | Creates a new project named `test_project` using the default skeleton from the `apache/mynewt-blinky` repository.
+
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_pkg.md b/versions/v1_2_0/docs/newt/command_list/newt_pkg.md
new file mode 100644
index 0000000..97264eb
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_pkg.md
@@ -0,0 +1,44 @@
+## <font color="#F2853F" style="font-size:24pt">newt pkg </font>
+
+Commands for creating and manipulating packages.
+
+#### Usage: 
+```no-highlight
+    newt pkg [command] [flags] 
+```    
+#### Flags:
+```no-highlight
+ -t, --type string   Type of package to create: app, bsp, lib, sdk, unittest. (default "lib")
+
+```
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+The pkg command provides subcommands to create and manage packages. The subcommands take one or two `package-name` arguments.
+
+Sub-command             | Explanation
+------------------------| ------------------------
+copy    | The copy &lt;src-pkg&gt; &lt;dst-pkg&gt; command creates the new `dst-pkg` package by cloning the `src-pkg` package. 
+move    | The move &lt;old-pkg&gt; &lt;new-pkg&gt; command moves the `old-pkg` package to the `new-pkg` package.
+new     | The new &lt;new-pkg&gt; command creates a new package named `new-pkg`, from a template, in the current directory. You can create a package of type `app`, `bsp`, `lib`, `sdk`, or `unittest`. The default package type is `lib`. You use the -t flag to specify a different package type.  
+remove  | The remove &lt;my-pkg&gt;  command deletes the `my-pkg` package.
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+copy         | newt pkg copy <br>apps/bletiny apps/new_bletiny | Copies the `apps/bletiny` package to the `apps/new_bletiny`.
+move         | newt pkg move <br>apps/slinky apps/new_slinky | Moves the `apps/slinky` package to the `apps/new_slinky` package.
+new          | newt pkg new apps/new_slinky | Creates a package named `apps/new_slinky` of type `pkg` in the current directory.
+new          | newt pkg new hw/bsp/myboard -t bsp| Creates a package named `hw/bsp/myboard` of type `bsp` in the current directory.
+remove       | newt pkg remove hw/bsp/myboard | Removes the `hw/bsp/myboard` package.
+
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_resign_image.md b/versions/v1_2_0/docs/newt/command_list/newt_resign_image.md
new file mode 100644
index 0000000..d35dc12
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_resign_image.md
@@ -0,0 +1,34 @@
+## <font color="#F2853F" style="font-size:24pt">newt resign-image </font>
+Sign or re-sign an existing image file.
+
+#### Usage: 
+
+```no-highlight
+    newt resign-image <image-file> [signing-key [key-id]][flags]
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+Changes the signature of an existing image file. To sign an image, specify a .pem file for the `signing-key` and an optional `key-id`. `key-id` must be a value between 0-255. If a signing key is not specified, the command strips the current signature from the image file.
+
+A new image header is created.  The rest of the image is byte-for-byte equivilent to the original image.  
+
+Warning: The image hash will change if you change the key-id or the type of key used for signing.
+
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+-------------| -----------------------|-----------------
+             | newt resign-image bin/targets/myble/app/apps/bletiny/bletiny.img private.pem | Signs the `bin/targets/myble/app/apps/bletiny/bletiny.img` file with   the private.pem key. 
+             | newt resign-image bin/targets/myble/app/apps/bletiny/bletiny.img | Strips the current signature from `bin/targets/myble/app/apps/bletiny/bletiny.img` file.|
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_run.md b/versions/v1_2_0/docs/newt/command_list/newt_run.md
new file mode 100644
index 0000000..220c3b0
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_run.md
@@ -0,0 +1,41 @@
+## <font color="#F2853F" style="font-size:24pt">newt run </font>
+
+A single command to do four steps - build a target, create-image, load image on a board, and start a debug session with the image on the board.
+
+**Note**: If the version number is omitted: 
+
+* The create-image step is skipped for a bootloader target.
+* You will be prompted to enter a version number for an application target.
+
+#### Usage: 
+
+```no-highlight
+    newt run <target-name> [<version>][flags] 
+```
+
+#### Flags:
+```no-highlight
+      --extrajtagcmd string   Extra commands to send to JTAG software
+  -n, --noGDB                 Do not start GDB from the command line
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+
+#### Description
+Same as running `build <target-name>`, `create-image <target-name> <version>`,  `load <target-name>`, and `debug <target-name>`.
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+-------------| -----------------------|-----------------
+             | newt run blink_rigado | Compiles and builds the image for the `app` and the `bsp` defined for target `blink_rigado`, loads the image onto the board, and opens an active GNU gdb debugging session to run the image. 
+             | newt run ble_rigado 0.1.0.0 | Compiles and builds the image for the `app` and the `bsp` defined for target `ble_rigado`, signs and creates the image with version number 0.1.0.0, loads the image onto the board, and opens an active GNU gdb debugging session to run the image. <br> <br> Note that if there is no bootloader available for a particular board/kit, a signed image creation step is not necessary.
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_size.md b/versions/v1_2_0/docs/newt/command_list/newt_size.md
new file mode 100644
index 0000000..4804654
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_size.md
@@ -0,0 +1,61 @@
+## <font color="#F2853F" style="font-size:24pt">newt size </font>
+
+Calculates the size of target components for a target.
+
+#### Usage: 
+
+```no-highlight
+    newt size <target-name> [flags]
+```
+
+#### Flags:
+```no-highlight
+    -F, --flash   Print FLASH statistics
+    -R, --ram     Print RAM statistics
+```
+
+#### Global Flags:
+```no-highlight
+  -h, --help              Help for newt commands
+  -j, --jobs int          Number of concurrent build jobs (default 8)
+  -l, --loglevel string   Log level (default "WARN")
+  -o, --outfile string    Filename to tee output to
+  -q, --quiet             Be quiet; only display error output
+  -s, --silent            Be silent; don't output anything
+  -v, --verbose           Enable verbose output when executing commands
+```
+
+#### Description
+Displays the RAM and FLASH size of each component for the `target-name` target.  
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+-------------| -----------------------|----------------- 
+             | newt size blink_rigado | Inspects and lists the RAM and Flash memory that each component (object files and libraries) for the `blink_rigado` target.
+
+#### Example output for `newt size blink_rigado`:
+
+```no-highlight
+
+$ newt size blink_rigado
+  FLASH     RAM 
+      9     223 *fill*
+   1052       0 baselibc.a
+    195    1116 blinky.a
+    616     452 bmd300eval.a
+     64       0 cmsis-core.a
+    124       0 crt0.o
+      8       0 crti.o
+     16       0 crtn.o
+    277     196 full.a
+     20       8 hal.a
+     96    1068 libg.a
+   1452       0 libgcc.a
+    332      28 nrf52xxx.a
+   3143     677 os.a
+
+objsize
+   text	   data	    bss	    dec	    hex	filename
+   7404	   1172	   2212	  10788	   2a24	/Users/<username>/dev/rigado/bin/blink_rigado/apps/blinky/blinky.elf
+```
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_sync.md b/versions/v1_2_0/docs/newt/command_list/newt_sync.md
new file mode 100644
index 0000000..4f9eb4b
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_sync.md
@@ -0,0 +1,27 @@
+## <font color="#F2853F" style="font-size:24pt">newt sync </font>
+
+Synchronize and refresh the contents of the local copy of all the repositories used in the project with the latest updates maintained in the remote repositories. 
+
+#### Usage:
+
+```no-highlight
+    newt sync [flags]
+```
+#### Flags:
+```no-highlight
+    -f, --force             Force overwrite of existing remote repository
+```   
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+Synchronize project dependencies and repositories. Prior to 1.0.0 release, the command deletes and resynchronizes each repository. Post 1.0.0, it will abort the synchronization if there are any local changes to any repository. Using the -f to force overwrite of existing repository will stash and save the changes while pulling in all the latest changes from the remote repository. 
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_target.md b/versions/v1_2_0/docs/newt/command_list/newt_target.md
new file mode 100644
index 0000000..d1b8e13
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_target.md
@@ -0,0 +1,68 @@
+## <font color="#F2853F" style="font-size:24pt">newt target </font>
+
+Commands to create, delete, configure and query targets. 
+
+#### Usage: 
+
+```no-highlight
+    newt target [command] [flags]
+```
+#### Available Commands: 
+```no-highlight
+    amend       Add, change, or delete values for multi-value target variables
+    config      View or populate a target's system configuration settings
+    copy        Copy target
+    create      Create a target
+    delete      Delete target
+    dep         View target's dependency graph
+    revdep      View target's reverse-dependency graph
+    set         Set target configuration variable
+    show        View target configuration variables
+```
+
+#### Global Flags:
+```no-highlight
+  -h, --help              Help for newt commands
+  -j, --jobs int          Number of concurrent build jobs (default 8)
+  -l, --loglevel string   Log level (default "WARN")
+  -o, --outfile string    Filename to tee output to
+  -q, --quiet             Be quiet; only display error output
+  -s, --silent            Be silent; don't output anything
+  -v, --verbose           Enable verbose output when executing commands
+```
+
+#### Description
+The target command provides subcommands to create, build, delete, and query targets. The subcommands take one or two `target-name` arguments. 
+
+Sub-command  | Explanation
+-------------| ------------------------
+amend | The amend command allows you to add, change, or delete values for multi-value target variables that you have set with the `newt target set` command. The format of the amend command is: <br>newt target amend &lt;target-name&gt; &lt;var-name=var-value&gt; [var-name=var-value...] <br>Specify the `-d` flag to delete values.<br><br>The following multi-value variables can be amended: `aflags`, `cflags`, `lflags`, `syscfg`. <br>The `var-value` format depends on the `var-name` as follows [...]
+config        | The config command allows you to  view or populate a target's system configuration settings.  A target's system configuration settings include the settings of all the packages it includes. The settings for a package are listed in the package's `syscfg.yml` file. The `config` command has two subcommands: `show` and `init`.  <br><br> The config show &lt;target-name&gt; command displays the system configuration setting definitions and values for all the packages that the `ta [...]
+copy | The copy  &lt;src-target&gt; &lt;dst-target&gt; command creates a new target named `dst-target` by cloning the `src-target` target. 
+create | The create &lt;target-name&gt; command creates an empty target named `target-name`. It creates the `targets/target-name` directory and the skeleton `pkg.yml` and `target.yml` files in the directory.
+delete | The delete &lt;target-name&gt; command deletes the description for the `target-name` target. It deletes the 'targets/target-name' directory.  It does not delete the 'bin/targets/target-name' directory where the build artifacts are stored. If you want to delete the build artifacts, run the `newt clean <target-name>` command  **before** deleting the target.
+dep | The dep &lt;target-name&gt; command displays a dependency tree for the packages that the `target-name` target includes. It shows each package followed by the list of libraries or packages that it depends on. 
+revdep        | The revdep &lt;target-name&gt; command displays the reverse dependency tree for the packages that the `target-name` target includes. It shows each package followed by the list of libraries or packages that depend on it.
+set | The set &lt;target-name&gt; &lt;var-name=var-value&gt; [var-name=var-value...] command sets variables (attributes) for the &lt;target-name&gt;  target. The set command overwrites your current variable values. <br><br>The valid `var-name` values are: `app`, `bsp`, `loader`, `build_profile`, `cflags`, `lflags`, `aflags`, `syscfg`.  <br><br>The `var-value` format depends on the `var-name` as follows: <ul><li>`app`, `bsp`, `loader`: @&lt;source-path&gt;, where `source-path` is the dire [...]
+show        | The show [target-name] command shows the values of the variables (attributes) for the `target-name` target. When `target-name` is not specified, the command shows the variables for all the targets that are defined for your project. 
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+--------------| -----------------------|-----------------
+amend         | newt target amend myble syscfg=CONFIG_NEWTMGR=0 cflags="-DTEST"|Changes (or adds) the `CONFIG_NEWTMGR` variable to value 0 in the `syscfg.yml` file and adds the -DTEST flag to `pkg.cflags` in the `pkg.yml` file for the `myble` target. Other syscfg setting values and cflags values are not changed. 
+amend         | newt target amend myble -d syscfg=LOG_LEVEL:CONFIG_NEWTMGR cflags="-DTEST"|Deletes the `LOG_LEVEL` and `CONFIG_NEWTMGR` settings from the `syscfg.yml` file  and the -DTEST flag from `pkg.cflags` for the `myble` target. Other syscfg setting values and cflags values are not changed.         
+config show   | newt target config show rb_blinky | Shows the system configuration settings for all the packages that the `rb_blinky` target includes.
+config init   | newt target config init my_blinky | Creates and populates the `my_blinky` target's `syscfg.yml` file with the system configuration setting values from all the packages that the `my_blinky` target includes.
+copy          | newt target copy <br>rb_blinky rb_bletiny | Creates the `rb_bletiny` target by cloning the `rb_blinky` target. 
+create        | newt target create <br>my_new_target | Creates the `my_newt_target` target. It creates the `targets/my_new_target` directory and creates the skeleton `pkg.yml` and `target.yml` files in the directory.
+delete        | newt target delete rb_bletiny | Deletes the `rb_bletiny` target. It deletes the `targets/rb_bletiny` directory.
+dep           | newt target dep myble     | Displays the dependency tree of all the package dependencies for the `myble` target. It lists each package followed by a list of packages it depends on. 
+revdep        | newt target revdep myble    | Displays the reverse dependency tree of all the package dependencies for the `myble` target. It lists each package followed by a list of packages that depend on it. 
+set           | newt target set myble <br>app=@apache-mynewt-core/apps/bletiny | Use `bletiny` as the application to build for the `myble` target.
+set           | newt target set myble <br>cflags="-DNDEBUG -Werror" | Set `pkg.cflags` variable with `-DNDEBUG -Werror` in the `myble` target's `pkg.yml` file..
+set           | newt target set myble syscfg=LOG_NEWTMGR=0:CONFIG_NEWTMGR | Sets the `syscfg.vals` variable in the `myble` target's `syscfg.yml` file with the setting values: LOG_NEWTMGR: 0 and CONFIG_NEWTMGR: 1. CONFIG_NEWTMGR is set to 1 because a value is not specified.
+set           | newt target set myble cflags= | Unsets the `pkg.cflags` variable in the `myble` target's `pkg.yml` file.
+show          | newt target show myble | Shows all variable settings for the `myble` target, i.e. the values that app, bsp, build_profile, cflags, aflags, ldflags, syscfg variables are set to. Note that not all variables have to be set for a target.  
+show          | newt target show | Shows all the variable settings for all the targets defined for the project. 
+
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_test.md b/versions/v1_2_0/docs/newt/command_list/newt_test.md
new file mode 100644
index 0000000..27afdba
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_test.md
@@ -0,0 +1,43 @@
+## <font color="#F2853F" style="font-size:24pt">newt test </font>
+
+Execute unit tests for one or more packages.  
+
+#### Usage: 
+
+```no-highlight
+    newt test <package-name> [package-names...]  | all [flags]
+```
+
+#### Flags:
+```no-highlight
+   -e, --exclude string   Comma separated list of packages to exclude
+
+```
+
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+
+#### Description
+Executes unit tests for one or more packages.  You specify a list of packages, separated by space, to test multiple packages in the same command, or specify `all` to test all packages. When you use the `all` option,  you may use the `-e` flag followed by a comma separated list of packages to exclude from the test.
+
+#### Examples
+
+ Sub-command  | Usage                  | Explanation 
+-------------| -----------------------|-----------------
+    | newt test <br>@apache-mynewt-core/kernel/os | Tests the `kernel/os` package in the `apache-mynewt-core` repository.
+    | newt test kernel/os encoding/json | Tests the `kernel/os` and `encoding/json` packages in the current repository. 
+    | newt test all | Tests all packages.
+    | newt test all -e net/oic,encoding/json | Tests all packages except for the `net/oic` and the `encoding/json` packages.
+
+
+    
+
+
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_upgrade.md b/versions/v1_2_0/docs/newt/command_list/newt_upgrade.md
new file mode 100644
index 0000000..0e9f731
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_upgrade.md
@@ -0,0 +1,25 @@
+## <font color="#F2853F" style="font-size:24pt">newt upgrade </font>
+
+Upgrade project dependencies.
+
+#### Usage: 
+```no-highlight
+    newt upgrade [flags] 
+```    
+    
+#### Flags:
+```no-highlight 
+    -f, --force   Force upgrade of the repositories to latest state in project.yml
+```
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+Upagrades your project and package dependencies. If you have changed the project.yml description for the project, you need to run this command to update all the package dependencies.  
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_vals.md b/versions/v1_2_0/docs/newt/command_list/newt_vals.md
new file mode 100644
index 0000000..7931cd7
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_vals.md
@@ -0,0 +1,63 @@
+## <font color="#F2853F" style="font-size:24pt">newt vals </font>
+
+Display valid values for the specified element type(s).
+
+
+#### Usage: 
+
+```no-highlight
+  newt vals <element-type> [element-types...] [flags]
+```
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+#### Description
+
+Displays valid values for the specified element type(s). You must set valid values for one or more elements when you define a package or a target. Valid element types are:
+
+* api
+* app
+* bsp
+* build_profile
+* compiler
+* lib
+* sdk
+* target
+
+#### Examples
+
+ Sub-command | Usage               | Explanation 
+-------------| --------------------|----------------- 
+             | newt vals api | Shows the possible values for APIs a package may specify as required. For example, the `pkg.yml` for `adc` specifies that it requires the api named `ADC_HW_IMPL`, one of the values listed by the command.
+
+#### Example output for `newt vals bsp`:
+
+This lists all possible values that may be assigned to a target's bsp attribute.
+
+```no-highlight
+$ newt vals bsp
+bsp names:
+    @apache-mynewt-core/hw/bsp/arduino_primo_nrf52
+    @apache-mynewt-core/hw/bsp/bmd300eval
+    @apache-mynewt-core/hw/bsp/ci40
+    @apache-mynewt-core/hw/bsp/frdm-k64f
+    @apache-mynewt-core/hw/bsp/native
+    @apache-mynewt-core/hw/bsp/nrf51-arduino_101
+    @apache-mynewt-core/hw/bsp/nrf51-blenano
+    @apache-mynewt-core/hw/bsp/nrf51dk
+    @apache-mynewt-core/hw/bsp/nrf51dk-16kbram
+    @apache-mynewt-core/hw/bsp/nrf52dk
+    @apache-mynewt-core/hw/bsp/nucleo-f401re
+    @apache-mynewt-core/hw/bsp/olimex_stm32-e407_devboard
+    @apache-mynewt-core/hw/bsp/rb-nano2
+    @apache-mynewt-core/hw/bsp/stm32f4discovery
+$ newt target set sample_target bsp=@apache-mynewt-core/hw/bsp/rb-nano2
+```
+Obviously, this output will grow as more board support packages are added for new boards and MCUs.
diff --git a/versions/v1_2_0/docs/newt/command_list/newt_version.md b/versions/v1_2_0/docs/newt/command_list/newt_version.md
new file mode 100644
index 0000000..f28ac42
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/command_list/newt_version.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">newt version </font>
+
+Display the version of the newt tool you have installed
+
+#### Usage:
+
+```no-highlight
+    newt version [flags]
+```
+    
+#### Global Flags:
+```no-highlight
+    -h, --help              Help for newt commands
+    -j, --jobs int          Number of concurrent build jobs (default 8)
+    -l, --loglevel string   Log level (default "WARN")
+    -o, --outfile string    Filename to tee output to
+    -q, --quiet             Be quiet; only display error output
+    -s, --silent            Be silent; don't output anything
+    -v, --verbose           Enable verbose output when executing commands
+```
+    
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+        | newt version | Displays the version of the newt tool you have installed
+
+
diff --git a/versions/v1_2_0/docs/newt/install/newt_linux.md b/versions/v1_2_0/docs/newt/install/newt_linux.md
new file mode 100644
index 0000000..2578cf3
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/install/newt_linux.md
@@ -0,0 +1,216 @@
+## Installing Newt on Linux
+
+You can install the latest release (1.2.0) of the newt tool from a Debian binary package (amd64). You can also download and build the latest release version of newt from source.
+
+This page shows you how to:
+
+1. Set up your computer to download Debian binary packages from the runtimeco APT repository.
+
+    **Note:** The key for signing the repository has changed. If you set up your computer before release 1.1.0, you will need to download and import the public key again.
+
+2. Install the latest release version of newt from a Debian binary package. You can use apt-get to install the package or manually download and install the Debian binary package.
+
+3. Download, build, and install the latest release version of newt from source.
+
+If you are installing on an amd64 platform, we recommend that you install from the binary package.
+
+See [Installing Previous Releases of Newt](/newt/install/prev_releases.md) to install an earlier version of newt.
+
+**Note:**  We have tested the newt tool binary and apt-get install from the runtimeco APT repository for Ubuntu version 16.  Earlier Ubuntu versions (for example: Ubuntu 14) may have incompatibility with the repository. You can manually download and install the Debian binary package.
+
+**Note:** See [Setting Up a Go Environment to Contribute to Newt and Newtmgr Tools](/faq/go_env) if you want to:
+
+* Use the newt tool with the latest updates from the master branch. The master branch may be unstable and we recommend that you use the latest stable release version.
+* Contribute to the newt tool.
+
+<br>
+### Setting Up Your Computer to use apt-get to Install the Package
+
+The newt Debian packages are stored in a private APT repository on **https://github/runtimeco/debian-mynewt**.   To use apt-get, you must set up the following on your computer to retrieve packages from the repository:
+
+**Note**: You only need to perform this setup once on your computer. However, if you previously downloaded and imported the public key for the runtimeco APT repository, you will need to perform step 2 again as the key has changed.
+
+
+1. Install the `apt-transport-https` package to use HTTPS to retrieve packages. 
+2. Download the public key for the runtimeco APT repository and import the key into the apt keychain.
+3. Add the repository for the binary and source packages to the apt source list.
+
+
+<br>
+Install the apt-transport-https package:
+```no-highlight
+$ sudo apt-get update
+$ sudo apt-get install apt-transport-https
+```
+<br>
+
+
+Download the public key for the runtimeco apt repo (**Note:** There is  a `-` after  `apt-key add`):
+
+```no-highlight
+$ wget -qO - https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/mynewt.gpg.key | sudo apt-key add -
+```
+<br>
+
+Add the repository for the binary and source packages to the `mynewt.list` apt source list file:
+
+```no-highlight
+$ sudo tee /etc/apt/sources.list.d/mynewt.list <<EOF
+deb https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest main
+EOF
+```
+
+<br>
+Update the available packages: 
+```no-highlight
+$ sudo apt-get update
+```
+<br>
+**Note:** If you are not using Ubuntu version 16, you may see the following errors.  We have provided instructions on how to manually download and install the binary package.
+
+```no-highlight
+
+W: Failed to fetch https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/dists/latest/main/source/Sources  HttpError404
+
+```
+<br>
+## Installing the Latest Release of Newt from a Binary Package
+
+You can use either apt-get to install the package, or manually download and install the Debian binary package.
+
+<br>
+#### Method 1: Using apt-get to Upgrade or to Install
+
+Run the following commands to upgrade or install the latest version of newt:
+
+```no-highlight
+$ sudo apt-get update 
+$ sudo apt-get install newt
+```
+
+**Note:** If you encounter build errors (such as missing `sys/mman.h`), please make sure you have a 32-bit glibc:
+
+```no-highlight
+$ sudo apt-get install gcc-multilib
+```
+
+<br>
+#### Method 2: Downloading and Installing the Debian Package Manually
+
+Download and install the package manually.
+
+```no-highlight
+$wget https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.2.0/newt_1.2.0-1_amd64.deb
+$sudo dpkg -i newt_1.2.0-1_amd64.deb
+```
+<br>
+See [Checking the Installed Version of Newt](#check) to verify that you are using the installed version of newt.
+
+<br>
+### Installing the Latest Release of Newt from a Source Package 
+
+If you are running Linux on a different architecture, you can build and install the latest release version of newt from source.
+
+<br>
+1.  You need Go version 1.7.6 or higher to build Newt.  Currently, the latest Go version that Ubuntu installs is 1.6.  Run `go version` to check if you have Go 1.7.6 installed. You can download Go from [https://golang.org/dl/](https://golang.org/dl/).
+
+<br>
+2. Download and unpack the newt source:
+
+```no-highlight
+$ wget -P /tmp https://github.com/apache/mynewt-newt/archive/mynewt_1_2_0_tag.tar.gz
+$ tar -xzf /tmp/mynewt_1_2_0_tag.tar.gz
+```
+
+<br>
+3. Run the build.sh to build the newt tool.
+
+```no-highlight
+
+$ cd mynewt-newt-mynewt_1_2_0_tag
+$ ./build.sh
+$ rm /tmp/mynewt_1_2_0_tag.tar.gz
+```
+
+<br>
+4. You should see the `newt/newt` executable. Move the executable to a bin directory in your PATH:
+
+* If you previously built newt from the master branch, you can move the binary to your $GOPATH/bin directory.
+  
+        $ mv newt/newt $GOPATH/bin
+
+* If you are installing newt for the first time and do not have a Go workspace set up, you can move the binary to /usr/bin or a directory in your PATH:
+
+        $ mv newt/newt /usr/bin
+
+
+<br>
+###<a name="check"></a> Checking the Installed Version of Newt
+
+<br>
+1. Check which newt you are using and that the version is the latest release version.
+
+```no-highlight
+$ which newt
+/usr/bin/newt
+$ newt version
+Apache Newt version: 1.2.0
+```
+
+<br>
+2. Get information about newt:
+```no-highlight
+$ newt
+Newt allows you to create your own embedded application based on the Mynewt 
+operating system. Newt provides both build and package management in a single 
+tool, which allows you to compose an embedded application, and set of 
+projects, and then build the necessary artifacts from those projects. For more 
+information on the Mynewt operating system, please visit 
+https://mynewt.apache.org/. 
+
+Please use the newt help command, and specify the name of the command you want 
+help for, for help on how to use a specific command
+
+Usage:
+  newt [flags]
+  newt [command]
+
+Examples:
+  newt
+  newt help [<command-name>]
+    For help on <command-name>.  If not specified, print this message.
+
+Available Commands:
+  build        Build one or more targets
+  clean        Delete build artifacts for one or more targets
+  create-image Add image header to target binary
+  debug        Open debugger session to target
+  info         Show project info
+  install      Install project dependencies
+  load         Load built target to board
+  mfg          Manufacturing flash image commands
+  new          Create a new project
+  pkg          Create and manage packages in the current workspace
+  resign-image Re-sign an image.
+  run          build/create-image/download/debug <target>
+  size         Size of target components
+  sync         Synchronize project dependencies
+  target       Commands to create, delete, configure, and query targets
+  test         Executes unit tests for one or more packages
+  upgrade      Upgrade project dependencies
+  vals         Display valid values for the specified element type(s)
+  version      Display the Newt version number
+
+Flags:
+  -h, --help              Help for newt commands
+  -j, --jobs int          Number of concurrent build jobs (default 8)
+  -l, --loglevel string   Log level (default "WARN")
+  -o, --outfile string    Filename to tee output to
+  -q, --quiet             Be quiet; only display error output
+  -s, --silent            Be silent; don't output anything
+  -v, --verbose           Enable verbose output when executing commands
+
+Use "newt [command] --help" for more information about a command.
+
+```
+<br>
diff --git a/versions/v1_2_0/docs/newt/install/newt_mac.md b/versions/v1_2_0/docs/newt/install/newt_mac.md
new file mode 100644
index 0000000..35074ad
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/install/newt_mac.md
@@ -0,0 +1,162 @@
+## Installing Newt on Mac OS
+
+Newt is supported on Mac OS X 64 bit platforms and has been tested on Mac OS Sierra.
+
+This page shows you how to install the following versions of newt:
+
+* Upgrade to or install the latest release version (1.2.0).
+* Install the latest from the master branch (unstable).
+
+See [Installing Previous Releases of Newt](/newt/install/prev_releases) to install an earlier version of newt.
+
+**Note:** If you would like to contribute to the newt tool, see [Setting Up Go Environment to Contribute to Newt and Newtmgr Tools](/faq/go_env).
+
+### Installing Homebrew 
+
+If you do not have Homebrew installed, run the following command. You will be prompted for your sudo password.
+
+```no-highlight
+$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
+```
+You can also extract (or `git clone`) Homebrew and install it to /usr/local.
+
+### Adding the Mynewt Homebrew Tap
+
+If this is your first time installing newt, add the  **runtimeco/homebrew-mynewt** tap:
+
+```no-highlight
+
+$ brew tap runtimeco/homebrew-mynewt
+$ brew update
+
+```
+
+### Upgrading to or Installing the Latest Release Version
+
+Perform the following to upgrade or install the latest release version of newt.
+
+#### Upgrading to the Latest Release Version of Newt
+
+If you have installed an earlier version of newt using brew, run the following commands to upgrade to latest version of newt:
+
+```no-highlight
+
+$ brew update
+$ brew upgrade mynewt-newt
+
+```
+
+<br>
+#### Installing the Latest Release Version of Newt
+
+Run the following command to install the latest release version of newt:
+
+```no-highlight
+
+$ brew update
+$ brew install mynewt-newt
+```
+<br>
+**Notes:** Homebrew bottles for newt are available for Mac OS Sierra.  If you are running an earlier version of Mac OS, the installation will install the latest version of Go and compile newt locally.
+
+<br>
+### Checking the Installed Version
+
+Check that you are using the installed version of newt:
+
+```no-highlight
+
+$which newt
+/usr/local/bin/newt
+$newt version
+Apache Newt version: 1.2.0
+
+```
+**Note:** If you previously built newt from source and the output of `which newt` shows "$GOPATH/bin/newt", you will need to move "$GOPATH/bin"  after "/usr/local/bin" for your PATH in  ~/.bash_profile, and source ~/.bash_profile.  
+
+<br>
+Get information about newt: 
+
+```no-highlight
+
+$ newt help
+Newt allows you to create your own embedded application based on the Mynewt 
+operating system. Newt provides both build and package management in a single 
+tool, which allows you to compose an embedded application, and set of 
+projects, and then build the necessary artifacts from those projects. For more 
+information on the Mynewt operating system, please visit 
+https://mynewt.apache.org/. 
+
+Please use the newt help command, and specify the name of the command you want 
+help for, for help on how to use a specific command
+
+Usage:
+  newt [flags]
+  newt [command]
+
+Examples:
+  newt
+  newt help [<command-name>]
+    For help on <command-name>.  If not specified, print this message.
+
+Available Commands:
+  build        Build one or more targets
+  clean        Delete build artifacts for one or more targets
+  create-image Add image header to target binary
+  debug        Open debugger session to target
+  info         Show project info
+  install      Install project dependencies
+  load         Load built target to board
+  mfg          Manufacturing flash image commands
+  new          Create a new project
+  pkg          Create and manage packages in the current workspace
+  resign-image Re-sign an image.
+  run          build/create-image/download/debug <target>
+  size         Size of target components
+  sync         Synchronize project dependencies
+  target       Commands to create, delete, configure, and query targets
+  test         Executes unit tests for one or more packages
+  upgrade      Upgrade project dependencies
+  vals         Display valid values for the specified element type(s)
+  version      Display the Newt version number
+
+Flags:
+  -h, --help              Help for newt commands
+  -j, --jobs int          Number of concurrent build jobs (default 8)
+  -l, --loglevel string   Log level (default "WARN")
+  -o, --outfile string    Filename to tee output to
+  -q, --quiet             Be quiet; only display error output
+  -s, --silent            Be silent; don't output anything
+  -v, --verbose           Enable verbose output when executing commands
+
+Use "newt [command] --help" for more information about a command.
+
+```
+
+<br>
+### Installing Newt from the Master Branch 
+
+We recommend that you use the latest release version of newt. If you would like to use the master branch with the latest updates, you can install newt from the HEAD of the master branch. 
+
+** Notes: **
+
+* The master branch may be unstable.
+* This installation will install the latest version of Go on your computer, if it is not installed, and compile newt locally. 
+
+
+<br>
+If you previously installed newt using brew, unlink the current version:
+```no-highlight
+$brew unlink mynewt-newt
+```
+<br>
+Install the latest unstable version of newt from the master branch:
+```no-highlight
+$ brew install mynewt-newt --HEAD
+```
+<br>
+To switch back to the latest stable release version of newt, you can run:
+```no-highlight
+$brew switch mynewt-newt 1.2.0
+```
+<br>
diff --git a/versions/v1_2_0/docs/newt/install/newt_windows.md b/versions/v1_2_0/docs/newt/install/newt_windows.md
new file mode 100644
index 0000000..66724f9
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/install/newt_windows.md
@@ -0,0 +1,201 @@
+## Installing Newt on Windows
+
+You can develop and build Mynewt OS applications for your target boards on the Windows platform.  This guide shows you how to install the latest release version of newt from binary or from source.  The tool is written in Go (golang).
+  
+In Windows, we use MinGW as the development environment to build and run Mynewt OS applications for target boards. MinGW runs the bash shell and provides a Unix-like environment. This provides a uniform way to build Mynewt OS applications. The Mynewt documentation and tutorials use Unix commands and you can use the same Unix commands on MinGW to follow the tutorials. The documentation will note any commands or behaviors that are specific to Windows.
+
+This guide shows you how to perform the following:
+
+1. Install MSYS2/MinGW. 
+2. Install Git.
+3. Install latest release (1.2.0) of newt from binary.
+4. Install latest release of newt from source.
+
+See [Installing Previous Releases of Newt](/newt/install/prev_releases) to install an earlier version of newt. You still need to set up your MinGW development environment.
+
+**Note:** If you would like to contribute to the newt tool, see [Setting Up Go Environment to Contribute to Newt and Newtmgr Tools](/faq/go_env.md).
+
+<br>
+### Installing MSYS2/MinGW
+MSYS2/MinGW provides a bash shell and tools to build applications that run on Windows. It includes three subsystems:
+
+* MSYS2 toolchain to build POSIX applications that run on Windows. 
+* MinGW32 toolchains to build 32 bit native Windows applications.  
+* MinGW64 toolchains to build 64 bit native Windows applications.  
+
+The subsystems run the bash shell and provide a Unix-like environment. You can also run Windows applications from the shell. We will use the MinGW subsystem.
+
+**Note:** You can skip this installation step if you already have MinGW installed (from an earlier MSYS2/MinGW or Git Bash installation), but you must list the **bin** path for your installation in your Windows Path. For example: if you installed MSYS2/MinGW in the ** C:\msys64 ** directory,  add **C:\msys64\usr\bin** to your Windows Path. If you are using Windows 10 WSL, ensure that you use the **C:\msys64\usr\bin\bash.exe** and not the Windows 10 WSL bash.
+
+
+To install and setup MSYS2 and MinGW:
+
+1. Download and run the [MSYS2 installer](http://www.msys2.org).  Select the 64 bit version if you are running on a 64 bit platform. Follow the prompts and check the `Run MSYS2 now` checkbox on the `Installation Complete` dialog. 
+2. In the MSYS2 terminal, run the `pacman -Syuu` command. If you get a message to run the update again, close the terminal and run the `pacman -Syuu` command in a new terminal. 
+	
+	To start a new MSYS2 terminal, select the "MSYS2 MSYS" application from the Windows start menu.
+
+3. Add a new user variable named **MSYS2_PATH_TYPE** and set the value to **inherit** in your Windows environment. This enables the MSYS2 and MinGW bash to inherit your Windows user **Path** values. 
+	
+	To add the variable,  select properties for your computer > Advanced system settings > Environment Variables > New
+
+4. Add the MinGW **bin** path to your Windows Path. For example: if you install MSYS2/MinGW in the **C:\msys64** directory,  add **C:\msys64\usr\bin** to your Windows Path. 
+
+	**Note:** If you are using Windows 10 WSL,  ensure that you use the **C:\msys64\usr\bin\bash.exe** and not the Windows 10 WSL bash.
+
+
+5. Run the `pacman -Su vim` command to install the vim editor. 
+	
+	**Note:**You can also use a Windows editor. You can access your files from the **C:\&lt;msys-install-folder&gt;\home\&lt;username&gt;** folder, where **msys-install-folder** is the folder you installed MSYS2 in. For example, if you installed MSYS2 in the **msys64** folder, your files are stored in **C:\msys64\home\&lt;username&gt;**
+
+6. Run the  `pacman -Su tar` command to install the tar tool. 
+
+You will need to start a MinGW terminal to run the commands specified in the Mynewt documentation and  tutorials.  To start a MinGW terminal, select the "MSYS2 Mingw" application from the start Menu (you can use either MinGW32 or MinGW64). 
+In Windows, we use the MinGW subsystem to build  Mynewt tools and applications.  
+
+### Installing Git for Windows
+
+Download and install [Git for Windows](https://git-for-windows.github.io) if it is not already installed.
+
+
+### Installing the Latest Release of the Newt Tool from Binary
+
+You can install the latest release of newt from binary. It has been tested on Windows 10 64 bit platform. 
+
+<br>
+1. Start a MinGW terminal.
+
+<br>
+2. Download the newt binary tar file:
+
+```no-highlight
+
+$ wget -P /tmp https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.2.0/newt_1_2_0_windows_amd64.tar.gz
+
+```
+<br>
+3. Extract the file:
+
+* If you previously built newt from the master branch, you can extract the file into your $GOPATH/bin directory. Note: This overwrites the current newt.exe in the directory and assumes that you are using $GOPATH/bin for your Go applications.
+
+         tar -xzf /tmp/newt_1_2_0_windows_amd64.tar.gz -C $GOPATH/bin
+
+* If you are installing newt for the first time and do not have a Go workspace setup, you can extract into /usr/bin directory:
+
+         tar -xzf /tmp/newt_1_2_0_windows_amd64.tar.gz -C /usr/bin
+
+
+<br>
+4. Verify the installed version of newt. See [Checking the Installed Version](#check_newt).
+
+<br>
+### Installing the Latest Release of Newt From Source 
+
+If you have an older version of Windows or a 32 bit platform, you can build and install the latest release version of newt from source.
+
+<br>
+1.  If you do not have Go installed, download and install the latest version of [Go](https://golang.org/dl/). Newt requires Go version 1.7.6 or higher.
+
+<br>
+2. Start a MinGw terminal.
+
+<br>
+3. Download and unpack the newt source:
+
+```no-highlight
+
+$ wget -P /tmp https://github.com/apache/mynewt-newt/archive/mynewt_1_2_0_tag.tar.gz
+$ tar -xzf /tmp/mynewt_1_2_0_tag.tar.gz
+```
+
+<br>
+4. Run the build.sh to build the newt tool.
+
+```no-highlight
+
+$ cd mynewt-newt-mynewt_1_2_0_tag	
+$ ./build.sh
+$ rm /tmp/mynewt_1_2_0_tag.tar.gz
+```
+
+<br>
+5. You should see the `newt/newt.exe` executable. Move the executable to a bin directory in your PATH:
+
+* If you previously built newt from the master branch, you can move the executable to the $GOPATH/bin directory.
+   
+        $ mv newt/newt.exe $GOPATH/bin
+
+* If you are installing newt for the first time and do not have a Go workspace set up, you can move the executable to /usr/bin or a directory in your PATH:
+
+        $ mv newt/newt.exe /usr/bin
+
+<br>
+### <a name="check_newt"></a>Checking the Installed Version
+
+<br>
+1. Check the version of newt:
+
+```no-highlight 
+
+$ newt version
+Apache Newt version: 1.2.0
+
+```
+
+<br>
+2. Get information about newt:
+
+```no-highlight
+
+Newt allows you to create your own embedded application based on the Mynewt 
+operating system. Newt provides both build and package management in a single 
+tool, which allows you to compose an embedded application, and set of 
+projects, and then build the necessary artifacts from those projects. For more 
+information on the Mynewt operating system, please visit 
+https://mynewt.apache.org/. 
+
+Please use the newt help command, and specify the name of the command you want 
+help for, for help on how to use a specific command
+
+Usage:
+  newt [flags]
+  newt [command]
+
+Examples:
+  newt
+  newt help [<command-name>]
+    For help on <command-name>.  If not specified, print this message.
+
+Available Commands:
+  build        Build one or more targets
+  clean        Delete build artifacts for one or more targets
+  create-image Add image header to target binary
+  debug        Open debugger session to target
+  info         Show project info
+  install      Install project dependencies
+  load         Load built target to board
+  mfg          Manufacturing flash image commands
+  new          Create a new project
+  pkg          Create and manage packages in the current workspace
+  resign-image Re-sign an image.
+  run          build/create-image/download/debug <target>
+  size         Size of target components
+  sync         Synchronize project dependencies
+  target       Commands to create, delete, configure, and query targets
+  test         Executes unit tests for one or more packages
+  upgrade      Upgrade project dependencies
+  vals         Display valid values for the specified element type(s)
+  version      Display the Newt version number
+
+Flags:
+  -h, --help              Help for newt commands
+  -j, --jobs int          Number of concurrent build jobs (default 8)
+  -l, --loglevel string   Log level (default "WARN")
+  -o, --outfile string    Filename to tee output to
+  -q, --quiet             Be quiet; only display error output
+  -s, --silent            Be silent; don't output anything
+  -v, --verbose           Enable verbose output when executing commands
+
+Use "newt [command] --help" for more information about a command.
+
+```
diff --git a/versions/v1_2_0/docs/newt/install/prev_releases.md b/versions/v1_2_0/docs/newt/install/prev_releases.md
new file mode 100644
index 0000000..6d079df
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/install/prev_releases.md
@@ -0,0 +1,79 @@
+## Installing Previous Releases of Newt
+
+This page shows you how to install previous releases of newt for Mac OS, Linux, and Windows.
+
+
+### Mac OS
+You can install previous releases of newt using `mynewt-newt@X.Y` Homebrew formulas, where X.Y is a version number.  
+
+For example, if you want to install newt 1.0, run the following commands:
+ 
+```no-highlight
+
+$ brew update
+$ brew install mynewt-newt@1.0
+
+```
+
+**Note:** This is a keg-only installation. newt 1.0 is installed in /usr/local/Cellar/mynewt-newt@1.0/1.0.0/bin but not symlinked into /usr/local/bin.
+
+If you need this version of newt first in your PATH, run the following commands:
+
+```no-highlight
+
+$ echo 'export PATH=/usr/local/Cellar/mynewt-newt@1.0/1.0.0/bin:$PATH' >> ~/.bash_profile
+$ source ~/.bash_profile
+
+```
+
+<br>
+You can also manually symlink into /usr/local/bin as follows:
+
+<br>
+1. Unlink newt if you have the latest version of newt installed:
+
+```no-highlight
+$ brew unlink mynewt-newt
+```
+<br>
+2. Link mynewt-newt@1.0 into /usr/local/bin:
+
+```no-highlight
+$ brew link -f mynewt-newt@1.0
+```
+
+<br>
+### Linux
+<br>
+1. Download the binary:
+
+Version|Download
+-------|--------
+1.0.0  |[newt_1.0.0-1_amd64.deb](https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.0.0/newt_1.0.0-1_amd64.deb)
+1.1.0  |[newt_1.1.0-1_amd64.deb](https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.1.0/newt_1.1.0-1_amd64.deb)
+
+<br>
+2. Run the `sudo apt-get remove newt` command to remove the the current installation.
+
+<br>
+3. Install the package. For example, run `sudo dpkg -i newt_1.0.0-1_amd64.deb` to install newt 1.0.0
+
+<br>
+### Windows
+<br>
+1. Download the binary:
+
+Version|Download
+-------|--------
+1.1.0  |[newt_1_1_0_windows_amd64.tar.gz](https://raw.githubusercontent.com/runtimeco/binary-releases/master/mynewt-newt-tools_1.1.0/newt_1_1_0_windows_amd64.tar.gz)
+
+<br>
+2. Extract the file:
+
+* If you previously built newt from the master branch, you can extract the file into your $GOPATH/bin directory. Note: This overwrites the current newt.exe in the directory and assumes that you are using $GOPATH/bin for your Go applications.
+
+        tar -xzf newt_1_1_0_windows_amd64.tar.gz -C $GOPATH/bin
+
+* If you are installing newt for the first time and do not have a Go workspace setup, you can extract into /usr/bin directory:
+
+        tar -xzf newt_1_1_0_windows_amd64.tar.gz -C /usr/bin
diff --git a/versions/v1_2_0/docs/newt/newt_intro.md b/versions/v1_2_0/docs/newt/newt_intro.md
new file mode 100644
index 0000000..6812478
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/newt_intro.md
@@ -0,0 +1,202 @@
+## Newt Tool
+
+### Introduction
+
+Newt is a smart build and package management system for embedded contexts.  It is a single tool that accomplishes both the following goals:
+
+* source package management 
+* build, debug and install.
+
+### Rationale
+
+In order for the Mynewt operating system to work well for constrained environments across the many different types of microcontroller applications (from doorbells to medical devices to power grids), a system is needed that lets you select which packages to install and which packages to build.
+
+The build systems for embedded devices are often fairly complicated and not well served for this purpose.  For example, autoconf is designed for detecting system compatibility issues but not well suited when it comes to tasks like:
+
+* Building for multiple targets
+* Deciding what to build in and what not to build in
+* Managing dependencies between components
+
+Fortunately, solutions addressing these very issues can be found in source package management systems in higher level languages such as Javascript 
+(Node), Go, PHP and Ruby.  We decided to fuse their source management 
+systems with a make system built for embedded systems and create Newt.
+
+### Build System
+
+A good build system must allow the user to take a few common steps while developing embedded applications:
+
+* Generate full flash images
+* Download debug images to a target board using a debugger
+* Conditionally compile libraries & code based upon build settings
+
+Newt can read a directory tree, build a dependency tree, and emit the right build artifacts.  An example newt source tree is in mynewt-blinky/develop:
+
+```hl_lines="7 12"
+$ tree -L 3 
+.
+├── DISCLAIMER
+├── LICENSE
+├── NOTICE
+├── README.md
+├── apps
+│   └── blinky
+│       ├── pkg.yml
+│       └── src
+├── project.yml
+└── targets
+     ├── my_blinky_sim
+     │   ├── pkg.yml
+     │   └── target.yml
+     └── unittest
+         ├── pkg.yml
+         └── target.yml
+
+6 directories, 10 files
+```
+
+<br>
+
+When Newt sees a directory tree that contains a "project.yml" file, it is smart enough to recognize it as the base directory of a project, and 
+automatically builds a package tree. It also recognizes two important package directories in the package tree - "apps" and "targets". More on these directories in [Newt Theory of Ops](newt_operation.md).
+
+
+When Newt builds a target, it recursively resolves all package dependencies, and generates artifacts that are placed in the bin/targets/&lt;target-name&gt;/app/apps/&lt;app-name&gt; directory, where the bin directory is under the project base directory, `target-name` is the name of the target, and `app-name` is the name of the application. For our example `my_blinky_sim` is the name of the target and `blinky` is the name of the application. The `blinky.elf` executable is stored in the bi [...]
+
+```
+tree -L 6 bin/
+bin/
+└── targets
+    ├── my_blinky_sim
+    │   ├── app
+    │   │   ├── apps
+    │   │   │   └── blinky
+    │   │   │       ├── apps
+    │   │   │       ├── apps_blinky.a
+    │   │   │       ├── apps_blinky.a.cmd
+    │   │   │       ├── blinky.elf
+    │   │   │       ├── blinky.elf.cmd
+    │   │   │       ├── blinky.elf.dSYM
+    │   │   │       ├── blinky.elf.lst
+    │   │   │       └── manifest.json
+    │   │   ├── hw
+    │   │   │   ├── bsp
+    │   │   │   │   └── native
+    │   │   │   ├── drivers
+    │   │   │   │   └── uart
+    │   │   │   ├── hal
+    │   │   │   │   ├── hw_hal.a
+    │   │   │   │   ├── hw_hal.a.cmd
+    │   │   │   │   └── repos
+
+<snip>
+```
+
+<br>
+
+### More operations using Newt
+
+Once a target has been built, Newt allows additional operations on the target.  
+
+* **load**: Download built target to board
+* **debug**: Open debugger session to target
+* **size**: Get size of target components
+* **create-image**: Add image header to the binary image
+* **run**: Build, create image, load, and finally open a debug session with the target
+* **target**: Create, delete, configure, and query a target
+
+For more details on how Newt works, go to [Newt - Theory of Operations](newt_operation.md).
+
+<br>
+
+### Source Management and Repositories
+
+The other major element of the Newt tool is the ability to create reusable source distributions from a collection of code. **A project can be a reusable container of source code.** In other words, projects can be versioned and redistributed, not packages. A project bundles together packages that are typically needed to work together in a product e.g. RTOS core, filesystem APIs, and networking stack.
+
+A project that has been made redistributable is known as a **repository**. 
+Repositories can be added to your local project by adding them into your project.yml file.  Here is an example of the blinky project's yml file which relies on apache-mynewt-core:
+
+```
+$ more project.yml
+<snip>
+project.repositories:
+     - apache-mynewt-core
+     
+# Use github's distribution mechanism for core ASF libraries.
+# This provides mirroring automatically for us.
+#
+repository.apache-mynewt-core:
+     type: github
+     vers: 1-latest
+     user: apache
+     repo: incubator-mynewt-core
+```
+
+<br>
+
+When you specify this repository in the blinky's project file, you can then use the Newt tool to install dependencies:
+
+```
+$ newt install
+Downloading repository description for apache-mynewt-core... success!
+Downloading repository incubator-mynewt-core (branch: develop) at 
+https://github.com/apache/incubator-mynewt-core.git
+Cloning into 
+'/var/folders/7l/7b3w9m4n2mg3sqmgw2q1b9p80000gn/T/newt-repo814721459'...
+remote: Counting objects: 17601, done.
+remote: Compressing objects: 100% (300/300), done.
+remote: Total 17601 (delta 142), reused 0 (delta 0), pack-reused 17284
+Receiving objects: 100% (17601/17601), 6.09 MiB | 3.17 MiB/s, done.
+Resolving deltas: 100% (10347/10347), done.
+Checking connectivity... done.
+Repos successfully installed
+```
+
+<br>
+
+Newt will install this repository in the <project>/repos directory.  In the case of blinky, the directory structure ends up looking like:
+
+```
+$ tree -L 2
+.
+├── DISCLAIMER
+├── LICENSE
+├── NOTICE
+├── README.md
+├── apps
+│   └── blinky
+├── project.state
+├── project.yml
+├── repos
+│   └── apache-mynewt-core
+└── targets
+     ├── my_blinky_sim
+     └── unittest
+```
+
+<br>
+
+In order to reference the installed repositories in packages, the "@" notation should be specified in the repository specifier.  As an example, the apps/blinky application has the following dependencies in its pkg.yml file. This tells the build system to look in the base directory of repos/apache-mynewt-core for the `kernel/os`, `hw/hal`, and `sys/console/full` packages.
+
+```
+$ more apps/blinky/pkg.yml
+<snip>
+pkg.deps:
+     - "@apache-mynewt-core/kernel/os"
+     - "@apache-mynewt-core/hw/hal"
+     - "@apache-mynewt-core/sys/console/full"
+```
+
+<br>
+
+
+
+Newt has the ability to autocomplete within `bash`.  The following instructions allow MAC users to enable autocomplete within `bash`.
+
+1. Install the autocomplete tools for bash via `brew install bash-completion`
+2. Tell your shell to use newt for autocompletion of newt via `complete -C "newt complete" newt`.  You can add this to your .bashrc or other init file to have it automatically set for all bash shells.
+
+Notes:
+
+1. Autocomplete will give you flag hints, but only if you type a '-'.  
+2. Autocomplete will not give you completion hints for the flag arguments (those optional things after the flag like `-l DEBUG`)
+3. Autocomplete uses newt to parse the project to find targets and libs.
diff --git a/versions/v1_2_0/docs/newt/newt_operation.md b/versions/v1_2_0/docs/newt/newt_operation.md
new file mode 100644
index 0000000..aa5613d
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/newt_operation.md
@@ -0,0 +1,306 @@
+## Newt Tool - Theory of Operations
+
+Newt has a fairly smart package manager that can read a directory tree, build a dependency tree, and emit the right build artifacts.
+
+### Building dependencies
+
+Newt can read a directory tree, build a dependency tree, and emit the right build artifacts.  An example newt source tree is in mynewt-blinky/develop:
+
+```hl_lines="7 12"
+$ tree -L 3 
+.
+├── DISCLAIMER
+├── LICENSE
+├── NOTICE
+├── README.md
+├── apps
+│   └── blinky
+│       ├── pkg.yml
+│       └── src
+├── project.yml
+└── targets
+     ├── my_blinky_sim
+     │   ├── pkg.yml
+     │   └── target.yml
+     └── unittest
+         ├── pkg.yml
+         └── target.yml
+
+6 directories, 10 files
+```
+
+<br>
+
+When newt sees a directory tree that contains a "project.yml" file it knows that it is in the base directory of a project, and automatically builds a package tree. You can see that there are two essential package directories, "apps" and "targets." 
+
+<br>
+
+#### "apps" Package Directory
+
+`apps` is where applications are stored, and applications are where the main() function is contained.  The base project directory comes with one simple app called `blinky` in the `apps` directory. The core repository `@apache-mynewt-core` comes with many additional sample apps in its `apps` directory. At the time of this writing, there are several example BLE apps, the boot app, slinky app for using newt manager protocol, and more in that directory.
+
+```
+@~/dev/myproj$ ls repos/apache-mynewt-core/apps/
+blecent		blesplit	boot		sensors_test	splitty
+blehci		bletest		fat2native	slinky		test
+bleprph		bletiny		ffs2native	slinky_oic	testbench
+bleprph_oic	bleuart		ocf_sample	spitest		timtest
+```
+
+Along with the `targets` directory, `apps` represents the top-level of the build tree for the particular project, and define the dependencies for the rest of the system. Mynewt users and developers can add their own apps to the project's `apps` directory.   
+
+The app definition is contained in a `pkg.yml` file. For example, blinky's `pkg.yml` file is:
+
+```
+$ more apps/blinky/pkg.yml
+<snip>
+pkg.name: apps/blinky
+pkg.type: app
+pkg.description: Basic example application which blinks an LED.
+pkg.author: "Apache Mynewt <de...@mynewt.apache.org>"
+pkg.homepage: "http://mynewt.apache.org/"
+pkg.keywords:
+
+pkg.deps:
+    - "@apache-mynewt-core/kernel/os"
+    - "@apache-mynewt-core/hw/hal"
+    - "@apache-mynewt-core/sys/console/full"
+```
+
+<br>
+
+This file says that the name of the package is apps/blinky, and it depends on the `kernel/os, `hw/hal` and `sys/console/full` packages.
+
+**NOTE:** @apache-mynewt-core is a repository descriptor, and this will be 
+covered in the "repository" section. 
+
+<br>
+
+#### "targets" Package Directory
+
+`targets` is where targets are stored, and each target is a collection of parameters that must be passed to newt in order to generate a reproducible build. Along with the `apps` directory, `targets` represents the top of the build tree. Any packages or parameters specified at the target level cascades down to all dependencies.
+
+Most targets consist of:
+
+* app: The application to build
+* bsp: The board support package to combine with that application
+* build_profile: Either debug or optimized.
+
+The `my_blinky_sim` target that is included by default has the following settings:
+
+```
+$ newt target show
+targets/my_blinky_sim
+    app=apps/blinky
+    bsp=@apache-mynewt-core/hw/bsp/native
+    build_profile=debug
+$ ls targets/my_blinky_sim/
+pkg.yml		target.yml
+```
+There are helper functions to aid the developer specify parameters for a target. 
+
+* **vals**: Displays all valid values for the specified parameter type (e.g. bsp for a target)
+* **target show**: Displays the variable values for either a specific target or all targets defined for the project
+* **target set**: Sets values for target variables
+
+In general, the three basic parameters of a target (`app`, `bsp`, and `build_profile`) are stored in the target's `target.yml` file in the targets/&lt;target-name&gt; directory, where `target-name` is the name of the target. You will also see a `pkg.yml` file in the same directory. Since targets are packages, a `pkg.yml` is expected. It contains typical package descriptors, dependencies, and additional parameters such as the following:
+
+* Cflags: Any additional compiler flags you might want to specify to the build
+* Aflags: Any additional assembler flags you might want to specify to the build
+* Lflags: Any additional linker flags you might want to specify to the build
+
+You can also override the values of the system configuration settings that are defined by the packages that your target includes. You override the values in your target's `syscfg.yml` file (stored in the targets/&lt;target-name&gt; directory). You can use the `newt target config show` command to see the configuration settings and values for your target, and use the `newt target set` command to set the `syscfg` variable and override the configuration setting values.  You can also use an e [...]
+
+<br>
+
+
+### Resolving dependencies
+
+When newt builds a project, it will:
+
+* find the top-level project.yml file
+* recurse the packages in the package tree, and build a list of all 
+source packages
+
+Newt then looks at the target that the user set, for example, blinky_sim:
+
+```
+$ more targets/my_blinky_sim/
+pkg.yml     target.yml
+$ more targets/my_blinky_sim/target.yml
+### Target: targets/my_blinky_sim
+target.app: "apps/blinky"
+target.bsp: "@apache-mynewt-core/hw/bsp/native"
+target.build_profile: "debug"
+```
+
+<br>
+
+The target specifies two major things:
+
+* Application (target.app): The application to build
+* Board Support Package (target.bsp): The board support package to build 
+along with that application.
+
+Newt builds the dependency tree specified by all the packages. While building this tree, it does a few other things:
+
+- Sets up the include paths for each package. Any package that depends on another package, automatically gets the include directories from the package it includes.  Include directories in the
+newt structure must always be prefixed by the package name. For example, kernel/os has the following include tree and its include directory files contains the package name "os" before any header files.  This is so in order to avoid any header file conflicts.
+
+
+```
+$tree kernel/os/include
+kernel/os/include
+└── os
+    ├── arch
+    │   ├── cortex_m0
+    │   │   └── os
+    │   │       └── os_arch.h
+    │   ├── cortex_m4
+    │   │   └── os
+    │   │       └── os_arch.h
+    │   ├── mips
+    │   │   └── os
+    │   │       └── os_arch.h
+    │   ├── sim
+    │   │   └── os
+    │   │       └── os_arch.h
+    │   └── sim-mips
+    │       └── os
+    │           └── os_arch.h
+    ├── endian.h
+    ├── os.h
+    ├── os_callout.h
+    ├── os_cfg.h
+    ├── os_cputime.h
+    ├── os_dev.h
+    ├── os_eventq.h
+    ├── os_fault.h
+    ├── os_heap.h
+    ├── os_malloc.h
+    ├── os_mbuf.h
+    ├── os_mempool.h
+    ├── os_mutex.h
+    ├── os_sanity.h
+    ├── os_sched.h
+    ├── os_sem.h
+    ├── os_task.h
+    ├── os_test.h
+    ├── os_time.h
+    └── queue.h
+
+<snip>
+
+```
+
+<br>
+
+- Validates API requirements.  Packages can export APIs they 
+implement, (i.e. pkg.api: hw-hal-impl), and other packages can require 
+those APIs (i.e. pkg.req_api: hw-hal-impl).
+
+- Reads and validates the configuration setting definitions and values from the package `syscfg.yml` files.
+It generates a `syscfg.h` header file that packages include in the source files in order to access the settings.  
+It also generates a system initialization function to initialize the packages.
+See [System Configuration And Initialization](/os/modules/sysinitconfig/sysinitconfig.md) for more information.
+
+
+In order to properly resolve all dependencies in the build system, newt recursively processes the package dependencies until there are no new dependencies.  And it builds a big list of all the packages that need to be build.
+
+
+Newt then goes through this package list, and builds every package into 
+an archive file.
+
+**NOTE:** The newt tool generates compiler dependencies for all of these packages, and only rebuilds the packages whose dependencies have changed. Changes in package & project dependencies are also taken into account. It is smart, after all!
+
+### Producing artifacts
+
+Once newt has built all the archive files, it then links the archive files together.  The linkerscript to use is specified by the board support package (BSP.)
+
+The newt tool creates a bin directory under the base project directory, and places a target's build artifacts into the bin/targets/&lt;target-name&gt;/app/apps/&lt;app-name&gt; directory, where `target-name` is the name of the target and `app-name` is the name of the application. As an example, the `blinky.elf` executable for the `blinky` application defined by the `my_blinky_sim` target is stored in the bin/targets/my_blinky_sim/app/apps/blinky directory as shown in the following source tree:
+
+```
+$tree -L 9 bin/ bin/
+└── targets
+    ├── my_blinky_sim
+    │   ├── app
+    │   │   ├── apps
+    │   │   │   └── blinky
+    │   │   │       ├── apps
+    │   │   │       │   └── blinky
+    │   │   │       │       └── src
+    │   │   │       │           ├── main.d
+    │   │   │       │           ├── main.o
+    │   │   │       │           └── main.o.cmd
+    │   │   │       ├── apps_blinky.a
+    │   │   │       ├── apps_blinky.a.cmd
+    │   │   │       ├── blinky.elf
+    │   │   │       ├── blinky.elf.cmd
+    │   │   │       ├── blinky.elf.dSYM
+    │   │   │       │   └── Contents
+    │   │   │       │       ├── Info.plist
+    │   │   │       │       └── Resources
+    │   │   │       │           └── DWARF
+    │   │   │       ├── blinky.elf.lst
+    │   │   │       └── manifest.json
+    │   │   ├── hw
+    │   │   │   ├── bsp
+    │   │   │   │   └── native
+    │   │   │   │       ├── hw_bsp_native.a
+    │   │   │   │       ├── hw_bsp_native.a.cmd
+    │   │   │   │       └── repos
+    │   │   │   │           └── apache-mynewt-core
+    │   │   │   │               └── hw
+
+<snip>
+```
+
+<br>
+
+As you can see, a number of files are generated:
+
+- Archive File
+- *.cmd: The command use to generate the object or archive file
+- *.lst: The list file where symbols are located
+
+Note: The *.o object files that get put into the archive file are stored in the bin/targets/my_blinky_sim/app/apps/blinky/apps/blinky/src directory.
+
+### Download/Debug Support
+
+Once a target has been build, there are a number of helper functions 
+that work on the target.  These are:
+
+* **load**     Download built target to board
+* **debug**        Open debugger session to target
+* **size**         Size of target components
+* **create-image**  Add image header to target binary
+* **run**  The equivalent of build, create-image, load, and debug on specified target
+* **target** Create, delete, configure, and query a target
+
+`load` and `debug` handles driving GDB and the system debugger.  These 
+commands call out to scripts that are defined by the BSP.
+
+```
+$ more repos/apache-mynewt-core/hw/bsp/nrf52dk/nrf52dk_debug.sh
+<snip>
+. $CORE_PATH/hw/scripts/jlink.sh
+
+FILE_NAME=$BIN_BASENAME.elf
+
+if [ $# -gt 2 ]; then
+    SPLIT_ELF_NAME=$3.elf
+    # TODO -- this magic number 0x42000 is the location of the second image
+    # slot. we should either get this from a flash map file or somehow learn
+    # this from the image itself
+    EXTRA_GDB_CMDS="add-symbol-file $SPLIT_ELF_NAME 0x8000 -readnow"
+fi
+
+JLINK_DEV="nRF52"
+
+jlink_debug
+
+```
+
+The idea is that every BSP will add support for the debugger environment 
+for that board.  That way common tools can be used across various development boards and kits.
+
diff --git a/versions/v1_2_0/docs/newt/newt_ops.md b/versions/v1_2_0/docs/newt/newt_ops.md
new file mode 100644
index 0000000..1a405ac
--- /dev/null
+++ b/versions/v1_2_0/docs/newt/newt_ops.md
@@ -0,0 +1,50 @@
+## Command Structure
+
+Just like verbs are actions in a sentence and adverbs modifiy verbs, so in the *newt* tool, commands are actions and flags modify actions. A command can have subcommands. Arguments to commands and subcommands, with appropriate flags, dictate the execution and result of a command. 
+
+For instance, in the example below, the *newt* command has the subcommand `target set` in which the argument 'my_target1' is the target whose attribute, *app*, is set to '@apache-mynewt-core/hw/bsp/nrf52dk'
+
+```no-highlight
+    newt target set my_target1 app=@apache-mynewt-core/hw/bsp/nrf52dk
+```
+
+Global flags work uniformly across *newt* commands. Consider the flag `-v, --verbose,` It works both for command and subcommands, to generate verbose output. Likewise, the help flag `-h` or  `--help,`  to print helpful messsages.
+
+A command may additionally take flags specific to it. For example, the `-n ` flag instructs `newt debug` not to start GDB from command line.
+
+```no-highlight
+    newt debug <target-name> -n
+```
+In addition to the [Newt Tool Manual](newt_intro.md) in docs, command-line help is available for each command (and subcommand), through the `-h` or `--help` options. 
+
+```no-highlight
+    newt target  --help
+    Commands to create, delete, configure, and query targets
+    
+    Usage:
+      newt target [flags]
+      newt target [command]
+    
+    Available Commands:
+      amend       Add, change, or delete values for multi-value target variables
+      config      View or populate a target's system configuration
+      copy        Copy target
+      create      Create a target
+      delete      Delete target
+      dep         View target's dependency graph
+      revdep      View target's reverse-dependency graph
+      set         Set target configuration variable
+      show        View target configuration variables
+    
+    Global Flags:
+      -h, --help              Help for newt commands
+      -j, --jobs int          Number of concurrent build jobs (default 8)
+      -l, --loglevel string   Log level (default "WARN")
+      -o, --outfile string    Filename to tee output to
+      -q, --quiet             Be quiet; only display error output
+      -s, --silent            Be silent; don't output anything
+      -v, --verbose           Enable verbose output when executing commands
+
+    Use "newt target [command] --help" for more information about a command.
+
+```
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_config.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_config.md
new file mode 100644
index 0000000..bcf0546
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_config.md
@@ -0,0 +1,30 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr config </font>
+Read and write config values on a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr config <var-name> [var-value] -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+Reads and sets the value for the `var-name` config variable on a device. Specify a `var-value` to set the value for the `var-name` variable.   Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newtmgr config myvar -c profile01 | Reads the `myvar` config variable value from a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+             | newtmgr config myvar 2 -c profile01 | Sets the `myvar` config variable to the value `2` on a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_conn.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_conn.md
new file mode 100644
index 0000000..95d0610
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_conn.md
@@ -0,0 +1,46 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr conn </font>
+Manage newtmgr connection profiles.
+
+#### Usage:
+
+```no-highlight
+    newtmgr conn [command] [flags] 
+```
+
+#### Flags:
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+The conn command provides subcommands to add, delete, and view connection profiles. A connection profile specifies information on how to connect and communicate with a remote device.  Newtmgr commands use the information from a connection profile to send newtmgr requests to remote devices.
+
+Sub-command  | Explanation
+-------------| ------------------------
+add       | The newtmgr conn add &lt;conn_profile&gt; &lt;var-name=value ...&gt; command creates a connection profile named `conn_profile`.  The command requires the `conn_profile` name and a list of, space separated, var-name=value pairs. The var-names are: `type`, and `connstring`. <br><br>The valid values for each var-name parameter are: <ul><li>`type`: The connection type. Valid values are: <ul><li>**serial**: Newtmgr protocol over a serial connection.</li><li> **oic_serial**: OIC pr [...]
+</li></ul></li></ul></li></ul> 
+delete    | The newtmgr conn delete &lt;conn_profile&gt; command deletes the `conn_profile` connection profile.
+show      | The newtmgr conn show [conn_profile] command shows the information for the `conn_profile` connection profile. It shows information for all the connection profiles if `conn_profile` is not specified.
+    
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+add       | newtmgr conn add myserial02 type=oic_serial connstring=/dev/ttys002 | Creates a connection profile, named `myserial02`, to communicate over a serial connection at 115200 baud rate with the oicmgr on a device that is connected to the host on port /dev/ttys002. 
+add       | newtmgr conn add myserial03 type=serial connstring="dev=/dev/ttys003, baud=57600" | Creates a connection profile, named `myserial03`, to communicate over a serial connection at 57600 baud rate with the newtmgr on a device that is connected to the host on port /dev/ttys003. 
+add       | newtmgr conn add myudp5683 type=oic_udp<br>connstring=[127.0.0.1]:5683 | Creates a connection profile, named `myudp5683`,  to communicate over UDP with the oicmgr on a device listening on localhost and port 5683.
+add       | newtmgr conn add mybleprph type=ble connstring="peer_name=nimble-bleprph"| Creates a connection profile, named `mybleprph`,  to communicate over BLE, using the native OS BLE support,  with the newtmgr on a device named `nimble-bleprph`.
+add       | newtmgr conn add myble<br>type=ble connstring=" "| Creates a connection profile, named `myble`,  to communicate over BLE, using the native OS BLE support,  with the newtmgr on a device. You must use the `--name` flag to specify the device name when you issue a newtmgr command that communicates with the device. |
+add       | newtmgr conn add myblehostd type=oic_bhd connstring="peer_name=nimble-bleprph,ctlr_path=/dev/cu.usbmodem14221" | Creates a connection profile, named `myblehostd`,  to communicate over BLE, using the blehostd implementation, with the oicmgr on a device named `nimble-bleprph`. The BLE controller is connected to the host on USB port /dev/cu.usbmodem14211 and uses static random address.
+delete    | newtmgr conn delete myserial02  | Deletes the connection profile named `myserial02`
+delete    | newtmgr conn delete myserial02  | Deletes the connection profile named `myserial02`
+show      | newtmgr conn show myserial01 | Displays the information for the `myserial01` connection profile.
+show      | newtmgr conn show  | Displays the information for all connection profiles.
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_crash.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_crash.md
new file mode 100644
index 0000000..f8ecc00
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_crash.md
@@ -0,0 +1,30 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr crash </font>
+Send a crash command to a device.
+
+
+#### Usage:
+
+```no-highlight
+    newtmgr crash <assert|div0|jump0|ref0|wdog> -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+Sends a crash command to a device to run one of the following crash tests: `div0`, `jump0`, `ref0`, `assert`, `wdog`.  Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newtmgr crash div0<br>-c profile01 | Sends a request to a device to execute a divide by 0 test. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+             | newtmgr crash ref0<br>-c profile01 | Sends a request to a device to execute a nil pointer reference test. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_datetime.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_datetime.md
new file mode 100644
index 0000000..01f7b2a
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_datetime.md
@@ -0,0 +1,32 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr datetime </font>
+Manage datetime on a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr datetime [rfc-3339-date-string] -c <conn_profile> [flags]
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+Reads or sets the datetime on a device. Specify a `datetime-value` in the command to set the datetime on the device. Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+**Note**: You must specify the  `datetime-value` in the RFC 3339 format.  
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newtmgr datetime<br>-c profile01 | Reads the datetime value from a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+	     | newtmgr datetime 2017-03-01T22:44:00<br>-c profile01 | Sets the datetime on a device to March 1st 2017 22:44:00 UTC. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+	     | newtmgr datetime 2017-03-01T22:44:00-08:00<br>-c profile01| Sets the datetime on a device to March 1st 2017 22:44:00 PST. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_echo.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_echo.md
new file mode 100644
index 0000000..bfadc9b
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_echo.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr echo </font>
+Send data to a device and display the echoed back data.
+
+#### Usage:
+
+```no-highlight
+    newtmgr echo <text> -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+Sends the `text` to a device and outputs the text response from the device. Newtmgr uses the `conn_profile` connection profile to connect to the device. 
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newtmgr echo hello<br>-c profile01 | Sends the text 'hello' to a device and displays the echoed back data. Newtmgr connects to the device over a connection specified in the `profile01` profile.
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_fs.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_fs.md
new file mode 100644
index 0000000..5177c2a
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_fs.md
@@ -0,0 +1,34 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr fs</font>
+Access files on a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr fs [command] -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+The fs command provides the subcommands to download a file from and upload a file to a device.  Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+Sub-command  | Explanation
+-------------| ------------------------
+download     | The newtmgr download &lt;src-filename&gt; &lt;dst-filename&gt; command downloads the file named &lt;src-filename&gt; from a device and names it &lt;dst-filename&gt; on your host.
+upload       | The newtmgr upload &lt;src-filename&gt; &lt;dst-filename&gt; command uploads the file named &lt;src-filename&gt; to a device and names the file &lt;dst-filename&gt; on the device.
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+download       | newtmgr fs download /cfg/mfg mfg.txt -c profile01 | Downloads the file name `/cfg/mfg` from a device and names the file `mfg.txt` on your host.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile. 
+upload       | newtmgr fs upload mymfg.txt /cfg/mfg -c profile01 | Uploads the file name `mymfg.txt` to a device and names the file `cfg/mfg` on the device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile. 
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_image.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_image.md
new file mode 100644
index 0000000..e070ccf
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_image.md
@@ -0,0 +1,61 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr image </font>
+Manage images on a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr image [command] -c <connection_profile> [flags] 
+```
+
+#### Flags:
+The coredownload subcommand uses the following local flags:
+
+```no-highlight
+    -n, --bytes uint32         Number of bytes of the core to download 
+    -e, --elfify               Create an ELF file 
+        --offset unint32       Offset of the core file to start the download 
+
+```
+<br>
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+<br>
+####Description
+The image command provides subcommands to manage core and image files on a device.  Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+Sub-command  | Explanation
+-------------| ------------------------
+confirm      | The newtmgr image confirm [hex-image-hash] command makes an image setup permanent on a device. If a `hex-image-hash` hash value is specified, Mynewt permanently switches to the image identified by the hash value. If a hash value is not specified, the current image is made permanent.
+coreconvert  | The newtmgr image coreconvert &lt;core-filename&gt; &lt;elf-file&gt; command converts the `core-filename` core file to an ELF format and names it `elf-file`. <br><br> **Note**: This command does not download the core file from a device. The core file must exist on your host.
+coredownload | The newtmgr image coredownload &lt;core-filename&gt; command downloads the core file from a device and names the file `core-filename` on your host. Use the local flags under Flags to customize the command.
+coreerase    | The newtmgr image coreerase command erases the core file on a device.
+corelist     | The newtmgr image corelist command lists the core(s) on a device.
+erase        | The newtmgr image erase command erases an unused image from the secondary image slot on a device. The image cannot be erased if the image is a confirmed image, is marked for test on the next reboot, or is an active image for a split image setup. | 
+list         | The newtmgr image list command displays information for the images on a device.
+test         | The newtmgr test &lt;hex-image-hash&gt; command tests the image, identified by the `hex-image-hash` hash value, on next reboot.
+upload       | The newtmgr image upload &lt;image-file&gt; command uploads the `image-file` image file to a device.
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+confirm       | newtmgr confirm<br>-c profile01 | Makes the current image setup on a device permanent.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+confirm       | newtmgr confirm<br>be9699809a049...73d77f<br>-c profile01 | Makes the image, identified by the `be9699809a049...73d77f` hash value, setup on a device permanent.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+coreconvert    | newtmgr image coreconvert mycore mycore.elf | Converts the `mycore` file to the ELF format and saves it in the `mycore.elf` file.
+coredownload | newtmgr image coredownload <br>mycore -c profile01 | Downloads the core from a device and saves it in the `mycore` file.   Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+coredownload | newtmgr image coredownload <br>mycore -e <br>-c profile01 | Downloads the core from a device, converts the core file into the ELF format, and saves it in the `mycore` file.   Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+coredownload | newtmgr image coredownload <br>mycore <br>--offset 10 -n 30<br>-c profile01 | Downloads 30 bytes, starting at offset 10, of the core from a device and saves it in the `mycore` file.   Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+coreerase    | newtmgr image coreerase <br>-c profile01 | Erases the core file on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+corelist     | newtmgr image corelist<br>-c profile01 | Lists the core files on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+erase     | newtmgr image erase<br>-c profile01 | Erases the image, if unused, from the secondary image slot on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+list         | newtmgr image list<br>-c profile01 | Lists the images on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+test         | newtmgr image test <br>be9699809a049...73d77f | Tests the image, identified by the `be9699809a049...73d77f` hash value, during the next reboot on a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.  
+upload       | newtmgr image <br>upload bletiny.img<br>-c profile01 | Uploads the `bletiny.img` image to a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_logs.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_logs.md
new file mode 100644
index 0000000..ce06f3f
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_logs.md
@@ -0,0 +1,44 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr log </font>
+Manage logs on a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr log [command] -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+The log command provides subcommands to manage logs on a device. Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+Sub-command  | Explanation
+-------------| ------------------------
+clear      | The newtmgr log clear command clears the logs on a device. 
+level_list | The newtmgr level_list command shows the log levels on a device.
+list      | The newtmgr log list command shows the log names on a device. 
+module_list | The newtmgr log module_list command shows the log module names on a device. 
+show  | The newtmgr log show command displays logs on a device. The command format is: <br>newtmgr log show [log_name [min-index [min-timestamp]]] -c &lt;conn_profile&gt;<br><br>The following optional parameters can be used to filter the logs to display: <ul><li>**log_name**: Name of log to display. If log_name is not specified, all logs are displayed.</li><li>**min-index**: Minimum index of the log entries to display. This value is only valid when a log_name is specified. The value can  [...]
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+clear       | newtmgr log clear<br>-c profile01 | Clears the logs on a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+level_list   | newtmgr log level_list <br>-c profile01  | Shows the log levels on a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+list   | newtmgr log list<br>-c profile01  | Shows the log names on a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+module_list   | newtmgr log module_list<br>-c profile01  | Shows the log module names on a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile. 
+show  | newtmgr log show -c profile01  | Displays all logs on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+show  | newtmgr log show reboot_log -c profile01  | Displays all log entries for the reboot_log on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+show | newtmgr log show reboot_log last -c profile01 | Displays the last entry from the reboot_log on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+show | newtmgr log show reboot_log 2 -c profile01 | Displays the reboot_log log entries with an index 2 and higher on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+show | newtmgr log show reboot_log 5 123456 -c profile01 | Displays the reboot_log log entries with a timestamp higher than 123456 and log entries with a timestamp equal to 123456 and an index equal to or higher than 5.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_mpstats.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_mpstats.md
new file mode 100644
index 0000000..928b3e4
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_mpstats.md
@@ -0,0 +1,57 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr mpstat </font>
+Read memory pool statistics from a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr mpstat -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+Reads and displays the memory pool statistics from a device.  Newtmgr uses the `conn_profile` connection profile to connect to the device.  It lists the following statistics for each memory pool: 
+
+* **name**: Memory pool name
+* **blksz**:  Size (number of bytes) of each memory block 
+* **cnt**: Number of blocks allocated for the pool
+* **free**: Number of free blocks 
+* **min**: The lowest number of free blocks that were available
+
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newtmgr mpstat -c profile01 | Reads and displays the memory pool statistics from a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+
+Here is an example output for the `myble` application from the [Enabling Newt Manager in any app](/os/tutorials/add_newtmgr.md) tutiorial:
+
+```no-highlight
+$ newtmgr mpstat -c myserial 
+                         name blksz  cnt free  min
+          ble_att_svr_entry_pool    20   75    0    0
+     ble_att_svr_prep_entry_pool    12   64   64   64
+                  ble_gap_update    24    1    1    1
+             ble_gattc_proc_pool    56    4    4    4
+          ble_gatts_clt_cfg_pool    12    2    1    1
+         ble_hci_ram_evt_hi_pool    72    2    2    1
+         ble_hci_ram_evt_lo_pool    72    8    8    8
+                ble_hs_conn_pool    92    1    1    1
+              ble_hs_hci_ev_pool    16   10   10    9
+             ble_l2cap_chan_pool    28    3    3    3
+         ble_l2cap_sig_proc_pool    20    1    1    1
+                bletiny_chr_pool    36   64   64   64
+                bletiny_dsc_pool    28   64   64   64
+                bletiny_svc_pool    36   32   32   32
+                          msys_1   292   12    9    6
+```
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_reset.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_reset.md
new file mode 100644
index 0000000..74c382c
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_reset.md
@@ -0,0 +1,28 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr reset </font>
+Send a reset request to a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr reset -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+Resets a device.  Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+            | newtmgr reset<br>-c profile01 |Resets a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_run.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_run.md
new file mode 100644
index 0000000..17cb846
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_run.md
@@ -0,0 +1,35 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr run </font>
+Run test procedures on a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr run [command] -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+The run command provides subcommands to run test procedures on a device. Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+Sub-command  | Explanation
+-------------| ------------------------
+list       | The newtmgr run list command lists the registered tests on a device.
+test       | The newtmgr run test [all&#124;testname] [token-value] command runs the `testname` test or all tests on a device.  All tests are run if `all` or no `testname` is specified. If a `token-value` is specified, the token value is output with the log messages.
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+list         | newtmgr run<br>list -c profile01 | Lists all the registered tests on a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+test | newtmgr run <br>test all<br>201612161220<br>-c profile01 | Runs all the tests on a device. Outputs the `201612161220` token with the log messages. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+test | newtmgr run <br>test mynewtsanity<br>-c profile01 | Runs the `mynewtsanity` test on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_stat.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_stat.md
new file mode 100644
index 0000000..41457af
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_stat.md
@@ -0,0 +1,91 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr stat</font>
+Read statistics from a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr stat <stats_name> -c <conn_profile> [flags] 
+    newtmgr stat [command] -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+Displays statistic for the Stats named `stats_name` from a device.  You can use the `list` subcommand to get a list of the Stats names from the device.  Newtmgr uses the `conn_profile` connection profile to connect to the device.
+
+Sub-command  |  Explanation
+-------------| -----------------------
+             | The newtmgr stat <stats_name> command displays the statistics for the `stats_name` Stats from a device. 
+list         | The newtmgr stat list command displays the list of Stats names from a device.  
+
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newtmgr stat ble_att -c profile01 | Displays the `ble_att` statistics on a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+list         | newtmgr stat list -c profile01 | Displays the list of Stats names from a device.  Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+ 
+Here are some example outputs for the `myble` application from the [Enabling Newt Manager in any app](/os/tutorials/add_newtmgr.md) tutiorial:
+
+The statistics for the ble_att Stats:
+```no-highlight
+
+$ newtmgr stat ble_att -c myserial
+stat group: ble_att
+         0 error_rsp_rx
+         0 error_rsp_tx
+         0 exec_write_req_rx
+         0 exec_write_req_tx
+         0 exec_write_rsp_rx
+         0 exec_write_rsp_tx
+         0 find_info_req_rx
+         0 find_info_req_tx
+         0 find_info_rsp_rx
+         0 find_info_rsp_tx
+         0 find_type_value_req_rx
+         0 find_type_value_req_tx
+         0 find_type_value_rsp_rx
+         0 find_type_value_rsp_tx
+
+               ...
+
+         0 read_rsp_rx
+         0 read_rsp_tx
+         0 read_type_req_rx
+         0 read_type_req_tx
+         0 read_type_rsp_rx
+         0 read_type_rsp_tx
+         0 write_cmd_rx
+         0 write_cmd_tx
+         0 write_req_rx
+         0 write_req_tx
+         0 write_rsp_rx
+         0 write_rsp_tx
+```
+<br>
+The list of Stats names using the list subcommand:
+```no-highlight
+
+$ newtmgr stat list -c myserial
+stat groups:
+    ble_att
+    ble_gap
+    ble_gattc
+    ble_gatts
+    ble_hs
+    ble_l2cap
+    ble_ll
+    ble_ll_conn
+    ble_phy
+    stat
+```
diff --git a/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_taskstats.md b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_taskstats.md
new file mode 100644
index 0000000..0206b26
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/command_list/newtmgr_taskstats.md
@@ -0,0 +1,48 @@
+## <font color="#F2853F" style="font-size:24pt">newtmgr taskstat </font>
+Read task statistics from a device.
+
+#### Usage:
+
+```no-highlight
+    newtmgr taskstat -c <conn_profile> [flags] 
+```
+
+#### Global Flags:
+
+```no-highlight
+  -c, --conn string       connection profile to use
+  -h, --help              help for newtmgr
+  -l, --loglevel string   log level to use (default "info")
+      --name string       name of target BLE device; overrides profile setting
+  -t, --timeout float     timeout in seconds (partial seconds allowed) (default 10)
+  -r, --tries int         total number of tries in case of timeout (default 1)
+```
+
+#### Description
+Reads and displays the task statistics from a device. Newtmgr uses the `conn_profile` connection profile to connect to the device.  It lists the following statistics for each task: 
+
+* **task**: Task name
+* **pri**:  Task priority
+* **runtime**: The time (ms) that the task has been running for
+* **csw**: Number of times the task has switched context
+* **stksz**: Stack size allocated for the task 
+* **stkuse**: Actual stack size the task uses
+* **last_checkin**: Last sanity checkin with the [Sanity Task](/os/core_os/sanity/sanity.md)
+* **next_checkin**: Next sanity checkin
+
+
+#### Examples
+
+Sub-command  | Usage                  | Explanation
+-------------| -----------------------|-----------------
+             | newtmgr taskstat<br>-c profile0 | Reads and displays the task statistics from a device. Newtmgr connects to the device over a connection specified in the `profile01` connection profile.
+
+Here is an example output for the `myble` application from the [Enabling Newt Manager in any app](/os/tutorials/add_newtmgr.md) tutiorial:
+
+```no-highlight
+$ newtmgr taskstat -c myserial 
+      task pri tid  runtime      csw    stksz   stkuse last_checkin next_checkin
+    ble_ll   0   2        0       12       80       58        0        0
+      idle 255   0    16713       95       64       31        0        0
+      main 127   1        2       81      512      275        0        0
+```
diff --git a/versions/v1_2_0/docs/newtmgr/install_linux.md b/versions/v1_2_0/docs/newtmgr/install_linux.md
new file mode 100644
index 0000000..b50bd71
--- /dev/null
+++ b/versions/v1_2_0/docs/newtmgr/install_linux.md
@@ -0,0 +1,224 @@
+## Installing Newtmgr on Linux
+
+You can install the latest release (1.2.0) of the newtmgr tool from a Debian binary package (amd64). You can also download and build the latest release version of newtmgr from source.   
+
+This page shows you how to: 
+
+1. Set up your computer to download Debian binary packages from the runtimeco APT repository.
+
+    **Note:** The key for signing the repository has changed. If you set up your computer before release 1.1.0, you will need to download and import the public key again. 
+
+2. Install the latest release version of newtmgr from a Debian binary package. You can use apt-get to install the package or manually download and install the Debian binary package.
+
+3. Download, build, and install the latest release version of newtmgr from source. 
+
+See [Installing Previous Releases of Newtgmr](/newtmgr/prev_releases) to install an earlier version of newtmgr.
+
+If you are installing on an amd64 platform, we recommend that you install from the binary package.
+
+**Note:**  We have tested the newtmgr tool binary and apt-get install from the runtimeco APT repository for Ubuntu version 16.  Earlier Ubuntu versions (for example: Ubuntu 14) may have incompatibility with the repository. You can manually download and install the Debian binary package.
+
+
+**Note:** See [Setting Up a Go Environment to Contribute to Newt and Newtmgr Tools](/faq/go_env) if you want to:  
+
+* Use the newtmgr tool with the latest updates from the master branch. The master branch may be unstable and we recommend that you use the latest stable release version.
+* Contribute to the newtmgr tool. 
+
+<br>
+
+### Setting Up Your Computer to use apt-get to Install the Package
+
+The newtmgr Debian packages are stored in a private APT repository on **https://github/runtimeco/debian-mynewt**.   To use apt-get, you must set up the following on your computer to retrieve packages from the repository:
+
+**Note**: You only need to perform this setup once on your computer. However, if you previously downloaded and imported the public key for the runtimeco APT repository, you will need to perform step 2 again as the key has changed.
+
+
+1. Install the `apt-transport-https` package to use HTTPS to retrieve packages. 
+2. Download the public key for the runtimeco APT repository and import the key into the apt keychain.
+3. Add the repository for the binary and source packages to the apt source list.
+
+<br>
+1. Install the apt-transport-https package:
+
+```no-highlight
+$sudo apt-get update
+$sudo apt-get install apt-transport-https
+```
+
+<br>
+2. Download the public key for the runtimeco apt repo  (**Note:** There is  a `-` after  `apt-key add`):
+
+```no-highlight
+wget -qO - https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/mynewt.gpg.key | sudo apt-key add -
+```
+
+<br>
+3. Add the repository for the binary packages to the `mynewt.list` apt source list file.
+
+```no-highlight
+$sudo -s
+[sudo] password for <user>:
+root$ cat > /etc/apt/sources.list.d/mynewt.list <<EOF
+deb https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest main
+EOF
+root$exit
+```
+**Note:** Do not forget to exit the root shell.
+
+<br>
+4. Verify the content of the source list file:
+
+```no-highlight
+$more /etc/apt/sources.list.d/mynewt.list
+deb https://raw.githubusercontent.com/runtimeco/debian-mynewt/master latest main
+```
+
+<br>
+5. Update the available packages:
+
+```no-highlight
+$sudo apt-get update
+```
+
+<br>
+**Note:** If you are not using Ubuntu version 16, you may see the following errors.  We have provided instructions on how to manually download and install the binary package.
+
+```no-highlight
+
+W: Failed to fetch https://raw.githubusercontent.com/runtimeco/debian-mynewt/master/dists/latest/main/source/Sources  HttpError404
+
+```
+<br> 
+### Installing the Latest Release of Newtmgr from a Binary Package 
+
+You can use either apt-get to install the package, or manually download and install the Debian binary package. 
+
+<br>
... 30919 lines suppressed ...

-- 
To stop receiving notification emails like this one, please contact
"commits@mynewt.apache.org" <co...@mynewt.apache.org>.

[mynewt-site] 03/03: created symbolic link to custom-theme

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

aditi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-site.git

commit e30806a8a4bee8723e41f6857dbfc39a22d2c88c
Author: aditihilbert <ad...@runtime.io>
AuthorDate: Wed Dec 13 13:51:21 2017 -0800

    created symbolic link to custom-theme
---
 versions/v1_2_0/custom-theme | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/versions/v1_2_0/custom-theme b/versions/v1_2_0/custom-theme
index fd6e82c..9f2a9e2 120000
--- a/versions/v1_2_0/custom-theme
+++ b/versions/v1_2_0/custom-theme
@@ -1 +1 @@
-/Users/aditihilbert/Documents/mynewt-site/custom-theme/
\ No newline at end of file
+../../custom-theme
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
"commits@mynewt.apache.org" <co...@mynewt.apache.org>.