Used with eeprom_flash to write network configuration to STM32F103 flash
Fork of my_eeprom_funcs by
my_eeprom_funcs.cpp@12:613ab276bf37, 2015-01-10 (annotated)
- Committer:
- olympux
- Date:
- Sat Jan 10 16:19:18 2015 +0000
- Revision:
- 12:613ab276bf37
- Parent:
- 11:250b05a5266d
- Child:
- 13:7ffbbfe999c5
Updated API documentation
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
olympux | 1:6bdc99dd8e0a | 1 | #include "mbed.h" |
olympux | 1:6bdc99dd8e0a | 2 | #include "my_eeprom_funcs.h" |
olympux | 1:6bdc99dd8e0a | 3 | |
olympux | 1:6bdc99dd8e0a | 4 | |
olympux | 11:250b05a5266d | 5 | /* |
olympux | 10:f37acffddef9 | 6 | * Debug option |
olympux | 10:f37acffddef9 | 7 | */ |
olympux | 4:944a4646b825 | 8 | #if 1 |
olympux | 4:944a4646b825 | 9 | //Enable debug |
olympux | 4:944a4646b825 | 10 | #include <cstdio> |
olympux | 4:944a4646b825 | 11 | #define DBG(x, ...) std::printf("[eeprom : DBG]"x"\r\n", ##__VA_ARGS__); |
olympux | 4:944a4646b825 | 12 | #define WARN(x, ...) std::printf("[eeprom : WARN]"x"\r\n", ##__VA_ARGS__); |
olympux | 4:944a4646b825 | 13 | #define ERR(x, ...) std::printf("[eeprom : ERR]"x"\r\n", ##__VA_ARGS__); |
olympux | 4:944a4646b825 | 14 | |
olympux | 4:944a4646b825 | 15 | #else |
olympux | 4:944a4646b825 | 16 | //Disable debug |
olympux | 4:944a4646b825 | 17 | #define DBG(x, ...) |
olympux | 4:944a4646b825 | 18 | #define WARN(x, ...) |
olympux | 4:944a4646b825 | 19 | #define ERR(x, ...) |
olympux | 4:944a4646b825 | 20 | |
olympux | 4:944a4646b825 | 21 | #endif |
olympux | 4:944a4646b825 | 22 | |
olympux | 12:613ab276bf37 | 23 | /*! |
olympux | 12:613ab276bf37 | 24 | * Function to write module network configuration |
olympux | 12:613ab276bf37 | 25 | * @param <char *buf> configuration buffer |
olympux | 12:613ab276bf37 | 26 | * @note 4-byte IP address |
olympux | 12:613ab276bf37 | 27 | * @note 4-byte subnet |
olympux | 12:613ab276bf37 | 28 | * @note 4-byte gateway |
olympux | 12:613ab276bf37 | 29 | * @note 3-byte MAC |
olympux | 12:613ab276bf37 | 30 | */ |
olympux | 1:6bdc99dd8e0a | 31 | void write_eeprom_network(char *buf) { |
olympux | 1:6bdc99dd8e0a | 32 | // Write network configuration |
olympux | 1:6bdc99dd8e0a | 33 | // 4-byte IP address + 4-byte subnet + 4-byte gateway + 3-byte MAC |
olympux | 1:6bdc99dd8e0a | 34 | |
olympux | 5:eea03d0eb95a | 35 | DBG("Saving network configuration for this device..."); |
olympux | 1:6bdc99dd8e0a | 36 | |
olympux | 1:6bdc99dd8e0a | 37 | // Unlock the Flash Program Erase controller */ |
olympux | 1:6bdc99dd8e0a | 38 | FLASH_Unlock(); |
olympux | 1:6bdc99dd8e0a | 39 | // EEPROM Init |
olympux | 1:6bdc99dd8e0a | 40 | EE_Init(); |
olympux | 6:241d1539914a | 41 | |
olympux | 6:241d1539914a | 42 | // erase first_run flag |
olympux | 8:4fc4b1b5509b | 43 | EE_WriteVariable(VirtAddVarTab[CONFIGURED_IP_FLAG_POS], DEFAULT_ENABLE_FLAG_VALUE); |
olympux | 6:241d1539914a | 44 | |
olympux | 1:6bdc99dd8e0a | 45 | // IP address |
olympux | 1:6bdc99dd8e0a | 46 | EE_WriteVariable(VirtAddVarTab[IP_ADDRESS_POS+0], *buf++); |
olympux | 1:6bdc99dd8e0a | 47 | EE_WriteVariable(VirtAddVarTab[IP_ADDRESS_POS+1], *buf++); |
olympux | 1:6bdc99dd8e0a | 48 | EE_WriteVariable(VirtAddVarTab[IP_ADDRESS_POS+2], *buf++); |
olympux | 1:6bdc99dd8e0a | 49 | EE_WriteVariable(VirtAddVarTab[IP_ADDRESS_POS+3], *buf++); |
olympux | 1:6bdc99dd8e0a | 50 | |
olympux | 1:6bdc99dd8e0a | 51 | // IP subnet |
olympux | 1:6bdc99dd8e0a | 52 | EE_WriteVariable(VirtAddVarTab[IP_SUBNET_POS+0], *buf++); |
olympux | 1:6bdc99dd8e0a | 53 | EE_WriteVariable(VirtAddVarTab[IP_SUBNET_POS+1], *buf++); |
olympux | 1:6bdc99dd8e0a | 54 | EE_WriteVariable(VirtAddVarTab[IP_SUBNET_POS+2], *buf++); |
olympux | 1:6bdc99dd8e0a | 55 | EE_WriteVariable(VirtAddVarTab[IP_SUBNET_POS+3], *buf++); |
olympux | 1:6bdc99dd8e0a | 56 | |
olympux | 1:6bdc99dd8e0a | 57 | // IP gateway |
olympux | 1:6bdc99dd8e0a | 58 | EE_WriteVariable(VirtAddVarTab[IP_GATEWAY_POS+0], *buf++); |
olympux | 1:6bdc99dd8e0a | 59 | EE_WriteVariable(VirtAddVarTab[IP_GATEWAY_POS+1], *buf++); |
olympux | 1:6bdc99dd8e0a | 60 | EE_WriteVariable(VirtAddVarTab[IP_GATEWAY_POS+2], *buf++); |
olympux | 1:6bdc99dd8e0a | 61 | EE_WriteVariable(VirtAddVarTab[IP_GATEWAY_POS+3], *buf++); |
olympux | 1:6bdc99dd8e0a | 62 | |
olympux | 1:6bdc99dd8e0a | 63 | //// TCP server port, not used |
olympux | 1:6bdc99dd8e0a | 64 | //EE_WriteVariable(VirtAddVarTab[TCP_SERVER_LOCAL_PORT_POS], *buf++); |
olympux | 1:6bdc99dd8e0a | 65 | //// UDP server port, not used |
olympux | 1:6bdc99dd8e0a | 66 | //EE_WriteVariable(VirtAddVarTab[UDP_SERVER_LOCAL_PORT_POS], *buf++); |
olympux | 1:6bdc99dd8e0a | 67 | |
olympux | 1:6bdc99dd8e0a | 68 | // MAC address |
olympux | 1:6bdc99dd8e0a | 69 | EE_WriteVariable(VirtAddVarTab[MAC_ADDRESS_POS+0], *buf++); |
olympux | 1:6bdc99dd8e0a | 70 | EE_WriteVariable(VirtAddVarTab[MAC_ADDRESS_POS+1], *buf++); |
olympux | 1:6bdc99dd8e0a | 71 | EE_WriteVariable(VirtAddVarTab[MAC_ADDRESS_POS+2], *buf++); |
olympux | 1:6bdc99dd8e0a | 72 | FLASH_Lock(); |
olympux | 1:6bdc99dd8e0a | 73 | |
olympux | 6:241d1539914a | 74 | DBG("Successful"); |
olympux | 1:6bdc99dd8e0a | 75 | } |
olympux | 1:6bdc99dd8e0a | 76 | |
olympux | 10:f37acffddef9 | 77 | /*! |
olympux | 10:f37acffddef9 | 78 | * Function to load module network configuration |
olympux | 10:f37acffddef9 | 79 | */ |
olympux | 1:6bdc99dd8e0a | 80 | void load_eeprom_network(void) { |
olympux | 1:6bdc99dd8e0a | 81 | mbed_mac_address((char *)u8mac); |
olympux | 1:6bdc99dd8e0a | 82 | |
olympux | 5:eea03d0eb95a | 83 | DBG("Loading network configuration..."); |
olympux | 1:6bdc99dd8e0a | 84 | |
olympux | 1:6bdc99dd8e0a | 85 | EE_Init(); |
olympux | 1:6bdc99dd8e0a | 86 | |
olympux | 1:6bdc99dd8e0a | 87 | // check if 1st run |
olympux | 8:4fc4b1b5509b | 88 | EE_ReadVariable(VirtAddVarTab[CONFIGURED_IP_FLAG_POS], &configured_ip); |
olympux | 1:6bdc99dd8e0a | 89 | // if not first run, load network config |
olympux | 8:4fc4b1b5509b | 90 | if (configured_ip == DEFAULT_ENABLE_FLAG_VALUE) { |
olympux | 5:eea03d0eb95a | 91 | DBG("User settings"); |
olympux | 1:6bdc99dd8e0a | 92 | |
olympux | 1:6bdc99dd8e0a | 93 | // IP address |
olympux | 1:6bdc99dd8e0a | 94 | EE_ReadVariable(VirtAddVarTab[IP_ADDRESS_POS+0], &u16ip_addr[0]); |
olympux | 1:6bdc99dd8e0a | 95 | EE_ReadVariable(VirtAddVarTab[IP_ADDRESS_POS+1], &u16ip_addr[1]); |
olympux | 1:6bdc99dd8e0a | 96 | EE_ReadVariable(VirtAddVarTab[IP_ADDRESS_POS+2], &u16ip_addr[2]); |
olympux | 1:6bdc99dd8e0a | 97 | EE_ReadVariable(VirtAddVarTab[IP_ADDRESS_POS+3], &u16ip_addr[3]); |
olympux | 1:6bdc99dd8e0a | 98 | u8ip_addr[0] = (uint8_t)(u16ip_addr[0] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 99 | u8ip_addr[1] = (uint8_t)(u16ip_addr[1] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 100 | u8ip_addr[2] = (uint8_t)(u16ip_addr[2] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 101 | u8ip_addr[3] = (uint8_t)(u16ip_addr[3] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 102 | |
olympux | 1:6bdc99dd8e0a | 103 | // IP subnet |
olympux | 1:6bdc99dd8e0a | 104 | EE_ReadVariable(VirtAddVarTab[IP_SUBNET_POS+0], &u16ip_subnet[0]); |
olympux | 1:6bdc99dd8e0a | 105 | EE_ReadVariable(VirtAddVarTab[IP_SUBNET_POS+1], &u16ip_subnet[1]); |
olympux | 1:6bdc99dd8e0a | 106 | EE_ReadVariable(VirtAddVarTab[IP_SUBNET_POS+2], &u16ip_subnet[2]); |
olympux | 1:6bdc99dd8e0a | 107 | EE_ReadVariable(VirtAddVarTab[IP_SUBNET_POS+3], &u16ip_subnet[3]); |
olympux | 1:6bdc99dd8e0a | 108 | |
olympux | 1:6bdc99dd8e0a | 109 | // IP gateway |
olympux | 1:6bdc99dd8e0a | 110 | EE_ReadVariable(VirtAddVarTab[IP_GATEWAY_POS+0], &u16ip_gateway[0]); |
olympux | 1:6bdc99dd8e0a | 111 | EE_ReadVariable(VirtAddVarTab[IP_GATEWAY_POS+1], &u16ip_gateway[1]); |
olympux | 1:6bdc99dd8e0a | 112 | EE_ReadVariable(VirtAddVarTab[IP_GATEWAY_POS+2], &u16ip_gateway[2]); |
olympux | 1:6bdc99dd8e0a | 113 | EE_ReadVariable(VirtAddVarTab[IP_GATEWAY_POS+3], &u16ip_gateway[3]); |
olympux | 1:6bdc99dd8e0a | 114 | |
olympux | 1:6bdc99dd8e0a | 115 | //// TCP server port |
olympux | 2:57d40eaa1b1b | 116 | //EE_ReadVariable(VirtAddVarTab[TCP_SERVER_LOCAL_PORT_POS], &tcp_server_local_port); |
olympux | 1:6bdc99dd8e0a | 117 | //// UDP server port |
olympux | 2:57d40eaa1b1b | 118 | //EE_ReadVariable(VirtAddVarTab[UDP_SERVER_LOCAL_PORT_POS], &udp_server_local_port); |
olympux | 1:6bdc99dd8e0a | 119 | |
olympux | 1:6bdc99dd8e0a | 120 | // MAC address |
olympux | 1:6bdc99dd8e0a | 121 | EE_ReadVariable(VirtAddVarTab[MAC_ADDRESS_POS+0], &u16mac_addr[0]); |
olympux | 1:6bdc99dd8e0a | 122 | EE_ReadVariable(VirtAddVarTab[MAC_ADDRESS_POS+1], &u16mac_addr[1]); |
olympux | 1:6bdc99dd8e0a | 123 | EE_ReadVariable(VirtAddVarTab[MAC_ADDRESS_POS+2], &u16mac_addr[2]); |
olympux | 1:6bdc99dd8e0a | 124 | u8mac[0] = DEFAULT_MAC0; u8mac[1] = DEFAULT_MAC1; u8mac[2] = DEFAULT_MAC2; |
olympux | 1:6bdc99dd8e0a | 125 | u8mac[3] = (uint8_t)(u16mac_addr[0] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 126 | u8mac[4] = (uint8_t)(u16mac_addr[1] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 127 | u8mac[5] = (uint8_t)(u16mac_addr[2] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 128 | //FLASH_Lock(); |
olympux | 1:6bdc99dd8e0a | 129 | |
olympux | 1:6bdc99dd8e0a | 130 | sprintf(str_ip_addr, "%d.%d.%d.%d", u8ip_addr[0], u8ip_addr[1], u8ip_addr[2], u8ip_addr[3]); |
olympux | 1:6bdc99dd8e0a | 131 | sprintf(str_ip_subnet, "%d.%d.%d.%d", (uint8_t)u16ip_subnet[0], (uint8_t)u16ip_subnet[1], (uint8_t)u16ip_subnet[2], (uint8_t)u16ip_subnet[3]); |
olympux | 1:6bdc99dd8e0a | 132 | sprintf(str_ip_gateway, "%d.%d.%d.%d", (uint8_t)u16ip_gateway[0], (uint8_t)u16ip_gateway[1], (uint8_t)u16ip_gateway[2], (uint8_t)u16ip_gateway[3]); |
olympux | 1:6bdc99dd8e0a | 133 | } |
olympux | 8:4fc4b1b5509b | 134 | // if ip is not configured, use default addresses |
olympux | 1:6bdc99dd8e0a | 135 | else { |
olympux | 5:eea03d0eb95a | 136 | DBG("No user settings, load defaults"); |
olympux | 1:6bdc99dd8e0a | 137 | u8mac[0] = DEFAULT_MAC0; u8mac[1] = DEFAULT_MAC1; u8mac[2] = DEFAULT_MAC2; |
olympux | 1:6bdc99dd8e0a | 138 | u8mac[3] = DEFAULT_MAC3; u8mac[4] = DEFAULT_MAC4; u8mac[5] = DEFAULT_MAC5; |
olympux | 1:6bdc99dd8e0a | 139 | sprintf(str_ip_addr, DEFAULT_IP_ADDRESS); |
olympux | 1:6bdc99dd8e0a | 140 | sprintf(str_ip_subnet, DEFAULT_IP_SUBNET); |
olympux | 1:6bdc99dd8e0a | 141 | sprintf(str_ip_gateway, DEFAULT_IP_GATEWAY); |
olympux | 1:6bdc99dd8e0a | 142 | } |
olympux | 1:6bdc99dd8e0a | 143 | |
olympux | 6:241d1539914a | 144 | DBG("Successful"); |
olympux | 5:eea03d0eb95a | 145 | DBG("IP: %s", str_ip_addr); |
olympux | 5:eea03d0eb95a | 146 | DBG("MASK: %s", str_ip_subnet); |
olympux | 5:eea03d0eb95a | 147 | DBG("GW: %s", str_ip_gateway); |
olympux | 5:eea03d0eb95a | 148 | DBG("TCP server local port: %d", tcp_server_local_port); |
olympux | 5:eea03d0eb95a | 149 | DBG("UDP server local port: %d", udp_server_local_port); |
olympux | 1:6bdc99dd8e0a | 150 | } |
olympux | 1:6bdc99dd8e0a | 151 | |
olympux | 1:6bdc99dd8e0a | 152 | |
olympux | 10:f37acffddef9 | 153 | /*! |
olympux | 10:f37acffddef9 | 154 | * Function to write settings of remote TCP server. It is only used when this device in TCP client mode. |
olympux | 10:f37acffddef9 | 155 | * When enabled, this device will periodically transmit data to TCP server. |
olympux | 10:f37acffddef9 | 156 | * @param <char* buf> buffer as following |
olympux | 10:f37acffddef9 | 157 | * 1-byte Auto transmit flag: 'Y' |
olympux | 10:f37acffddef9 | 158 | * 1-byte Auto transmit period: in seconds |
olympux | 10:f37acffddef9 | 159 | * 4-byte TCP server IP address |
olympux | 10:f37acffddef9 | 160 | * 2-byte TCP server port (LSB MSB) |
olympux | 10:f37acffddef9 | 161 | */ |
olympux | 1:6bdc99dd8e0a | 162 | void write_eeprom_tcpserver(char* buf) { |
olympux | 1:6bdc99dd8e0a | 163 | // Write network configuration |
olympux | 2:57d40eaa1b1b | 164 | // 1-byte Auto transmit flag + 1-byte Auto transmit period + 4-byte TCP server IP address + 2-byte TCP server port (LSB msb) |
olympux | 1:6bdc99dd8e0a | 165 | |
olympux | 6:241d1539914a | 166 | DBG("Saving TCP server settings..."); |
olympux | 1:6bdc99dd8e0a | 167 | |
olympux | 1:6bdc99dd8e0a | 168 | // Unlock the Flash Program Erase controller |
olympux | 1:6bdc99dd8e0a | 169 | FLASH_Unlock(); |
olympux | 1:6bdc99dd8e0a | 170 | // EEPROM Init |
olympux | 1:6bdc99dd8e0a | 171 | EE_Init(); |
olympux | 1:6bdc99dd8e0a | 172 | |
olympux | 6:241d1539914a | 173 | // Auto transmit flag |
olympux | 5:eea03d0eb95a | 174 | if (*buf == 'Y') { |
olympux | 6:241d1539914a | 175 | EE_WriteVariable(VirtAddVarTab[AUTO_TRANSMIT_FLAG_POS], DEFAULT_ENABLE_FLAG_VALUE); |
olympux | 5:eea03d0eb95a | 176 | } |
olympux | 5:eea03d0eb95a | 177 | else { |
olympux | 6:241d1539914a | 178 | EE_WriteVariable(VirtAddVarTab[AUTO_TRANSMIT_FLAG_POS], DEFAULT_DISABLE_FLAG_VALUE); |
olympux | 5:eea03d0eb95a | 179 | } |
olympux | 3:69e1c4ed69e1 | 180 | buf++; |
olympux | 6:241d1539914a | 181 | // Auto transmit period |
olympux | 1:6bdc99dd8e0a | 182 | EE_WriteVariable(VirtAddVarTab[AUTO_TRANSMIT_TIME_PERIOD_POS], *buf++); |
olympux | 1:6bdc99dd8e0a | 183 | // IP address |
olympux | 1:6bdc99dd8e0a | 184 | EE_WriteVariable(VirtAddVarTab[TCP_SERVER_IP_ADDR_POS+0], *buf++); |
olympux | 1:6bdc99dd8e0a | 185 | EE_WriteVariable(VirtAddVarTab[TCP_SERVER_IP_ADDR_POS+1], *buf++); |
olympux | 1:6bdc99dd8e0a | 186 | EE_WriteVariable(VirtAddVarTab[TCP_SERVER_IP_ADDR_POS+2], *buf++); |
olympux | 1:6bdc99dd8e0a | 187 | EE_WriteVariable(VirtAddVarTab[TCP_SERVER_IP_ADDR_POS+3], *buf++); |
olympux | 1:6bdc99dd8e0a | 188 | // TCP server port |
olympux | 2:57d40eaa1b1b | 189 | uint16_t port; |
olympux | 2:57d40eaa1b1b | 190 | memcpy(&port, buf, 2); |
olympux | 2:57d40eaa1b1b | 191 | EE_WriteVariable(VirtAddVarTab[TCP_SERVER_PORT_POS], port); |
olympux | 1:6bdc99dd8e0a | 192 | |
olympux | 1:6bdc99dd8e0a | 193 | FLASH_Lock(); |
olympux | 1:6bdc99dd8e0a | 194 | |
olympux | 6:241d1539914a | 195 | DBG("Successful"); |
olympux | 1:6bdc99dd8e0a | 196 | } |
olympux | 1:6bdc99dd8e0a | 197 | |
olympux | 10:f37acffddef9 | 198 | /*! |
olympux | 10:f37acffddef9 | 199 | * Function to load remote TCP server configuration |
olympux | 10:f37acffddef9 | 200 | */ |
olympux | 1:6bdc99dd8e0a | 201 | void load_eeprom_tcpserver(void) { |
olympux | 5:eea03d0eb95a | 202 | DBG("Checking auto update mode..."); |
olympux | 1:6bdc99dd8e0a | 203 | |
olympux | 1:6bdc99dd8e0a | 204 | EE_Init(); |
olympux | 1:6bdc99dd8e0a | 205 | |
olympux | 1:6bdc99dd8e0a | 206 | // check if 1st run |
olympux | 1:6bdc99dd8e0a | 207 | EE_ReadVariable(VirtAddVarTab[AUTO_TRANSMIT_FLAG_POS], &auto_transmit_flag); |
olympux | 1:6bdc99dd8e0a | 208 | // if not auto transmit, exit |
olympux | 6:241d1539914a | 209 | if (auto_transmit_flag == DEFAULT_ENABLE_FLAG_VALUE) { |
olympux | 1:6bdc99dd8e0a | 210 | // Time period for transmitting to server |
olympux | 1:6bdc99dd8e0a | 211 | EE_ReadVariable(VirtAddVarTab[AUTO_TRANSMIT_TIME_PERIOD_POS], &transmit_time_period); |
olympux | 6:241d1539914a | 212 | // TCP server/client enable flags, not in used |
olympux | 10:f37acffddef9 | 213 | EE_ReadVariable(VirtAddVarTab[ENABLE_TCP_CLIENT], &u16enable_tcp_client); |
olympux | 10:f37acffddef9 | 214 | EE_ReadVariable(VirtAddVarTab[ENABLE_TCP_SERVER], &u16enable_tcp_server); |
olympux | 1:6bdc99dd8e0a | 215 | // IP address |
olympux | 1:6bdc99dd8e0a | 216 | EE_ReadVariable(VirtAddVarTab[TCP_SERVER_IP_ADDR_POS+0], &u16server_ip_addr[0]); |
olympux | 1:6bdc99dd8e0a | 217 | EE_ReadVariable(VirtAddVarTab[TCP_SERVER_IP_ADDR_POS+1], &u16server_ip_addr[1]); |
olympux | 1:6bdc99dd8e0a | 218 | EE_ReadVariable(VirtAddVarTab[TCP_SERVER_IP_ADDR_POS+2], &u16server_ip_addr[2]); |
olympux | 1:6bdc99dd8e0a | 219 | EE_ReadVariable(VirtAddVarTab[TCP_SERVER_IP_ADDR_POS+3], &u16server_ip_addr[3]); |
olympux | 1:6bdc99dd8e0a | 220 | u8server_ip_addr[0] = (uint8_t)(u16server_ip_addr[0] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 221 | u8server_ip_addr[1] = (uint8_t)(u16server_ip_addr[1] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 222 | u8server_ip_addr[2] = (uint8_t)(u16server_ip_addr[2] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 223 | u8server_ip_addr[3] = (uint8_t)(u16server_ip_addr[3] & 0x00FF); |
olympux | 1:6bdc99dd8e0a | 224 | // TCP server port |
olympux | 1:6bdc99dd8e0a | 225 | EE_ReadVariable(VirtAddVarTab[TCP_SERVER_PORT_POS], &u16tcp_server_port); |
olympux | 1:6bdc99dd8e0a | 226 | |
olympux | 1:6bdc99dd8e0a | 227 | sprintf(str_server_ip_addr, "%d.%d.%d.%d", u8server_ip_addr[0], u8server_ip_addr[1], u8server_ip_addr[2], u8server_ip_addr[3]); |
olympux | 6:241d1539914a | 228 | DBG("Enabled auto update, module is a TCP client"); |
olympux | 5:eea03d0eb95a | 229 | DBG("Update every %ds to TCP server %s on port %d", transmit_time_period, str_server_ip_addr, u16tcp_server_port); |
olympux | 1:6bdc99dd8e0a | 230 | } |
olympux | 1:6bdc99dd8e0a | 231 | // if 1st run, use default addresses |
olympux | 1:6bdc99dd8e0a | 232 | else { |
olympux | 9:b5fbb35bbc02 | 233 | DBG("No auto update using TCP client"); |
olympux | 1:6bdc99dd8e0a | 234 | } |
olympux | 1:6bdc99dd8e0a | 235 | } |