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: |