Thanks Minatsu,
I'd looked at those pages and totally missed those columns.
I've made a test build that blinks all 3 of the RGB LED's in a FreeRTOS task - I've included that in this post - if anyone wants to try that - I've tested it with the WiFiWebClient build and that works.
/* Blink Example
This example code is in the Public Domain (or CC0 licensed, at your option.)
Unless required by applicable law or agreed to in writing, this
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "sdkconfig.h"
void blink_task(void *pvParameter);
/* Can run 'make menuconfig' to choose the GPIO to blink,
or you can edit the following line and set a number here.
*/
// #define BLINK_GPIO CONFIG_BLINK_GPIO
#define BLINK_GPIO1 GPIO_NUM_25
#define BLINK_GPIO2 GPIO_NUM_26
#define BLINK_GPIO3 GPIO_NUM_27
#if 0
void blink_task(void pvParameter)
{
/ Configure the IOMUX register for pad BLINK_GPIO (some pads are
muxed to GPIO on reset already, but some default to other
functions and need to be switched to GPIO. Consult the
Technical Reference for a list of pads and their default
functions.)
/
gpio_pad_select_gpio(BLINK_GPIO);
/ Set the GPIO as a push/pull output /
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
while(1) {
/ Blink off (output low) /
gpio_set_level(BLINK_GPIO, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
/ Blink on (output high) */
gpio_set_level(BLINK_GPIO, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
#endif
#if 0
void app_main()
{
xTaskCreatePinnedToCore(&blink_task, "blink_task", configMINIMAL_STACK_SIZE, NULL, 5, NULL, 1);
}
#endif
void blink_task(void pvParameter)
{
/ Configure the IOMUX register for pad BLINK_GPIO (some pads are
muxed to GPIO on reset already, but some default to other
functions and need to be switched to GPIO. Consult the
Technical Reference for a list of pads and their default
functions.)
*/
gpio_reset_pin ( BLINK_GPIO1 );
gpio_reset_pin ( BLINK_GPIO2 );
gpio_reset_pin ( BLINK_GPIO3 );
// gpio_set_pull_mode ( BLINK_GPIO1,
gpio_pullup_dis ( BLINK_GPIO1 );
gpio_pullup_dis ( BLINK_GPIO2 );
gpio_pullup_dis ( BLINK_GPIO3 );
gpio_pulldown_dis ( BLINK_GPIO1 );
gpio_pulldown_dis ( BLINK_GPIO2 );
gpio_pulldown_dis ( BLINK_GPIO3 );
gpio_set_drive_capability ( BLINK_GPIO1, GPIO_DRIVE_CAP_MAX );
gpio_set_drive_capability ( BLINK_GPIO2, GPIO_DRIVE_CAP_MAX );
gpio_set_drive_capability ( BLINK_GPIO3, GPIO_DRIVE_CAP_MAX );
gpio_pad_select_gpio(BLINK_GPIO1);
/* Set the GPIO as a push/pull output /
gpio_set_direction(BLINK_GPIO1, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(BLINK_GPIO2);
/ Set the GPIO as a push/pull output /
gpio_set_direction(BLINK_GPIO2, GPIO_MODE_OUTPUT);
gpio_pad_select_gpio(BLINK_GPIO3);
gpio_set_direction(BLINK_GPIO3, GPIO_MODE_OUTPUT);
gpio_set_level(BLINK_GPIO1, 0);
gpio_set_level(BLINK_GPIO2, 0);
gpio_set_level(BLINK_GPIO3, 0);
while(1) {
/ Blink off (output low) /
gpio_set_level(BLINK_GPIO1, 0);
gpio_set_level(BLINK_GPIO2, 1);
gpio_set_level(BLINK_GPIO3, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
/ Blink on (output high) */
gpio_set_level(BLINK_GPIO1, 1);
gpio_set_level(BLINK_GPIO2, 0);
gpio_set_level(BLINK_GPIO3, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
I'll post a build that works with the MKR Vidor 4K shortly.
For NINA MKR 1010 - copy the attached to the 1.2.1 dir and run the Firmware Updater.
Thanks Again,
John
NINA_W102.zip (520 KB)