Dwm-simple doesn't reach while(1)

Hi all,
I’ve been getting started with the DWM1001 dev board and am trying to get the dwm-simple example to run. I have been following the instructions as per the [DWM1001 Firmware User Guide](file:///C:/Users/TALAMR~1/AppData/Local/Temp/DWM1001%20Firmware%20User%20Guide-1.pdf). I’m at the steps in 4.2.2.2, where I add dwm_pos_t pos; to the variables and then add the code that reads the accelerometer and prints the values in the while(1) loop.

However, I am not getting anything back in my serial monitor and it seems the program never reaches the while(1) loop in the first place. My output now start with the ‘welcome message’, starting with “'DW1001 TWR Real Time positioning system” but stops in front of the while loop.

My while(1) now looks like this:
`void app_thread_entry(uint32_t data)
{

dwm_cfg_t cfg;
uint8_t i2cbyte;
dwm_evt_t evt;
int rv;
uint8_t label[DWM_LABEL_LEN_MAX];
uint8_t label_len = DWM_LABEL_LEN_MAX;
    dwm_pos_t pos;

/* Initial message */
printf(MSG_INIT);

p
/* Get node configuration */
APP_ERR_CHECK(dwm_cfg_get(&cfg));

/* Update rate set to 1 second, stationary update rate set to 5 seconds */
APP_ERR_CHECK(dwm_upd_rate_set(10, 10));

/* Sensitivity for switching between stationary and normal update rate */
APP_ERR_CHECK(dwm_stnry_cfg_set(DWM_STNRY_SENSITIVITY_NORMAL));

/* Register event callback */
dwm_evt_listener_register(
		DWM_EVT_LOC_READY | DWM_EVT_USR_DATA_READY |
		DWM_EVT_BH_INITIALIZED_CHANGED |
		DWM_EVT_UWBMAC_JOINED_CHANGED, NULL);

/* Test the accelerometer */
i2cbyte = 0x0f;
rv = dwm_i2c_write(0x33 >> 1, &i2cbyte, 1, true);

if (rv == DWM_OK) {
	rv = dwm_i2c_read(0x33 >> 1, &i2cbyte, 1);

		if (rv == DWM_OK) {
			dwm_pos_get(&pos);
			printf("x=%ld, y=%ld, z=%ld, qf=%u \n", pos.x, pos.y, pos.z, pos.qf);
			printf("\t\t    time=%lu \n", dwm_systime_us_get());
			printf("Accelerometer chip ID: %u\n", i2cbyte);
	} else {
		printf("i2c: read failed (%d)\n", rv);
	}
} else {
	printf("i2c: write failed (%d)\n", rv);
}

rv = dwm_label_read(label, &label_len);
if (rv == DWM_OK) {
	printf("LABEL(len=%d):", label_len);
	 for (rv = 0; rv < label_len; rv++) { 
	 	printf(" %02x", label[rv]); 
	 }
	printf("\n");

} else {
	printf("can't read label len=%d, error %d\n", label_len, rv);
}

while (1) {
	/* Thread loop */
	printf("NOW IN WHILE LOOP");
	rv = dwm_evt_wait(&evt);
	dwm_pos_get(&pos); 

	printf("x=%ld, y=%ld, z=%ld, qf=%u \n", pos.x, pos.y, pos.z, pos.qf); 
	printf("\t\t time=%lu \n", dwm_systime_us_get());

	if (rv != DWM_OK) {
		printf("dwm_evt_wait, error %d\n", rv);
	} else {
		on_dwm_evt(&evt);
	}
}

}

Is there something I am overlooking? Thanks for any help on this.