main/task_user.c

changeset 25
cc7c423f03fb
parent 24
64078aa15512
child 26
8a3696620c0a
equal deleted inserted replaced
24:64078aa15512 25:cc7c423f03fb
476 u8g2_SendBuffer(&u8g2); 476 u8g2_SendBuffer(&u8g2);
477 } 477 }
478 478
479 479
480 480
481 void screen_network_setup(int sub)
482 {
483 screen_top("Network setup");
484 menu_line(sub == 0, 2, 25, "Name %s", config.hostname);
485 menu_line(sub == 1, 2, 37, "NTP %s", config.ntp_server);
486 menu_line(sub == 2, 2, 49, "Return");
487 u8g2_SendBuffer(&u8g2);
488 }
489
490
491
481 void screen_mqtt() 492 void screen_mqtt()
482 { 493 {
483 screen_top("MQTT Status"); 494 screen_top("MQTT Status");
484 menu_line(0, 1, 25, "serv %s", config.mqtt_server); 495 menu_line(0, 1, 25, "serv %s", config.mqtt_server);
485 menu_line(0, 1, 37, "port %d", config.mqtt_port); 496 menu_line(0, 1, 37, "port %d", config.mqtt_port);
604 void menu_change(void) 615 void menu_change(void)
605 { 616 {
606 if (New_Loop2 != Main_Loop2) { 617 if (New_Loop2 != Main_Loop2) {
607 618
608 Main_Loop2 = New_Loop2; 619 Main_Loop2 = New_Loop2;
609
610 switch (Main_Loop2) { 620 switch (Main_Loop2) {
611 case ML2_INIT: 621 case ML2_INIT:
612 ESP_LOGI(TAG, "Loop user: Init"); 622 ESP_LOGI(TAG, "Loop user: Init");
613 New_Loop2 = ML2_USER; 623 New_Loop2 = ML2_USER;
614 break; 624 break;
615 625
616 case ML2_USER: 626 case ML2_USER:
617 ESP_LOGI(TAG, "Loop user: User mainmenu"); 627 ESP_LOGI(TAG, "Loop user: User mainmenu");
618 screen_main(); 628 screen_main();
619 break; 629 break;
620 630
621 case ML2_UNIT1: 631 case ML2_UNIT1:
622 case ML2_UNIT2: 632 case ML2_UNIT2:
623 case ML2_UNIT3: 633 case ML2_UNIT3:
624 ESP_LOGI(TAG, "Loop user: Unit %d", Main_Loop2 - ML2_UNIT1); 634 ESP_LOGI(TAG, "Loop user: Unit %d", Main_Loop2 - ML2_UNIT1);
625 screen_unit(Main_Loop2 - ML2_UNIT1); 635 screen_unit(Main_Loop2 - ML2_UNIT1);
626 break; 636 break;
627 637
628 case ML2_WIFI: 638 case ML2_WIFI:
629 ESP_LOGI(TAG, "Loop user: WiFi"); 639 ESP_LOGI(TAG, "Loop user: WiFi");
630 screen_wifi(); 640 screen_wifi();
631 break; 641 break;
632 642
633 case ML2_NETWORK: 643 case ML2_NETWORK:
634 ESP_LOGI(TAG, "Loop user: Network"); 644 ESP_LOGI(TAG, "Loop user: Network");
635 screen_network(); 645 screen_network();
636 break; 646 break;
637 647
638 case ML2_MQTT: 648 case ML2_SETUP_NETWORK:
639 ESP_LOGI(TAG, "Loop user: MQTT"); 649 ESP_LOGI(TAG, "Loop user: Network setup");
640 screen_mqtt(); 650 screen_network_setup(SubMenu);
641 break; 651 break;
642 652
643 case ML2_SETUP_MQTT: 653 case ML2_MQTT:
644 ESP_LOGI(TAG, "Loop user: MQTT setup"); 654 ESP_LOGI(TAG, "Loop user: MQTT");
645 screen_mqtt_setup(SubMenu); 655 screen_mqtt();
646 break; 656 break;
647 657
648 case ML2_UPDATE: 658 case ML2_SETUP_MQTT:
649 ESP_LOGI(TAG, "Loop user: Update"); 659 ESP_LOGI(TAG, "Loop user: MQTT setup");
650 screen_update(); 660 screen_mqtt_setup(SubMenu);
651 break; 661 break;
652 662
653 case ML2_SETUP_UNIT1: 663 case ML2_UPDATE:
654 case ML2_SETUP_UNIT2: 664 ESP_LOGI(TAG, "Loop user: Update");
655 case ML2_SETUP_UNIT3: 665 screen_update();
656 ESP_LOGI(TAG, "Loop user: Setup Unit %d", Main_Loop2 - ML2_SETUP_UNIT1); 666 break;
657 SubMenu = 0; 667
658 screen_unit_setup(Main_Loop2 - ML2_SETUP_UNIT1, SubMenu); 668 case ML2_SETUP_UNIT1:
659 break; 669 case ML2_SETUP_UNIT2:
660 670 case ML2_SETUP_UNIT3:
661 case ML2_ZERO_UNIT1: 671 ESP_LOGI(TAG, "Loop user: Setup Unit %d", Main_Loop2 - ML2_SETUP_UNIT1);
662 case ML2_ZERO_UNIT2: 672 SubMenu = 0;
663 case ML2_ZERO_UNIT3: 673 screen_unit_setup(Main_Loop2 - ML2_SETUP_UNIT1, SubMenu);
664 ESP_LOGI(TAG, "Loop user: Zero Unit %d", Main_Loop2 - ML2_ZERO_UNIT1); 674 break;
665 SubMenu = 0; 675
666 screen_unit_zero(Main_Loop2 - ML2_ZERO_UNIT1, SubMenu); 676 case ML2_ZERO_UNIT1:
667 break; 677 case ML2_ZERO_UNIT2:
668 678 case ML2_ZERO_UNIT3:
669 case ML2_INACTIVE: 679 ESP_LOGI(TAG, "Loop user: Zero Unit %d", Main_Loop2 - ML2_ZERO_UNIT1);
670 ESP_LOGI(TAG, "Loop user: Inactive"); 680 SubMenu = 0;
671 u8g2_SetPowerSave(&u8g2, 1); // powersave display 681 screen_unit_zero(Main_Loop2 - ML2_ZERO_UNIT1, SubMenu);
672 New_Loop2 = ML2_DONE; 682 break;
673 break; 683
674 684 case ML2_INACTIVE:
675 default: 685 ESP_LOGI(TAG, "Loop user: Inactive");
676 break; 686 u8g2_SetPowerSave(&u8g2, 1); // powersave display
687 New_Loop2 = ML2_DONE;
688 break;
689
690 default:
691 break;
677 } 692 }
678 } 693 }
679 } 694 }
680 695
681 696
702 screen_unit_zero(Main_Loop2 - ML2_ZERO_UNIT1, SubMenu); 717 screen_unit_zero(Main_Loop2 - ML2_ZERO_UNIT1, SubMenu);
703 break; 718 break;
704 case ML2_SETUP_MQTT: if (rotate_to_sub(event.state.position, 0, 3, &SubMenu)) 719 case ML2_SETUP_MQTT: if (rotate_to_sub(event.state.position, 0, 3, &SubMenu))
705 screen_mqtt_setup(SubMenu); 720 screen_mqtt_setup(SubMenu);
706 break; 721 break;
722 case ML2_SETUP_NETWORK: if (rotate_to_sub(event.state.position, 0, 2, &SubMenu))
723 screen_network_setup(SubMenu);
724 break;
707 default: 725 default:
708 ESP_LOGI(TAG, "Event: position %d, direction %s", event.state.position, 726 ESP_LOGI(TAG, "Event: position %d, direction %s", event.state.position,
709 event.state.direction ? (event.state.direction == ROTARY_ENCODER_DIRECTION_CLOCKWISE ? "CW":"CCW"):"NOT_SET"); 727 event.state.direction ? (event.state.direction == ROTARY_ENCODER_DIRECTION_CLOCKWISE ? "CW":"CCW"):"NOT_SET");
710 } 728 }
711 } 729 }
790 SubMenu = 1; 808 SubMenu = 1;
791 } 809 }
792 printf("unit zero sub %d new %d idx %d\n", SubMenu, New_Loop2, idx); 810 printf("unit zero sub %d new %d idx %d\n", SubMenu, New_Loop2, idx);
793 break; 811 break;
794 812
813 case ML2_NETWORK:
814 New_Loop2 = ML2_SETUP_NETWORK;
815 break;
816
817 case ML2_SETUP_NETWORK:
818 if (SubMenu == 0) {
819 rotary_editer("Hostname", config.hostname, "", 16, EDIT_TYPE_TEXT);
820 screen_network_setup(SubMenu);
821 }
822 if (SubMenu == 1) {
823 rotary_editer("NTP server", config.ntp_server, "", 16, EDIT_TYPE_TEXT);
824 screen_network_setup(SubMenu);
825 }
826 if (SubMenu == 2) {
827 ESP_LOGI(TAG, "Hostname `%s`", config.hostname);
828 ESP_LOGI(TAG, "NTP server `%s`", config.ntp_server);
829 write_config();
830 New_Loop2 = ML2_NETWORK;
831 }
832 break;
833
795 case ML2_MQTT: 834 case ML2_MQTT:
796 New_Loop2 = ML2_SETUP_MQTT; 835 New_Loop2 = ML2_SETUP_MQTT;
797 break; 836 break;
798 837
799 case ML2_SETUP_MQTT: 838 case ML2_SETUP_MQTT:

mercurial