Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Communication FAQ related question #2

Closed
andy-danieal opened this issue Jan 8, 2024 · 3 comments
Closed

Communication FAQ related question #2

andy-danieal opened this issue Jan 8, 2024 · 3 comments

Comments

@andy-danieal
Copy link

@aZholtikov
Copy link
Owner

Hi!

  1. The zh_network was tested with 5 forwarding levels. Theoretically there can be as many levels as you want (just need to increase max_waiting_time accordingly).
  2. For read RSSI, the access point must be visible. This feature is contrary the principle that all nodes are not visible to the network scanner.

@andy-danieal
Copy link
Author

andy-danieal commented Jan 8, 2024

Thanks for sharing valuable information.

As per 5 forwarding levels, But we have check code than i have see only 2 level communication is working because we used that struct

typedef struct zh_network_routing_table_t
{
    uint8_t original_target_mac[ESP_NOW_ETH_ALEN];
    uint8_t intermediate_target_mac[ESP_NOW_ETH_ALEN];
} __attribute__((packed)) zh_network_routing_table_t;

Can you explain How it's worked with level 5. and How many zh_network_routing_table entry store in each device?

Also, Explain routing_table entry for from D1 to send data D5.

D1 -> D2 -> D3 -> D4 -> D5
D1 -> D6
D1 -> D7 -> D8 -> D5

@aZholtikov
Copy link
Owner

aZholtikov commented Jan 9, 2024

I'll try to explain in more detail. Each device has only the information necessary to forward the message (final target mac, intermediate router mac). There is no complete information in the node about the full route.

As an example: node mac (final target mac, intermediate router mac).
The full route from D1 to D5 will look like this:
D1 (D5, D2) -> D2 (D5, D3) -> D3 (D5, D4) -> D4 (D5, D5) -> D5

How many zh_network_routing_table entry store in each device? - Up to uint16_t value, but the maximum value is set in the initial settings (route_vector_size - The maximum size of the routing table. If the size is exceeded, the first route will be deleted. Minimum recommended value: number of planned nodes in the network + 10%.).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants