mirror of
				https://github.com/pmarchini/Esp32Dimmer.git
				synced 2025-10-31 03:14:02 +03:00 
			
		
		
		
	docs: add example
This commit is contained in:
		
							
								
								
									
										57
									
								
								src/examples/base/example.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								src/examples/base/example.c
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| #include "esp32idfDimmer.h" | ||||
|  | ||||
| #include "esp_log.h" | ||||
| #include "esp_err.h" | ||||
|  | ||||
| static const char *TAG = "dimmer_demo"; | ||||
|  | ||||
| // Dimmer pointer | ||||
| dimmertyp *ptr_dimmer; | ||||
| dimmertyp *ptr_dimmer_2; | ||||
|  | ||||
| volatile bool _init_done; | ||||
| bool flag; | ||||
|  | ||||
| #define INIT_NOT_DONE _init_done == false | ||||
| #define _50Hz 50 | ||||
|  | ||||
| #define ZEROCROSS_GPIO GPIO_NUM_21 | ||||
| #define TRIAC_1_GPIO GPIO_NUM_22 | ||||
| #define TRIAC_2_GPIO GPIO_NUM_26 | ||||
| #define DIAGNOSTIC_LED_GPIO GPIO_NUM_17 | ||||
|  | ||||
| void init(); | ||||
|  | ||||
| void app_main() | ||||
| { | ||||
|     if (INIT_NOT_DONE) | ||||
|     { | ||||
|         init(); | ||||
|         // Initial point; | ||||
|         setPower(ptr_dimmer, 1); | ||||
|     } | ||||
|  | ||||
|     while (1) | ||||
|     { | ||||
|         // change the output power | ||||
|         getPower(ptr_dimmer) < 60 ? setPower(ptr_dimmer, (getPower(ptr_dimmer) + 5)) : setPower(ptr_dimmer, 1); | ||||
|         setPower(ptr_dimmer_2, getPower(ptr_dimmer)); | ||||
|         // wait | ||||
|         vTaskDelay(100 / portTICK_PERIOD_MS); | ||||
|     } | ||||
| } | ||||
|  | ||||
| void init() | ||||
| { | ||||
|     ESP_LOGI(TAG, "Starting init sequence"); | ||||
|     // Set diagnostic leds | ||||
|     gpio_set_direction(DIAGNOSTIC_LED_GPIO, GPIO_MODE_OUTPUT); | ||||
|     gpio_set_level(DIAGNOSTIC_LED_GPIO, 1); | ||||
|     // Instantiate the new dimmer | ||||
|     ptr_dimmer = createDimmer(TRIAC_1_GPIO, ZEROCROSS_GPIO); | ||||
|     ptr_dimmer_2 = createDimmer(TRIAC_2_GPIO, ZEROCROSS_GPIO); | ||||
|     // startup | ||||
|     begin(ptr_dimmer, NORMAL_MODE, ON, _50Hz); | ||||
|     begin(ptr_dimmer_2, NORMAL_MODE, ON, _50Hz); | ||||
|     ESP_LOGI(TAG, "Init sequence completed"); | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Pietro Marchini
					Pietro Marchini