diff options
author | David Crocker <dcrocker@eschertech.com> | 2016-04-08 10:41:04 +0300 |
---|---|---|
committer | David Crocker <dcrocker@eschertech.com> | 2016-04-08 10:41:04 +0300 |
commit | ee4f8fd3e55b61f1a9824a004e3cd768c80c0c91 (patch) | |
tree | 5d4f15249956e8f55182163a998e92c6f21181c4 | |
parent | 7f6693bf64f6e63b89ede555d8a5381b8a6ac732 (diff) |
Changes to use new core
Changed to use new core
Added build options for next generation Duet
When changing microstepping, update steps/mm automatically
-rw-r--r-- | .cproject | 190 | ||||
-rw-r--r-- | .settings/language.settings.xml | 36 | ||||
-rw-r--r-- | src/Configuration.h | 4 | ||||
-rw-r--r-- | src/DriveMovement.h | 8 | ||||
-rw-r--r-- | src/Duet/EMAC/arch/cc.h (renamed from Libraries/EMAC/arch/cc.h) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/arch/perf.h (renamed from Libraries/EMAC/arch/perf.h) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/conf_eth.h | 106 | ||||
-rw-r--r-- | src/Duet/EMAC/ethernet_phy.c (renamed from Libraries/EMAC/ethernet_phy.c) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/ethernet_phy.h (renamed from Libraries/EMAC/ethernet_phy.h) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/ethernet_sam.c (renamed from Libraries/EMAC/ethernet_sam.c) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/ethernet_sam.h (renamed from Libraries/EMAC/ethernet_sam.h) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/ethernetif.c (renamed from Libraries/EMAC/ethernetif.c) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/ethernetif.h (renamed from Libraries/EMAC/ethernetif.h) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/mini_ip.h (renamed from Libraries/EMAC/mini_ip.h) | 0 | ||||
-rw-r--r-- | src/Duet/EMAC/rmii.h (renamed from Libraries/EMAC/rmii.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/CHANGELOG (renamed from Libraries/Lwip/CHANGELOG) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/FILES (renamed from Libraries/Lwip/FILES) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/README (renamed from Libraries/Lwip/README) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/contrib/apps/mdns/mdns_responder.c (renamed from Libraries/Lwip/contrib/apps/mdns/mdns_responder.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/contrib/apps/mdns/mdns_responder.h (renamed from Libraries/Lwip/contrib/apps/mdns/mdns_responder.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/contrib/apps/netbios/netbios.c (renamed from Libraries/Lwip/contrib/apps/netbios/netbios.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/contrib/apps/netbios/netbios.h (renamed from Libraries/Lwip/contrib/apps/netbios/netbios.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/doc/FILES (renamed from Libraries/Lwip/doc/FILES) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/doc/contrib.txt (renamed from Libraries/Lwip/doc/contrib.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/doc/rawapi.txt (renamed from Libraries/Lwip/doc/rawapi.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/doc/savannah.txt (renamed from Libraries/Lwip/doc/savannah.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/doc/snmp_agent.txt (renamed from Libraries/Lwip/doc/snmp_agent.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/doc/sys_arch.txt (renamed from Libraries/Lwip/doc/sys_arch.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/CHANGELOG (renamed from Libraries/Lwip/lwip/CHANGELOG) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/COPYING (renamed from Libraries/Lwip/lwip/COPYING) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/FILES (renamed from Libraries/Lwip/lwip/FILES) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/README (renamed from Libraries/Lwip/lwip/README) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/UPGRADING (renamed from Libraries/Lwip/lwip/UPGRADING) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/doc/FILES (renamed from Libraries/Lwip/lwip/doc/FILES) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/doc/contrib.txt (renamed from Libraries/Lwip/lwip/doc/contrib.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/doc/rawapi.txt (renamed from Libraries/Lwip/lwip/doc/rawapi.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/doc/savannah.txt (renamed from Libraries/Lwip/lwip/doc/savannah.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/doc/snmp_agent.txt (renamed from Libraries/Lwip/lwip/doc/snmp_agent.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/doc/sys_arch.txt (renamed from Libraries/Lwip/lwip/doc/sys_arch.txt) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/FILES (renamed from Libraries/Lwip/lwip/src/FILES) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/api/api_lib.c (renamed from Libraries/Lwip/lwip/src/api/api_lib.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/api/api_msg.c (renamed from Libraries/Lwip/lwip/src/api/api_msg.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/api/err.c (renamed from Libraries/Lwip/lwip/src/api/err.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/api/netbuf.c (renamed from Libraries/Lwip/lwip/src/api/netbuf.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/api/netdb.c (renamed from Libraries/Lwip/lwip/src/api/netdb.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/api/netifapi.c (renamed from Libraries/Lwip/lwip/src/api/netifapi.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/api/sockets.c (renamed from Libraries/Lwip/lwip/src/api/sockets.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/api/tcpip.c (renamed from Libraries/Lwip/lwip/src/api/tcpip.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/def.c (renamed from Libraries/Lwip/lwip/src/core/def.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/dhcp.c (renamed from Libraries/Lwip/lwip/src/core/dhcp.c) | 6 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/dns.c (renamed from Libraries/Lwip/lwip/src/core/dns.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv4/autoip.c (renamed from Libraries/Lwip/lwip/src/core/ipv4/autoip.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv4/icmp.c (renamed from Libraries/Lwip/lwip/src/core/ipv4/icmp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv4/igmp.c (renamed from Libraries/Lwip/lwip/src/core/ipv4/igmp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv4/inet.c (renamed from Libraries/Lwip/lwip/src/core/ipv4/inet.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv4/inet_chksum.c (renamed from Libraries/Lwip/lwip/src/core/ipv4/inet_chksum.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv4/ip.c (renamed from Libraries/Lwip/lwip/src/core/ipv4/ip.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv4/ip_addr.c (renamed from Libraries/Lwip/lwip/src/core/ipv4/ip_addr.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv4/ip_frag.c (renamed from Libraries/Lwip/lwip/src/core/ipv4/ip_frag.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv6/README (renamed from Libraries/Lwip/lwip/src/core/ipv6/README) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv6/icmp6.c (renamed from Libraries/Lwip/lwip/src/core/ipv6/icmp6.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv6/inet6.c (renamed from Libraries/Lwip/lwip/src/core/ipv6/inet6.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv6/ip6.c (renamed from Libraries/Lwip/lwip/src/core/ipv6/ip6.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/ipv6/ip6_addr.c (renamed from Libraries/Lwip/lwip/src/core/ipv6/ip6_addr.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/lwip_init.c (renamed from Libraries/Lwip/lwip/src/core/lwip_init.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/lwip_timers_141.c (renamed from Libraries/Lwip/lwip/src/core/lwip_timers_141.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/mem.c (renamed from Libraries/Lwip/lwip/src/core/mem.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/memp.c (renamed from Libraries/Lwip/lwip/src/core/memp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/netif.c (renamed from Libraries/Lwip/lwip/src/core/netif.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/pbuf.c (renamed from Libraries/Lwip/lwip/src/core/pbuf.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/raw.c (renamed from Libraries/Lwip/lwip/src/core/raw.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/snmp/asn1_dec.c (renamed from Libraries/Lwip/lwip/src/core/snmp/asn1_dec.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/snmp/asn1_enc.c (renamed from Libraries/Lwip/lwip/src/core/snmp/asn1_enc.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/snmp/mib2.c (renamed from Libraries/Lwip/lwip/src/core/snmp/mib2.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/snmp/mib_structs.c (renamed from Libraries/Lwip/lwip/src/core/snmp/mib_structs.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/snmp/msg_in.c (renamed from Libraries/Lwip/lwip/src/core/snmp/msg_in.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/snmp/msg_out.c (renamed from Libraries/Lwip/lwip/src/core/snmp/msg_out.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/stats.c (renamed from Libraries/Lwip/lwip/src/core/stats.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/sys.c (renamed from Libraries/Lwip/lwip/src/core/sys.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/tcp.c (renamed from Libraries/Lwip/lwip/src/core/tcp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/tcp_in.c (renamed from Libraries/Lwip/lwip/src/core/tcp_in.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/tcp_out.c (renamed from Libraries/Lwip/lwip/src/core/tcp_out.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/core/udp.c (renamed from Libraries/Lwip/lwip/src/core/udp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxyfile.doxygen (renamed from Libraries/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxyfile.doxygen) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxygen_module_mainpage.h (renamed from Libraries/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxygen_module_mainpage.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv4/lwip/autoip.h (renamed from Libraries/Lwip/lwip/src/include/ipv4/lwip/autoip.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv4/lwip/icmp.h (renamed from Libraries/Lwip/lwip/src/include/ipv4/lwip/icmp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv4/lwip/igmp.h (renamed from Libraries/Lwip/lwip/src/include/ipv4/lwip/igmp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv4/lwip/inet.h (renamed from Libraries/Lwip/lwip/src/include/ipv4/lwip/inet.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv4/lwip/inet_chksum.h (renamed from Libraries/Lwip/lwip/src/include/ipv4/lwip/inet_chksum.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip.h (renamed from Libraries/Lwip/lwip/src/include/ipv4/lwip/ip.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip_addr.h (renamed from Libraries/Lwip/lwip/src/include/ipv4/lwip/ip_addr.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip_frag.h (renamed from Libraries/Lwip/lwip/src/include/ipv4/lwip/ip_frag.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv6/lwip/icmp.h (renamed from Libraries/Lwip/lwip/src/include/ipv6/lwip/icmp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv6/lwip/inet.h (renamed from Libraries/Lwip/lwip/src/include/ipv6/lwip/inet.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv6/lwip/ip.h (renamed from Libraries/Lwip/lwip/src/include/ipv6/lwip/ip.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/ipv6/lwip/ip_addr.h (renamed from Libraries/Lwip/lwip/src/include/ipv6/lwip/ip_addr.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/api.h (renamed from Libraries/Lwip/lwip/src/include/lwip/api.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/api_msg.h (renamed from Libraries/Lwip/lwip/src/include/lwip/api_msg.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/arch.h (renamed from Libraries/Lwip/lwip/src/include/lwip/arch.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/debug.h (renamed from Libraries/Lwip/lwip/src/include/lwip/debug.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/def.h (renamed from Libraries/Lwip/lwip/src/include/lwip/def.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/dhcp.h (renamed from Libraries/Lwip/lwip/src/include/lwip/dhcp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/dns.h (renamed from Libraries/Lwip/lwip/src/include/lwip/dns.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/err.h (renamed from Libraries/Lwip/lwip/src/include/lwip/err.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/init.h (renamed from Libraries/Lwip/lwip/src/include/lwip/init.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/mem.h (renamed from Libraries/Lwip/lwip/src/include/lwip/mem.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/memp.h (renamed from Libraries/Lwip/lwip/src/include/lwip/memp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/memp_std.h (renamed from Libraries/Lwip/lwip/src/include/lwip/memp_std.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/netbuf.h (renamed from Libraries/Lwip/lwip/src/include/lwip/netbuf.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/netdb.h (renamed from Libraries/Lwip/lwip/src/include/lwip/netdb.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/netif.h (renamed from Libraries/Lwip/lwip/src/include/lwip/netif.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/netifapi.h (renamed from Libraries/Lwip/lwip/src/include/lwip/netifapi.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/opt.h (renamed from Libraries/Lwip/lwip/src/include/lwip/opt.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/pbuf.h (renamed from Libraries/Lwip/lwip/src/include/lwip/pbuf.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/raw.h (renamed from Libraries/Lwip/lwip/src/include/lwip/raw.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/sio.h (renamed from Libraries/Lwip/lwip/src/include/lwip/sio.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/snmp.h (renamed from Libraries/Lwip/lwip/src/include/lwip/snmp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/snmp_asn1.h (renamed from Libraries/Lwip/lwip/src/include/lwip/snmp_asn1.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/snmp_msg.h (renamed from Libraries/Lwip/lwip/src/include/lwip/snmp_msg.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/snmp_structs.h (renamed from Libraries/Lwip/lwip/src/include/lwip/snmp_structs.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/sockets.h (renamed from Libraries/Lwip/lwip/src/include/lwip/sockets.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/stats.h (renamed from Libraries/Lwip/lwip/src/include/lwip/stats.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/sys.h (renamed from Libraries/Lwip/lwip/src/include/lwip/sys.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/tcp.h (renamed from Libraries/Lwip/lwip/src/include/lwip/tcp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/tcp_impl.h (renamed from Libraries/Lwip/lwip/src/include/lwip/tcp_impl.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/tcpip.h (renamed from Libraries/Lwip/lwip/src/include/lwip/tcpip.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/timers.h (renamed from Libraries/Lwip/lwip/src/include/lwip/timers.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/lwip/udp.h (renamed from Libraries/Lwip/lwip/src/include/lwip/udp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/netif/etharp.h (renamed from Libraries/Lwip/lwip/src/include/netif/etharp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/netif/ppp_oe.h (renamed from Libraries/Lwip/lwip/src/include/netif/ppp_oe.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/include/netif/slipif.h (renamed from Libraries/Lwip/lwip/src/include/netif/slipif.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/FILES (renamed from Libraries/Lwip/lwip/src/netif/FILES) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/etharp.c (renamed from Libraries/Lwip/lwip/src/netif/etharp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ethernetif.c (renamed from Libraries/Lwip/lwip/src/netif/ethernetif.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/auth.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/auth.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/auth.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/auth.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/chap.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/chap.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/chap.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/chap.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/chpms.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/chpms.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/chpms.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/chpms.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/fsm.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/fsm.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/fsm.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/fsm.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/ipcp.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/ipcp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/ipcp.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/ipcp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/lcp.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/lcp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/lcp.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/lcp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/magic.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/magic.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/magic.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/magic.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/md5.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/md5.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/md5.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/md5.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/pap.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/pap.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/pap.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/pap.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/ppp.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/ppp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/ppp.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/ppp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/ppp_impl.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/ppp_impl.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/ppp_oe.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/ppp_oe.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/pppdebug.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/pppdebug.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/randm.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/randm.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/randm.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/randm.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/vj.c (renamed from Libraries/Lwip/lwip/src/netif/ppp/vj.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/ppp/vj.h (renamed from Libraries/Lwip/lwip/src/netif/ppp/vj.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/src/netif/slipif.c (renamed from Libraries/Lwip/lwip/src/netif/slipif.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/core/test_mem.c (renamed from Libraries/Lwip/lwip/test/unit/core/test_mem.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/core/test_mem.h (renamed from Libraries/Lwip/lwip/test/unit/core/test_mem.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/etharp/test_etharp.c (renamed from Libraries/Lwip/lwip/test/unit/etharp/test_etharp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/etharp/test_etharp.h (renamed from Libraries/Lwip/lwip/test/unit/etharp/test_etharp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/lwip_check.h (renamed from Libraries/Lwip/lwip/test/unit/lwip_check.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/lwip_unittests.c (renamed from Libraries/Lwip/lwip/test/unit/lwip_unittests.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/lwipopts.h (renamed from Libraries/Lwip/lwip/test/unit/lwipopts.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/tcp/tcp_helper.c (renamed from Libraries/Lwip/lwip/test/unit/tcp/tcp_helper.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/tcp/tcp_helper.h (renamed from Libraries/Lwip/lwip/test/unit/tcp/tcp_helper.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/tcp/test_tcp.c (renamed from Libraries/Lwip/lwip/test/unit/tcp/test_tcp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/tcp/test_tcp.h (renamed from Libraries/Lwip/lwip/test/unit/tcp/test_tcp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/tcp/test_tcp_oos.c (renamed from Libraries/Lwip/lwip/test/unit/tcp/test_tcp_oos.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/tcp/test_tcp_oos.h (renamed from Libraries/Lwip/lwip/test/unit/tcp/test_tcp_oos.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/udp/test_udp.c (renamed from Libraries/Lwip/lwip/test/unit/udp/test_udp.c) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwip/test/unit/udp/test_udp.h (renamed from Libraries/Lwip/lwip/test/unit/udp/test_udp.h) | 0 | ||||
-rw-r--r-- | src/Duet/Lwip/lwipopts.h (renamed from Libraries/Lwip/lwipopts.h) | 0 | ||||
-rw-r--r-- | src/Duet/Network.cpp (renamed from src/Network.cpp) | 0 | ||||
-rw-r--r-- | src/Duet/Network.h (renamed from src/Network.h) | 0 | ||||
-rw-r--r-- | src/Duet/Pins_duet.h (renamed from src/Pins_duet.h) | 14 | ||||
-rw-r--r-- | src/Duet/Webserver.cpp (renamed from src/Webserver.cpp) | 0 | ||||
-rw-r--r-- | src/Duet/Webserver.h (renamed from src/Webserver.h) | 0 | ||||
-rw-r--r-- | src/GCodes.cpp | 23 | ||||
-rw-r--r-- | src/GCodes.h | 1 | ||||
-rw-r--r-- | src/Libraries/.gitignore (renamed from Libraries/.gitignore) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/00readme.txt (renamed from Libraries/Fatfs/00readme.txt) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/ccsbcs.c (renamed from Libraries/Fatfs/ccsbcs.c) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/conf_fatfs.h (renamed from Libraries/Fatfs/conf_fatfs.h) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/diskio.c (renamed from Libraries/Fatfs/diskio.c) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/diskio.h (renamed from Libraries/Fatfs/diskio.h) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/fattime_rtc.c (renamed from Libraries/Fatfs/fattime_rtc.c) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/ff.c (renamed from Libraries/Fatfs/ff.c) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/ff.h (renamed from Libraries/Fatfs/ff.h) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/ffconf.h (renamed from Libraries/Fatfs/ffconf.h) | 0 | ||||
-rw-r--r-- | src/Libraries/Fatfs/integer.h (renamed from Libraries/Fatfs/integer.h) | 0 | ||||
-rw-r--r-- | src/Libraries/Flash/DueFlashStorage.cpp (renamed from Libraries/Flash/DueFlashStorage.cpp) | 16 | ||||
-rw-r--r-- | src/Libraries/Flash/DueFlashStorage.h (renamed from Libraries/Flash/DueFlashStorage.h) | 12 | ||||
-rw-r--r-- | src/Libraries/MAX31855/MAX31855.cpp (renamed from Libraries/MAX31855/MAX31855.cpp) | 24 | ||||
-rw-r--r-- | src/Libraries/MAX31855/MAX31855.h (renamed from Libraries/MAX31855/MAX31855.h) | 5 | ||||
-rw-r--r-- | src/Libraries/MCP4461/MCP4461.cpp (renamed from Libraries/MCP4461/MCP4461.cpp) | 112 | ||||
-rw-r--r-- | src/Libraries/MCP4461/MCP4461.h (renamed from Libraries/MCP4461/MCP4461.h) | 0 | ||||
-rw-r--r-- | src/Pins.h | 11 | ||||
-rw-r--r-- | src/Platform.cpp | 202 | ||||
-rw-r--r-- | src/Platform.h | 13 |
206 files changed, 503 insertions, 280 deletions
@@ -28,11 +28,11 @@ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.729788515" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> </tool> <tool commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="cdt.managedbuild.tool.gnu.cross.c.compiler.220085372" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler"> - <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1490670229" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/> - <option id="gnu.c.compiler.option.debugging.level.1765216517" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> - <option id="gnu.c.compiler.option.misc.verbose.1564280355" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" value="false" valueType="boolean"/> - <option id="gnu.c.compiler.option.misc.other.96683616" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -std=gnu99 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500" valueType="string"/> - <option id="gnu.c.compiler.option.include.paths.187319219" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> + <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1490670229" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/> + <option id="gnu.c.compiler.option.debugging.level.1765216517" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/> + <option id="gnu.c.compiler.option.misc.verbose.1564280355" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/> + <option id="gnu.c.compiler.option.misc.other.96683616" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -std=gnu99 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500" valueType="string"/> + <option id="gnu.c.compiler.option.include.paths.187319219" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/cores/arduino}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/system/libsam}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/system/CMSIS/Device/ATMEL}""/> @@ -41,11 +41,11 @@ <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/system/libsam/include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/system/CMSIS/Device/ATMEL/sam3xa/include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Storage}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip/lwip/src/include}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/EMAC}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/Lwip}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/Lwip/lwip/src/include}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/EMAC}""/> </option> - <option id="gnu.c.compiler.option.preprocessor.def.symbols.2036576066" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> + <option id="gnu.c.compiler.option.preprocessor.def.symbols.2036576066" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols"> <listOptionValue builtIn="false" value="__SAM3X8E__"/> <listOptionValue builtIn="false" value="F_CPU=84000000"/> <listOptionValue builtIn="false" value="USBCON"/> @@ -72,11 +72,11 @@ </inputType> </tool> <tool command="g++" id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1703390221" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler"> - <option id="gnu.cpp.compiler.option.optimization.level.1076886860" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/> - <option id="gnu.cpp.compiler.option.debugging.level.1252771497" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> - <option id="gnu.cpp.compiler.option.other.verbose.526148117" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" value="false" valueType="boolean"/> - <option id="gnu.cpp.compiler.option.other.other.1337488452" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -std=gnu++11 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib --param max-inline-insns-single=500" valueType="string"/> - <option id="gnu.cpp.compiler.option.include.paths.148186010" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> + <option id="gnu.cpp.compiler.option.optimization.level.1076886860" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/> + <option id="gnu.cpp.compiler.option.debugging.level.1252771497" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> + <option id="gnu.cpp.compiler.option.other.verbose.526148117" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/> + <option id="gnu.cpp.compiler.option.other.other.1337488452" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" useByScannerDiscovery="false" value="-c -std=gnu++11 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib --param max-inline-insns-single=500" valueType="string"/> + <option id="gnu.cpp.compiler.option.include.paths.148186010" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/cores/arduino}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Wire}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/system/libsam}""/> @@ -84,15 +84,16 @@ <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/system/CMSIS/CMSIS/Include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/variants/duet}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/system/libsam/include}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Storage}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/EMAC}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Fatfs}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/MAX31855}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/MCP4461}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Flash}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/Lwip}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/EMAC}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/Fatfs}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/MAX31855}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/MCP4461}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/Flash}""/> </option> - <option id="gnu.cpp.compiler.option.preprocessor.def.1913656094" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols"> + <option id="gnu.cpp.compiler.option.preprocessor.def.1913656094" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols"> <listOptionValue builtIn="false" value="__SAM3X8E__"/> <listOptionValue builtIn="false" value="F_CPU=84000000"/> <listOptionValue builtIn="false" value="USBCON"/> @@ -105,7 +106,7 @@ </toolChain> </folderInfo> <sourceEntries> - <entry excluding="Libraries/Lwip/lwip/src/core/ipv6|Libraries/Lwip/lwip/test|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/as_gcc|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_atmel|DuetArduinoCore/system/CMSIS/Device/ARM|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_arm|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/iar|DuetArduinoCore/system/CMSIS/CMSIS/Lib/ARM|DuetArduinoCore/system/CMSIS/CMSIS/DSP_Lib|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4.h|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3u|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3n|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM4|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM0|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3sd8" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> + <entry excluding="src/Duet/Lwip/lwip/src/core/ipv6|src/Duet/Lwip/lwip/test|src/DuetNG|Libraries/Lwip/lwip/src/core/ipv6|Libraries/Lwip/lwip/test|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/as_gcc|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_atmel|DuetArduinoCore/system/CMSIS/Device/ARM|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_arm|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/iar|DuetArduinoCore/system/CMSIS/CMSIS/Lib/ARM|DuetArduinoCore/system/CMSIS/CMSIS/DSP_Lib|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4.h|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3u|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3n|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM4|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM0|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3sd8" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> </sourceEntries> </configuration> </storageModule> @@ -138,34 +139,30 @@ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.230262206" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> </tool> <tool commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="cdt.managedbuild.tool.gnu.cross.c.compiler.278237460" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler"> - <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.710346403" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/> - <option id="gnu.c.compiler.option.debugging.level.836865552" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> - <option id="gnu.c.compiler.option.misc.verbose.431575256" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" value="false" valueType="boolean"/> - <option id="gnu.c.compiler.option.misc.other.660952665" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -std=gnu99 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500" valueType="string"/> - <option id="gnu.c.compiler.option.include.paths.2080437508" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> + <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.710346403" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/> + <option id="gnu.c.compiler.option.debugging.level.836865552" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/> + <option id="gnu.c.compiler.option.misc.verbose.431575256" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/> + <option id="gnu.c.compiler.option.misc.other.660952665" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -std=gnu99 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500" valueType="string"/> + <option id="gnu.c.compiler.option.include.paths.2080437508" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/cores/arduino}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Storage}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/utils}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/components/memory/sd_mmc}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/services/storage/ctrl_access}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/emac}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/hsmci}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/rstc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/rtc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam3x/include}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam3x/source/templates}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/header_files}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/preprocessor}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/thirdparty/CMSIS/Include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/variants/duet}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/SD_HSMCI}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/SPI}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip/lwip/src/include}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/EMAC}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/Lwip}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/Lwip/lwip/src/include}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/EMAC}""/> </option> - <option id="gnu.c.compiler.option.preprocessor.def.symbols.571434619" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> + <option id="gnu.c.compiler.option.preprocessor.def.symbols.571434619" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols"> <listOptionValue builtIn="false" value="__SAM3X8E__"/> <listOptionValue builtIn="false" value="F_CPU=84000000"/> <listOptionValue builtIn="false" value="CORE_NG"/> @@ -183,48 +180,46 @@ <option id="gnu.cpp.link.option.libs.1995000942" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> <listOptionValue builtIn="false" value="${CoreName}"/> </option> - <option id="gnu.cpp.link.option.flags.1670739910" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m3 -T${workspace_loc:/CoreDuet/variants/duet/linker_scripts/gcc/flash.ld} -Wl,-Map,${workspace_loc:/${ProjName}/${ConfigName}}/${ProjName}.map" valueType="string"/> + <option id="gnu.cpp.link.option.flags.1670739910" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m3 -T${workspace_loc:/${CoreName}/variants/duet/linker_scripts/gcc/flash.ld} -Wl,-Map,${workspace_loc:/${ProjName}/${ConfigName}}/${ProjName}.map" valueType="string"/> <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1491196930" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input"> <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> <additionalInput kind="additionalinput" paths="$(LIBS)"/> </inputType> </tool> <tool command="g++" id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1261470824" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler"> - <option id="gnu.cpp.compiler.option.optimization.level.1078688101" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/> - <option id="gnu.cpp.compiler.option.debugging.level.1332396113" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> - <option id="gnu.cpp.compiler.option.other.verbose.1151170522" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" value="false" valueType="boolean"/> - <option id="gnu.cpp.compiler.option.other.other.184134051" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -std=gnu++11 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib --param max-inline-insns-single=500" valueType="string"/> - <option id="gnu.cpp.compiler.option.include.paths.1285689288" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> + <option id="gnu.cpp.compiler.option.optimization.level.1078688101" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/> + <option id="gnu.cpp.compiler.option.debugging.level.1332396113" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> + <option id="gnu.cpp.compiler.option.other.verbose.1151170522" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/> + <option id="gnu.cpp.compiler.option.other.other.184134051" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" useByScannerDiscovery="false" value="-c -std=gnu++11 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib --param max-inline-insns-single=500" valueType="string"/> + <option id="gnu.cpp.compiler.option.include.paths.1285689288" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/cores/arduino}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Wire}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Storage}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/utils}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/components/memory/sd_mmc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/services/clock}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/efc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/emac}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/hsmci}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/pmc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/spi}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/twi}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/services/flash_efc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam3x/include}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam3x/source/templates}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/header_files}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/preprocessor}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/thirdparty/CMSIS/Include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/variants/duet}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/EMAC}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Fatfs}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/SD_HSMCI}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/SPI}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/MAX31855}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/MCP4461}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Flash}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/Lwip}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Duet/EMAC}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/Fatfs}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/MAX31855}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/MCP4461}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/Flash}""/> </option> - <option id="gnu.cpp.compiler.option.preprocessor.def.1548770846" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols"> + <option id="gnu.cpp.compiler.option.preprocessor.def.1548770846" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols"> <listOptionValue builtIn="false" value="__SAM3X8E__"/> <listOptionValue builtIn="false" value="F_CPU=84000000"/> <listOptionValue builtIn="false" value="CORE_NG"/> @@ -234,8 +229,20 @@ </tool> </toolChain> </folderInfo> + <folderInfo id="cdt.managedbuild.config.gnu.cross.exe.release.516195201.976458850.526880734" name="/" resourcePath="SAM4E_CoreNG/src/DuetNG"> + <toolChain id="cdt.managedbuild.toolchain.gnu.cross.exe.release.926404456" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.exe.release" unusedChildren=""> + <option id="cdt.managedbuild.option.gnu.cross.path.1742191832.1774372332" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path.1742191832"/> + <option id="cdt.managedbuild.option.gnu.cross.prefix.1660769040.767637411" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix.1660769040"/> + <tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.136472656" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler.278237460"/> + <tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1623207673" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1261470824"/> + <tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1934437009" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker.831729502"/> + <tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.1026465204" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker.77650722"/> + <tool id="cdt.managedbuild.tool.gnu.cross.archiver.838880941" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver.586905748"/> + <tool id="cdt.managedbuild.tool.gnu.cross.assembler.1412887396" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler.163742171"/> + </toolChain> + </folderInfo> <sourceEntries> - <entry excluding="Libraries/Lwip/lwip/src/core/ipv6|Libraries/Lwip/lwip/test|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/as_gcc|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_atmel|DuetArduinoCore/system/CMSIS/Device/ARM|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_arm|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/iar|DuetArduinoCore/system/CMSIS/CMSIS/Lib/ARM|DuetArduinoCore/system/CMSIS/CMSIS/DSP_Lib|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4.h|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3u|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3n|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM4|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM0|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3sd8" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> + <entry excluding="SAM4E_CoreNG/src/DuetNG|src/Duet/Lwip/lwip/src/core/ipv6|src/Duet/Lwip/lwip/test|src/DuetNG|Libraries/Lwip/lwip/src/core/ipv6|Libraries/Lwip/lwip/test|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/as_gcc|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_atmel|DuetArduinoCore/system/CMSIS/Device/ARM|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_arm|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/iar|DuetArduinoCore/system/CMSIS/CMSIS/Lib/ARM|DuetArduinoCore/system/CMSIS/CMSIS/DSP_Lib|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4.h|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3u|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3n|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM4|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM0|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3sd8" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> </sourceEntries> </configuration> </storageModule> @@ -268,36 +275,31 @@ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.769576359" superClass="cdt.managedbuild.tool.gnu.assembler.input"/> </tool> <tool commandLinePattern="${COMMAND} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} ${INPUTS}" id="cdt.managedbuild.tool.gnu.cross.c.compiler.242253222" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler"> - <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1507087276" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/> - <option id="gnu.c.compiler.option.debugging.level.861326742" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/> - <option id="gnu.c.compiler.option.misc.verbose.2125396829" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" value="false" valueType="boolean"/> - <option id="gnu.c.compiler.option.misc.other.1007303238" name="Other flags" superClass="gnu.c.compiler.option.misc.other" value="-c -std=gnu99 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500" valueType="string"/> - <option id="gnu.c.compiler.option.include.paths.1527974989" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath"> + <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1507087276" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" useByScannerDiscovery="false" valueType="enumerated"/> + <option id="gnu.c.compiler.option.debugging.level.861326742" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.c.debugging.level.none" valueType="enumerated"/> + <option id="gnu.c.compiler.option.misc.verbose.2125396829" name="Verbose (-v)" superClass="gnu.c.compiler.option.misc.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/> + <option id="gnu.c.compiler.option.misc.other.1007303238" name="Other flags" superClass="gnu.c.compiler.option.misc.other" useByScannerDiscovery="false" value="-c -std=gnu99 -mcpu=cortex-m4 -mthumb -ffunction-sections -fdata-sections -nostdlib --param max-inline-insns-single=500" valueType="string"/> + <option id="gnu.c.compiler.option.include.paths.1527974989" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/cores/arduino}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Storage}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/utils}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/components/memory/sd_mmc}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/services/storage/ctrl_access}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/services/ioport}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/hsmci}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/rstc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/rtc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam3x/include}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam3x/source/templates}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam4e/include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/header_files}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/preprocessor}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/thirdparty/CMSIS/Include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/variants/duetNG}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/SD_HSMCI}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/SPI}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip/lwip/src/include}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/EMAC}""/> </option> - <option id="gnu.c.compiler.option.preprocessor.def.symbols.1695995740" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols"> - <listOptionValue builtIn="false" value="__SAM3X8E__"/> - <listOptionValue builtIn="false" value="F_CPU=84000000"/> + <option id="gnu.c.compiler.option.preprocessor.def.symbols.1695995740" name="Defined symbols (-D)" superClass="gnu.c.compiler.option.preprocessor.def.symbols" useByScannerDiscovery="false" valueType="definedSymbols"> + <listOptionValue builtIn="false" value="__SAM4E8E__"/> + <listOptionValue builtIn="false" value="F_CPU=120000000"/> <listOptionValue builtIn="false" value="CORE_NG"/> + <listOptionValue builtIn="false" value="DUET_NG"/> <listOptionValue builtIn="false" value="printf=iprintf"/> </option> <inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.763992947" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/> @@ -312,50 +314,48 @@ <option id="gnu.cpp.link.option.libs.698547262" name="Libraries (-l)" superClass="gnu.cpp.link.option.libs" valueType="libs"> <listOptionValue builtIn="false" value="${CoreName}"/> </option> - <option id="gnu.cpp.link.option.flags.337829872" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m3 -T${workspace_loc:/CoreDuet/variants/duet/linker_scripts/gcc/flash.ld} -Wl,-Map,${workspace_loc:/${ProjName}/${ConfigName}}/${ProjName}.map" valueType="string"/> + <option id="gnu.cpp.link.option.flags.337829872" name="Linker flags" superClass="gnu.cpp.link.option.flags" value="-Os -Wl,--gc-sections -Wl,--fatal-warnings -mcpu=cortex-m3 -T${workspace_loc:/${CoreName}/variants/duetNG/linker_scripts/gcc/flash.ld} -Wl,-Map,${workspace_loc:/${ProjName}/${ConfigName}}/${ProjName}.map" valueType="string"/> <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.557435524" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input"> <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/> <additionalInput kind="additionalinput" paths="$(LIBS)"/> </inputType> </tool> <tool command="g++" id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1263200833" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler"> - <option id="gnu.cpp.compiler.option.optimization.level.402804038" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/> - <option id="gnu.cpp.compiler.option.debugging.level.919930419" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> - <option id="gnu.cpp.compiler.option.other.verbose.34932857" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" value="false" valueType="boolean"/> - <option id="gnu.cpp.compiler.option.other.other.549139443" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" value="-c -std=gnu++11 -mcpu=cortex-m3 -mthumb -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib --param max-inline-insns-single=500" valueType="string"/> - <option id="gnu.cpp.compiler.option.include.paths.251815634" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath"> + <option id="gnu.cpp.compiler.option.optimization.level.402804038" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.optimization.level.more" valueType="enumerated"/> + <option id="gnu.cpp.compiler.option.debugging.level.919930419" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" useByScannerDiscovery="false" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/> + <option id="gnu.cpp.compiler.option.other.verbose.34932857" name="Verbose (-v)" superClass="gnu.cpp.compiler.option.other.verbose" useByScannerDiscovery="false" value="false" valueType="boolean"/> + <option id="gnu.cpp.compiler.option.other.other.549139443" name="Other flags" superClass="gnu.cpp.compiler.option.other.other" useByScannerDiscovery="false" value="-c -std=gnu++11 -mcpu=cortex-m4 -mthumb -ffunction-sections -fdata-sections -fno-threadsafe-statics -fno-rtti -fno-exceptions -nostdlib --param max-inline-insns-single=500" valueType="string"/> + <option id="gnu.cpp.compiler.option.include.paths.251815634" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" useByScannerDiscovery="false" valueType="includePath"> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/cores/arduino}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Wire}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/libraries/Storage}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/utils}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/components/memory/sd_mmc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/services/clock}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/common/services/ioport}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/efc}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/hsmci}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/pmc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/spi}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/drivers/twi}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/services/flash_efc}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam3x/include}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam3x/source/templates}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/cmsis/sam4e/include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/header_files}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/sam/utils/preprocessor}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/asf/thirdparty/CMSIS/Include}""/> <listOptionValue builtIn="false" value=""${workspace_loc:/${CoreName}/variants/duetNG}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Lwip}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/EMAC}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Fatfs}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/SD_HSMCI}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/SPI}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/MAX31855}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/MCP4461}""/> - <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/Libraries/Flash}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/DuetNG}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/Fatfs}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/MAX31855}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/MCP4461}""/> + <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/src/Libraries/Flash}""/> </option> - <option id="gnu.cpp.compiler.option.preprocessor.def.1610427238" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols"> - <listOptionValue builtIn="false" value="__SAM3X8E__"/> - <listOptionValue builtIn="false" value="F_CPU=84000000"/> + <option id="gnu.cpp.compiler.option.preprocessor.def.1610427238" name="Defined symbols (-D)" superClass="gnu.cpp.compiler.option.preprocessor.def" useByScannerDiscovery="false" valueType="definedSymbols"> + <listOptionValue builtIn="false" value="__SAM4E8E__"/> + <listOptionValue builtIn="false" value="F_CPU=120000000"/> <listOptionValue builtIn="false" value="CORE_NG"/> + <listOptionValue builtIn="false" value="DUET_NG"/> <listOptionValue builtIn="false" value="printf=iprintf"/> </option> <inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.151249281" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/> @@ -363,7 +363,7 @@ </toolChain> </folderInfo> <sourceEntries> - <entry excluding="Libraries/Lwip/lwip/src/core/ipv6|Libraries/Lwip/lwip/test|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/as_gcc|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_atmel|DuetArduinoCore/system/CMSIS/Device/ARM|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_arm|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/iar|DuetArduinoCore/system/CMSIS/CMSIS/Lib/ARM|DuetArduinoCore/system/CMSIS/CMSIS/DSP_Lib|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4.h|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3u|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3n|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM4|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM0|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3sd8" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> + <entry excluding="SAM4E_CoreNG/src/Duet|src/Duet|Libraries/EMAC|Libraries/Lwip|Libraries/Lwip/lwip/src/core/ipv6|Libraries/Lwip/lwip/test|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/as_gcc|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_atmel|DuetArduinoCore/system/CMSIS/Device/ARM|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/gcc_arm|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3xa/source/iar|DuetArduinoCore/system/CMSIS/CMSIS/Lib/ARM|DuetArduinoCore/system/CMSIS/CMSIS/DSP_Lib|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4.h|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam4s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3u|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3s|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3n|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM4|DuetArduinoCore/system/CMSIS/Device/ARM/ARMCM0|DuetArduinoCore/system/CMSIS/Device/ATMEL/sam3sd8" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/> </sourceEntries> </configuration> </storageModule> diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml new file mode 100644 index 00000000..a324ff33 --- /dev/null +++ b/.settings/language.settings.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<project> + <configuration id="cdt.managedbuild.config.gnu.cross.exe.release.516195201" name="ReleaseWithCoreDuet"> + <extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> + <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> + <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> + <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> + <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1158727986141128527" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <language-scope id="org.eclipse.cdt.core.gcc"/> + <language-scope id="org.eclipse.cdt.core.g++"/> + </provider> + </extension> + </configuration> + <configuration id="cdt.managedbuild.config.gnu.cross.exe.release.516195201.976458850" name="SAM3X_CoreNG"> + <extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> + <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> + <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> + <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> + <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1158727986141128527" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <language-scope id="org.eclipse.cdt.core.gcc"/> + <language-scope id="org.eclipse.cdt.core.g++"/> + </provider> + </extension> + </configuration> + <configuration id="cdt.managedbuild.config.gnu.cross.exe.release.516195201.976458850.241502451" name="SAM4E_CoreNG"> + <extension point="org.eclipse.cdt.core.LanguageSettingsProvider"> + <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/> + <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/> + <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/> + <provider class="org.eclipse.cdt.internal.build.crossgcc.CrossGCCBuiltinSpecsDetector" console="false" env-hash="1158727986141128527" id="org.eclipse.cdt.build.crossgcc.CrossGCCBuiltinSpecsDetector" keep-relative-paths="false" name="CDT Cross GCC Built-in Compiler Settings" parameter="${COMMAND} ${FLAGS} -E -P -v -dD "${INPUTS}"" prefer-non-shared="true"> + <language-scope id="org.eclipse.cdt.core.gcc"/> + <language-scope id="org.eclipse.cdt.core.g++"/> + </provider> + </extension> + </configuration> +</project> diff --git a/src/Configuration.h b/src/Configuration.h index 6aabd1d4..06649681 100644 --- a/src/Configuration.h +++ b/src/Configuration.h @@ -30,11 +30,11 @@ Licence: GPL #endif #ifndef VERSION -#define VERSION "1.10+4" +#define VERSION "1.11-beta1" #endif #ifndef DATE -#define DATE "2016-03-30" +#define DATE "2016-04-08" #endif #define AUTHORS "reprappro, dc42, zpl, t3p3, dnewman" diff --git a/src/DriveMovement.h b/src/DriveMovement.h index 0c00d262..4520d36b 100644 --- a/src/DriveMovement.h +++ b/src/DriveMovement.h @@ -43,7 +43,7 @@ public: // Parameters common to Cartesian, delta and extruder moves - // The following only need to be stored per-drive if we are supporting elasticity compensation + // The following only need to be stored per-drive if we are supporting pressure advance uint64_t twoDistanceToStopTimesCsquaredDivA; uint32_t startSpeedTimesCdivA; int32_t accelClocksMinusAccelDistanceTimesCdivTopSpeed; // this one can be negative @@ -65,7 +65,7 @@ public: // Parameters unique to a style of move (Cartesian, delta or extruder). Currently, extruders and Cartesian moves use the same parameters. union MoveParams { - struct CartesianParameters // Parameters for Cartesian and extruder movement, including extruder pre-compensation + struct CartesianParameters // Parameters for Cartesian and extruder movement, including extruder pressure advance { // The following don't depend on how the move is executed, so they could be set up in Init() uint64_t twoCsquaredTimesMmPerStepDivA; // 2 * clock^2 * mmPerStepInHyperCuboidSpace / acceleration @@ -73,10 +73,10 @@ public: // The following depend on how the move is executed, so they must be set up in Prepare() uint32_t accelStopStep; // the first step number at which we are no longer accelerating uint32_t decelStartStep; // the first step number at which we are decelerating - uint32_t reverseStartStep; // the first step number for which we need to reverse direction to to elastic compensation + uint32_t reverseStartStep; // the first step number for which we need to reverse direction due to pressure advance uint32_t mmPerStepTimesCdivtopSpeed; // mmPerStepInHyperCuboidSpace * clock / topSpeed - // The following only need to be stored per-drive if we are supporting elasticity compensation + // The following only need to be stored per-drive if we are supporting pressure advance int64_t fourMaxStepDistanceMinusTwoDistanceToStopTimesCsquaredDivA; // this one can be negative } cart; diff --git a/Libraries/EMAC/arch/cc.h b/src/Duet/EMAC/arch/cc.h index 7e00c367..7e00c367 100644 --- a/Libraries/EMAC/arch/cc.h +++ b/src/Duet/EMAC/arch/cc.h diff --git a/Libraries/EMAC/arch/perf.h b/src/Duet/EMAC/arch/perf.h index 936ea4af..936ea4af 100644 --- a/Libraries/EMAC/arch/perf.h +++ b/src/Duet/EMAC/arch/perf.h diff --git a/src/Duet/EMAC/conf_eth.h b/src/Duet/EMAC/conf_eth.h new file mode 100644 index 00000000..2908966a --- /dev/null +++ b/src/Duet/EMAC/conf_eth.h @@ -0,0 +1,106 @@ + /** + * \file + * + * \brief EMAC (Ethernet MAC) driver for SAM. + * + * Copyright (c) 2011-2012 Atmel Corporation. All rights reserved. + * + * \asf_license_start + * + * \page License + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * 3. The name of Atmel may not be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * 4. This software may only be redistributed and used in connection with an + * Atmel microcontroller product. + * + * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE + * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + * + * \asf_license_stop + * + */ + + + +#ifndef CONF_EMAC_H_INCLUDED +#define CONF_EMAC_H_INCLUDED + +#include "Arduino.h" + +/** EMAC PHY address */ +#define BOARD_EMAC_PHY_ADDR 2 +/*! EMAC RMII mode */ +#define BOARD_EMAC_MODE_RMII 1 + +// dc42, 2014-06-01. +// The following #defines are not used, so I have commented them out. +// The ones in hardware/arduino/sam/system/libsam/source/emac.c get used instead, and they need to be changed to these values (32 and 8). + +/** Number of buffer for RX */ +//#define EMAC_RX_BUFFERS (32) + +/** Number of buffer for TX */ +//#define EMAC_TX_BUFFERS (8) + + +/** MAC PHY operation max retry count */ +#define MAC_PHY_RETRY_MAX 1000000 + +/** MAC address definition. The MAC address must be unique on the network. */ +#define ETHERNET_CONF_ETHADDR0 0xBE +#define ETHERNET_CONF_ETHADDR1 0xEF +#define ETHERNET_CONF_ETHADDR2 0xDE +#define ETHERNET_CONF_ETHADDR3 0xAD +#define ETHERNET_CONF_ETHADDR4 0xFE +#define ETHERNET_CONF_ETHADDR5 0xED + +/** WAN Address: 192.168.0.2 */ +/* The IP address being used. */ +//******************************************************************************************* +// Commented out by AB - see ethernet_sam.c + +//#define ETHERNET_CONF_IPADDR0 192 +//#define ETHERNET_CONF_IPADDR1 168 +//#define ETHERNET_CONF_IPADDR2 1 +//#define ETHERNET_CONF_IPADDR3 14 +// +///** WAN gateway: 192.168.0.1 */ +///** The gateway address being used. */ +//#define ETHERNET_CONF_GATEWAY_ADDR0 192 +//#define ETHERNET_CONF_GATEWAY_ADDR1 168 +//#define ETHERNET_CONF_GATEWAY_ADDR2 1 +//#define ETHERNET_CONF_GATEWAY_ADDR3 1 +// +///** The network mask being used. */ +//#define ETHERNET_CONF_NET_MASK0 255 +//#define ETHERNET_CONF_NET_MASK1 255 +//#define ETHERNET_CONF_NET_MASK2 255 +//#define ETHERNET_CONF_NET_MASK3 0 + +//******************************************************************************************** + +/** Ethernet MII/RMII mode */ +#define ETH_PHY_MODE BOARD_EMAC_MODE_RMII + +#endif /* CONF_EMAC_H_INCLUDED */ diff --git a/Libraries/EMAC/ethernet_phy.c b/src/Duet/EMAC/ethernet_phy.c index 3dc30111..3dc30111 100644 --- a/Libraries/EMAC/ethernet_phy.c +++ b/src/Duet/EMAC/ethernet_phy.c diff --git a/Libraries/EMAC/ethernet_phy.h b/src/Duet/EMAC/ethernet_phy.h index 64c565a4..64c565a4 100644 --- a/Libraries/EMAC/ethernet_phy.h +++ b/src/Duet/EMAC/ethernet_phy.h diff --git a/Libraries/EMAC/ethernet_sam.c b/src/Duet/EMAC/ethernet_sam.c index 0cb0f1d8..0cb0f1d8 100644 --- a/Libraries/EMAC/ethernet_sam.c +++ b/src/Duet/EMAC/ethernet_sam.c diff --git a/Libraries/EMAC/ethernet_sam.h b/src/Duet/EMAC/ethernet_sam.h index 52274ef8..52274ef8 100644 --- a/Libraries/EMAC/ethernet_sam.h +++ b/src/Duet/EMAC/ethernet_sam.h diff --git a/Libraries/EMAC/ethernetif.c b/src/Duet/EMAC/ethernetif.c index 06da4868..06da4868 100644 --- a/Libraries/EMAC/ethernetif.c +++ b/src/Duet/EMAC/ethernetif.c diff --git a/Libraries/EMAC/ethernetif.h b/src/Duet/EMAC/ethernetif.h index 0b639a75..0b639a75 100644 --- a/Libraries/EMAC/ethernetif.h +++ b/src/Duet/EMAC/ethernetif.h diff --git a/Libraries/EMAC/mini_ip.h b/src/Duet/EMAC/mini_ip.h index 459eb50d..459eb50d 100644 --- a/Libraries/EMAC/mini_ip.h +++ b/src/Duet/EMAC/mini_ip.h diff --git a/Libraries/EMAC/rmii.h b/src/Duet/EMAC/rmii.h index 24ffee3b..24ffee3b 100644 --- a/Libraries/EMAC/rmii.h +++ b/src/Duet/EMAC/rmii.h diff --git a/Libraries/Lwip/CHANGELOG b/src/Duet/Lwip/CHANGELOG index 6e27a66b..6e27a66b 100644 --- a/Libraries/Lwip/CHANGELOG +++ b/src/Duet/Lwip/CHANGELOG diff --git a/Libraries/Lwip/FILES b/src/Duet/Lwip/FILES index 66253196..66253196 100644 --- a/Libraries/Lwip/FILES +++ b/src/Duet/Lwip/FILES diff --git a/Libraries/Lwip/README b/src/Duet/Lwip/README index a62cc4f3..a62cc4f3 100644 --- a/Libraries/Lwip/README +++ b/src/Duet/Lwip/README diff --git a/Libraries/Lwip/contrib/apps/mdns/mdns_responder.c b/src/Duet/Lwip/contrib/apps/mdns/mdns_responder.c index 48c68d90..48c68d90 100644 --- a/Libraries/Lwip/contrib/apps/mdns/mdns_responder.c +++ b/src/Duet/Lwip/contrib/apps/mdns/mdns_responder.c diff --git a/Libraries/Lwip/contrib/apps/mdns/mdns_responder.h b/src/Duet/Lwip/contrib/apps/mdns/mdns_responder.h index df618268..df618268 100644 --- a/Libraries/Lwip/contrib/apps/mdns/mdns_responder.h +++ b/src/Duet/Lwip/contrib/apps/mdns/mdns_responder.h diff --git a/Libraries/Lwip/contrib/apps/netbios/netbios.c b/src/Duet/Lwip/contrib/apps/netbios/netbios.c index ef6be804..ef6be804 100644 --- a/Libraries/Lwip/contrib/apps/netbios/netbios.c +++ b/src/Duet/Lwip/contrib/apps/netbios/netbios.c diff --git a/Libraries/Lwip/contrib/apps/netbios/netbios.h b/src/Duet/Lwip/contrib/apps/netbios/netbios.h index 2c73f781..2c73f781 100644 --- a/Libraries/Lwip/contrib/apps/netbios/netbios.h +++ b/src/Duet/Lwip/contrib/apps/netbios/netbios.h diff --git a/Libraries/Lwip/doc/FILES b/src/Duet/Lwip/doc/FILES index 05d356f4..05d356f4 100644 --- a/Libraries/Lwip/doc/FILES +++ b/src/Duet/Lwip/doc/FILES diff --git a/Libraries/Lwip/doc/contrib.txt b/src/Duet/Lwip/doc/contrib.txt index 780268f3..780268f3 100644 --- a/Libraries/Lwip/doc/contrib.txt +++ b/src/Duet/Lwip/doc/contrib.txt diff --git a/Libraries/Lwip/doc/rawapi.txt b/src/Duet/Lwip/doc/rawapi.txt index bd452cf9..bd452cf9 100644 --- a/Libraries/Lwip/doc/rawapi.txt +++ b/src/Duet/Lwip/doc/rawapi.txt diff --git a/Libraries/Lwip/doc/savannah.txt b/src/Duet/Lwip/doc/savannah.txt index e3178997..e3178997 100644 --- a/Libraries/Lwip/doc/savannah.txt +++ b/src/Duet/Lwip/doc/savannah.txt diff --git a/Libraries/Lwip/doc/snmp_agent.txt b/src/Duet/Lwip/doc/snmp_agent.txt index 2653230f..2653230f 100644 --- a/Libraries/Lwip/doc/snmp_agent.txt +++ b/src/Duet/Lwip/doc/snmp_agent.txt diff --git a/Libraries/Lwip/doc/sys_arch.txt b/src/Duet/Lwip/doc/sys_arch.txt index 38377b66..38377b66 100644 --- a/Libraries/Lwip/doc/sys_arch.txt +++ b/src/Duet/Lwip/doc/sys_arch.txt diff --git a/Libraries/Lwip/lwip/CHANGELOG b/src/Duet/Lwip/lwip/CHANGELOG index af68299e..af68299e 100644 --- a/Libraries/Lwip/lwip/CHANGELOG +++ b/src/Duet/Lwip/lwip/CHANGELOG diff --git a/Libraries/Lwip/lwip/COPYING b/src/Duet/Lwip/lwip/COPYING index e23898b5..e23898b5 100644 --- a/Libraries/Lwip/lwip/COPYING +++ b/src/Duet/Lwip/lwip/COPYING diff --git a/Libraries/Lwip/lwip/FILES b/src/Duet/Lwip/lwip/FILES index 66253196..66253196 100644 --- a/Libraries/Lwip/lwip/FILES +++ b/src/Duet/Lwip/lwip/FILES diff --git a/Libraries/Lwip/lwip/README b/src/Duet/Lwip/lwip/README index a62cc4f3..a62cc4f3 100644 --- a/Libraries/Lwip/lwip/README +++ b/src/Duet/Lwip/lwip/README diff --git a/Libraries/Lwip/lwip/UPGRADING b/src/Duet/Lwip/lwip/UPGRADING index 6501107a..6501107a 100644 --- a/Libraries/Lwip/lwip/UPGRADING +++ b/src/Duet/Lwip/lwip/UPGRADING diff --git a/Libraries/Lwip/lwip/doc/FILES b/src/Duet/Lwip/lwip/doc/FILES index 05d356f4..05d356f4 100644 --- a/Libraries/Lwip/lwip/doc/FILES +++ b/src/Duet/Lwip/lwip/doc/FILES diff --git a/Libraries/Lwip/lwip/doc/contrib.txt b/src/Duet/Lwip/lwip/doc/contrib.txt index 39596fca..39596fca 100644 --- a/Libraries/Lwip/lwip/doc/contrib.txt +++ b/src/Duet/Lwip/lwip/doc/contrib.txt diff --git a/Libraries/Lwip/lwip/doc/rawapi.txt b/src/Duet/Lwip/lwip/doc/rawapi.txt index 8c190305..8c190305 100644 --- a/Libraries/Lwip/lwip/doc/rawapi.txt +++ b/src/Duet/Lwip/lwip/doc/rawapi.txt diff --git a/Libraries/Lwip/lwip/doc/savannah.txt b/src/Duet/Lwip/lwip/doc/savannah.txt index 409905b1..409905b1 100644 --- a/Libraries/Lwip/lwip/doc/savannah.txt +++ b/src/Duet/Lwip/lwip/doc/savannah.txt diff --git a/Libraries/Lwip/lwip/doc/snmp_agent.txt b/src/Duet/Lwip/lwip/doc/snmp_agent.txt index 2653230f..2653230f 100644 --- a/Libraries/Lwip/lwip/doc/snmp_agent.txt +++ b/src/Duet/Lwip/lwip/doc/snmp_agent.txt diff --git a/Libraries/Lwip/lwip/doc/sys_arch.txt b/src/Duet/Lwip/lwip/doc/sys_arch.txt index 847cd777..847cd777 100644 --- a/Libraries/Lwip/lwip/doc/sys_arch.txt +++ b/src/Duet/Lwip/lwip/doc/sys_arch.txt diff --git a/Libraries/Lwip/lwip/src/FILES b/src/Duet/Lwip/lwip/src/FILES index 952aeabb..952aeabb 100644 --- a/Libraries/Lwip/lwip/src/FILES +++ b/src/Duet/Lwip/lwip/src/FILES diff --git a/Libraries/Lwip/lwip/src/api/api_lib.c b/src/Duet/Lwip/lwip/src/api/api_lib.c index c0f00438..c0f00438 100644 --- a/Libraries/Lwip/lwip/src/api/api_lib.c +++ b/src/Duet/Lwip/lwip/src/api/api_lib.c diff --git a/Libraries/Lwip/lwip/src/api/api_msg.c b/src/Duet/Lwip/lwip/src/api/api_msg.c index 9fd8be6e..9fd8be6e 100644 --- a/Libraries/Lwip/lwip/src/api/api_msg.c +++ b/src/Duet/Lwip/lwip/src/api/api_msg.c diff --git a/Libraries/Lwip/lwip/src/api/err.c b/src/Duet/Lwip/lwip/src/api/err.c index 877c1235..877c1235 100644 --- a/Libraries/Lwip/lwip/src/api/err.c +++ b/src/Duet/Lwip/lwip/src/api/err.c diff --git a/Libraries/Lwip/lwip/src/api/netbuf.c b/src/Duet/Lwip/lwip/src/api/netbuf.c index 4ffe3d6f..4ffe3d6f 100644 --- a/Libraries/Lwip/lwip/src/api/netbuf.c +++ b/src/Duet/Lwip/lwip/src/api/netbuf.c diff --git a/Libraries/Lwip/lwip/src/api/netdb.c b/src/Duet/Lwip/lwip/src/api/netdb.c index 2a00f829..2a00f829 100644 --- a/Libraries/Lwip/lwip/src/api/netdb.c +++ b/src/Duet/Lwip/lwip/src/api/netdb.c diff --git a/Libraries/Lwip/lwip/src/api/netifapi.c b/src/Duet/Lwip/lwip/src/api/netifapi.c index 74bbbc27..74bbbc27 100644 --- a/Libraries/Lwip/lwip/src/api/netifapi.c +++ b/src/Duet/Lwip/lwip/src/api/netifapi.c diff --git a/Libraries/Lwip/lwip/src/api/sockets.c b/src/Duet/Lwip/lwip/src/api/sockets.c index 676c44bb..676c44bb 100644 --- a/Libraries/Lwip/lwip/src/api/sockets.c +++ b/src/Duet/Lwip/lwip/src/api/sockets.c diff --git a/Libraries/Lwip/lwip/src/api/tcpip.c b/src/Duet/Lwip/lwip/src/api/tcpip.c index c3d98163..c3d98163 100644 --- a/Libraries/Lwip/lwip/src/api/tcpip.c +++ b/src/Duet/Lwip/lwip/src/api/tcpip.c diff --git a/Libraries/Lwip/lwip/src/core/def.c b/src/Duet/Lwip/lwip/src/core/def.c index 9e37814e..9e37814e 100644 --- a/Libraries/Lwip/lwip/src/core/def.c +++ b/src/Duet/Lwip/lwip/src/core/def.c diff --git a/Libraries/Lwip/lwip/src/core/dhcp.c b/src/Duet/Lwip/lwip/src/core/dhcp.c index efd7dac5..9b3b2f13 100644 --- a/Libraries/Lwip/lwip/src/core/dhcp.c +++ b/src/Duet/Lwip/lwip/src/core/dhcp.c @@ -1705,8 +1705,12 @@ dhcp_create_msg(struct netif *netif, struct dhcp *dhcp, u8_t message_type) ip_addr_set_zero(&dhcp->msg_out->siaddr); ip_addr_set_zero(&dhcp->msg_out->giaddr); for (i = 0; i < DHCP_CHADDR_LEN; i++) { - /* copy netif hardware address, pad with zeroes */ + /* copy netif hardware address, pad with zeroes */ +#if 1 // dc42 change to avoid gcc warning of array index out of bounds - looks like a gcc bug to me + dhcp->msg_out->chaddr[i] = (i < netif->hwaddr_len && i < NETIF_MAX_HWADDR_LEN) ? netif->hwaddr[i] : 0/* pad byte*/; +#else dhcp->msg_out->chaddr[i] = (i < netif->hwaddr_len) ? netif->hwaddr[i] : 0/* pad byte*/; +#endif } for (i = 0; i < DHCP_SNAME_LEN; i++) { dhcp->msg_out->sname[i] = 0; diff --git a/Libraries/Lwip/lwip/src/core/dns.c b/src/Duet/Lwip/lwip/src/core/dns.c index 097882a9..097882a9 100644 --- a/Libraries/Lwip/lwip/src/core/dns.c +++ b/src/Duet/Lwip/lwip/src/core/dns.c diff --git a/Libraries/Lwip/lwip/src/core/ipv4/autoip.c b/src/Duet/Lwip/lwip/src/core/ipv4/autoip.c index 64ef6b52..64ef6b52 100644 --- a/Libraries/Lwip/lwip/src/core/ipv4/autoip.c +++ b/src/Duet/Lwip/lwip/src/core/ipv4/autoip.c diff --git a/Libraries/Lwip/lwip/src/core/ipv4/icmp.c b/src/Duet/Lwip/lwip/src/core/ipv4/icmp.c index 57a22d56..57a22d56 100644 --- a/Libraries/Lwip/lwip/src/core/ipv4/icmp.c +++ b/src/Duet/Lwip/lwip/src/core/ipv4/icmp.c diff --git a/Libraries/Lwip/lwip/src/core/ipv4/igmp.c b/src/Duet/Lwip/lwip/src/core/ipv4/igmp.c index 88041996..88041996 100644 --- a/Libraries/Lwip/lwip/src/core/ipv4/igmp.c +++ b/src/Duet/Lwip/lwip/src/core/ipv4/igmp.c diff --git a/Libraries/Lwip/lwip/src/core/ipv4/inet.c b/src/Duet/Lwip/lwip/src/core/ipv4/inet.c index 51e0d0d0..51e0d0d0 100644 --- a/Libraries/Lwip/lwip/src/core/ipv4/inet.c +++ b/src/Duet/Lwip/lwip/src/core/ipv4/inet.c diff --git a/Libraries/Lwip/lwip/src/core/ipv4/inet_chksum.c b/src/Duet/Lwip/lwip/src/core/ipv4/inet_chksum.c index cdaddc07..cdaddc07 100644 --- a/Libraries/Lwip/lwip/src/core/ipv4/inet_chksum.c +++ b/src/Duet/Lwip/lwip/src/core/ipv4/inet_chksum.c diff --git a/Libraries/Lwip/lwip/src/core/ipv4/ip.c b/src/Duet/Lwip/lwip/src/core/ipv4/ip.c index 8aa1b6d6..8aa1b6d6 100644 --- a/Libraries/Lwip/lwip/src/core/ipv4/ip.c +++ b/src/Duet/Lwip/lwip/src/core/ipv4/ip.c diff --git a/Libraries/Lwip/lwip/src/core/ipv4/ip_addr.c b/src/Duet/Lwip/lwip/src/core/ipv4/ip_addr.c index 65b43e84..65b43e84 100644 --- a/Libraries/Lwip/lwip/src/core/ipv4/ip_addr.c +++ b/src/Duet/Lwip/lwip/src/core/ipv4/ip_addr.c diff --git a/Libraries/Lwip/lwip/src/core/ipv4/ip_frag.c b/src/Duet/Lwip/lwip/src/core/ipv4/ip_frag.c index 98b160a0..98b160a0 100644 --- a/Libraries/Lwip/lwip/src/core/ipv4/ip_frag.c +++ b/src/Duet/Lwip/lwip/src/core/ipv4/ip_frag.c diff --git a/Libraries/Lwip/lwip/src/core/ipv6/README b/src/Duet/Lwip/lwip/src/core/ipv6/README index 36200048..36200048 100644 --- a/Libraries/Lwip/lwip/src/core/ipv6/README +++ b/src/Duet/Lwip/lwip/src/core/ipv6/README diff --git a/Libraries/Lwip/lwip/src/core/ipv6/icmp6.c b/src/Duet/Lwip/lwip/src/core/ipv6/icmp6.c index 4fcc8955..4fcc8955 100644 --- a/Libraries/Lwip/lwip/src/core/ipv6/icmp6.c +++ b/src/Duet/Lwip/lwip/src/core/ipv6/icmp6.c diff --git a/Libraries/Lwip/lwip/src/core/ipv6/inet6.c b/src/Duet/Lwip/lwip/src/core/ipv6/inet6.c index c3de85c0..c3de85c0 100644 --- a/Libraries/Lwip/lwip/src/core/ipv6/inet6.c +++ b/src/Duet/Lwip/lwip/src/core/ipv6/inet6.c diff --git a/Libraries/Lwip/lwip/src/core/ipv6/ip6.c b/src/Duet/Lwip/lwip/src/core/ipv6/ip6.c index ad59b725..ad59b725 100644 --- a/Libraries/Lwip/lwip/src/core/ipv6/ip6.c +++ b/src/Duet/Lwip/lwip/src/core/ipv6/ip6.c diff --git a/Libraries/Lwip/lwip/src/core/ipv6/ip6_addr.c b/src/Duet/Lwip/lwip/src/core/ipv6/ip6_addr.c index 2da6cea4..2da6cea4 100644 --- a/Libraries/Lwip/lwip/src/core/ipv6/ip6_addr.c +++ b/src/Duet/Lwip/lwip/src/core/ipv6/ip6_addr.c diff --git a/Libraries/Lwip/lwip/src/core/lwip_init.c b/src/Duet/Lwip/lwip/src/core/lwip_init.c index f9a86fb8..f9a86fb8 100644 --- a/Libraries/Lwip/lwip/src/core/lwip_init.c +++ b/src/Duet/Lwip/lwip/src/core/lwip_init.c diff --git a/Libraries/Lwip/lwip/src/core/lwip_timers_141.c b/src/Duet/Lwip/lwip/src/core/lwip_timers_141.c index d7cdbf5b..d7cdbf5b 100644 --- a/Libraries/Lwip/lwip/src/core/lwip_timers_141.c +++ b/src/Duet/Lwip/lwip/src/core/lwip_timers_141.c diff --git a/Libraries/Lwip/lwip/src/core/mem.c b/src/Duet/Lwip/lwip/src/core/mem.c index e6281f13..e6281f13 100644 --- a/Libraries/Lwip/lwip/src/core/mem.c +++ b/src/Duet/Lwip/lwip/src/core/mem.c diff --git a/Libraries/Lwip/lwip/src/core/memp.c b/src/Duet/Lwip/lwip/src/core/memp.c index 4136b3ef..4136b3ef 100644 --- a/Libraries/Lwip/lwip/src/core/memp.c +++ b/src/Duet/Lwip/lwip/src/core/memp.c diff --git a/Libraries/Lwip/lwip/src/core/netif.c b/src/Duet/Lwip/lwip/src/core/netif.c index a197cdb9..a197cdb9 100644 --- a/Libraries/Lwip/lwip/src/core/netif.c +++ b/src/Duet/Lwip/lwip/src/core/netif.c diff --git a/Libraries/Lwip/lwip/src/core/pbuf.c b/src/Duet/Lwip/lwip/src/core/pbuf.c index e34f3e8f..e34f3e8f 100644 --- a/Libraries/Lwip/lwip/src/core/pbuf.c +++ b/src/Duet/Lwip/lwip/src/core/pbuf.c diff --git a/Libraries/Lwip/lwip/src/core/raw.c b/src/Duet/Lwip/lwip/src/core/raw.c index 74a21ade..74a21ade 100644 --- a/Libraries/Lwip/lwip/src/core/raw.c +++ b/src/Duet/Lwip/lwip/src/core/raw.c diff --git a/Libraries/Lwip/lwip/src/core/snmp/asn1_dec.c b/src/Duet/Lwip/lwip/src/core/snmp/asn1_dec.c index 1d565820..1d565820 100644 --- a/Libraries/Lwip/lwip/src/core/snmp/asn1_dec.c +++ b/src/Duet/Lwip/lwip/src/core/snmp/asn1_dec.c diff --git a/Libraries/Lwip/lwip/src/core/snmp/asn1_enc.c b/src/Duet/Lwip/lwip/src/core/snmp/asn1_enc.c index 64dfc5f6..64dfc5f6 100644 --- a/Libraries/Lwip/lwip/src/core/snmp/asn1_enc.c +++ b/src/Duet/Lwip/lwip/src/core/snmp/asn1_enc.c diff --git a/Libraries/Lwip/lwip/src/core/snmp/mib2.c b/src/Duet/Lwip/lwip/src/core/snmp/mib2.c index 4775ba99..4775ba99 100644 --- a/Libraries/Lwip/lwip/src/core/snmp/mib2.c +++ b/src/Duet/Lwip/lwip/src/core/snmp/mib2.c diff --git a/Libraries/Lwip/lwip/src/core/snmp/mib_structs.c b/src/Duet/Lwip/lwip/src/core/snmp/mib_structs.c index 2f185cb4..2f185cb4 100644 --- a/Libraries/Lwip/lwip/src/core/snmp/mib_structs.c +++ b/src/Duet/Lwip/lwip/src/core/snmp/mib_structs.c diff --git a/Libraries/Lwip/lwip/src/core/snmp/msg_in.c b/src/Duet/Lwip/lwip/src/core/snmp/msg_in.c index be940c62..be940c62 100644 --- a/Libraries/Lwip/lwip/src/core/snmp/msg_in.c +++ b/src/Duet/Lwip/lwip/src/core/snmp/msg_in.c diff --git a/Libraries/Lwip/lwip/src/core/snmp/msg_out.c b/src/Duet/Lwip/lwip/src/core/snmp/msg_out.c index 485f076a..485f076a 100644 --- a/Libraries/Lwip/lwip/src/core/snmp/msg_out.c +++ b/src/Duet/Lwip/lwip/src/core/snmp/msg_out.c diff --git a/Libraries/Lwip/lwip/src/core/stats.c b/src/Duet/Lwip/lwip/src/core/stats.c index 2c5d7937..2c5d7937 100644 --- a/Libraries/Lwip/lwip/src/core/stats.c +++ b/src/Duet/Lwip/lwip/src/core/stats.c diff --git a/Libraries/Lwip/lwip/src/core/sys.c b/src/Duet/Lwip/lwip/src/core/sys.c index 21884600..21884600 100644 --- a/Libraries/Lwip/lwip/src/core/sys.c +++ b/src/Duet/Lwip/lwip/src/core/sys.c diff --git a/Libraries/Lwip/lwip/src/core/tcp.c b/src/Duet/Lwip/lwip/src/core/tcp.c index 20125586..20125586 100644 --- a/Libraries/Lwip/lwip/src/core/tcp.c +++ b/src/Duet/Lwip/lwip/src/core/tcp.c diff --git a/Libraries/Lwip/lwip/src/core/tcp_in.c b/src/Duet/Lwip/lwip/src/core/tcp_in.c index d0ae7da7..d0ae7da7 100644 --- a/Libraries/Lwip/lwip/src/core/tcp_in.c +++ b/src/Duet/Lwip/lwip/src/core/tcp_in.c diff --git a/Libraries/Lwip/lwip/src/core/tcp_out.c b/src/Duet/Lwip/lwip/src/core/tcp_out.c index 8a3910f3..8a3910f3 100644 --- a/Libraries/Lwip/lwip/src/core/tcp_out.c +++ b/src/Duet/Lwip/lwip/src/core/tcp_out.c diff --git a/Libraries/Lwip/lwip/src/core/udp.c b/src/Duet/Lwip/lwip/src/core/udp.c index 470c9060..470c9060 100644 --- a/Libraries/Lwip/lwip/src/core/udp.c +++ b/src/Duet/Lwip/lwip/src/core/udp.c diff --git a/Libraries/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxyfile.doxygen b/src/Duet/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxyfile.doxygen index 5af1b79c..5af1b79c 100644 --- a/Libraries/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxyfile.doxygen +++ b/src/Duet/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxyfile.doxygen diff --git a/Libraries/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxygen_module_mainpage.h b/src/Duet/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxygen_module_mainpage.h index 26566747..26566747 100644 --- a/Libraries/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxygen_module_mainpage.h +++ b/src/Duet/Lwip/lwip/src/doxygen/thirdparty.lwip.141/doxygen_module_mainpage.h diff --git a/Libraries/Lwip/lwip/src/include/ipv4/lwip/autoip.h b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/autoip.h index 225be946..225be946 100644 --- a/Libraries/Lwip/lwip/src/include/ipv4/lwip/autoip.h +++ b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/autoip.h diff --git a/Libraries/Lwip/lwip/src/include/ipv4/lwip/icmp.h b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/icmp.h index 3962a965..3962a965 100644 --- a/Libraries/Lwip/lwip/src/include/ipv4/lwip/icmp.h +++ b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/icmp.h diff --git a/Libraries/Lwip/lwip/src/include/ipv4/lwip/igmp.h b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/igmp.h index 811c2bb8..811c2bb8 100644 --- a/Libraries/Lwip/lwip/src/include/ipv4/lwip/igmp.h +++ b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/igmp.h diff --git a/Libraries/Lwip/lwip/src/include/ipv4/lwip/inet.h b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/inet.h index cbc96e6a..cbc96e6a 100644 --- a/Libraries/Lwip/lwip/src/include/ipv4/lwip/inet.h +++ b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/inet.h diff --git a/Libraries/Lwip/lwip/src/include/ipv4/lwip/inet_chksum.h b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/inet_chksum.h index bbf96e8c..bbf96e8c 100644 --- a/Libraries/Lwip/lwip/src/include/ipv4/lwip/inet_chksum.h +++ b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/inet_chksum.h diff --git a/Libraries/Lwip/lwip/src/include/ipv4/lwip/ip.h b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip.h index 41b44d95..41b44d95 100644 --- a/Libraries/Lwip/lwip/src/include/ipv4/lwip/ip.h +++ b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip.h diff --git a/Libraries/Lwip/lwip/src/include/ipv4/lwip/ip_addr.h b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip_addr.h index 0b710d42..0b710d42 100644 --- a/Libraries/Lwip/lwip/src/include/ipv4/lwip/ip_addr.h +++ b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip_addr.h diff --git a/Libraries/Lwip/lwip/src/include/ipv4/lwip/ip_frag.h b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip_frag.h index 543d85d2..543d85d2 100644 --- a/Libraries/Lwip/lwip/src/include/ipv4/lwip/ip_frag.h +++ b/src/Duet/Lwip/lwip/src/include/ipv4/lwip/ip_frag.h diff --git a/Libraries/Lwip/lwip/src/include/ipv6/lwip/icmp.h b/src/Duet/Lwip/lwip/src/include/ipv6/lwip/icmp.h index 87e9ffd9..87e9ffd9 100644 --- a/Libraries/Lwip/lwip/src/include/ipv6/lwip/icmp.h +++ b/src/Duet/Lwip/lwip/src/include/ipv6/lwip/icmp.h diff --git a/Libraries/Lwip/lwip/src/include/ipv6/lwip/inet.h b/src/Duet/Lwip/lwip/src/include/ipv6/lwip/inet.h index de1a0b63..de1a0b63 100644 --- a/Libraries/Lwip/lwip/src/include/ipv6/lwip/inet.h +++ b/src/Duet/Lwip/lwip/src/include/ipv6/lwip/inet.h diff --git a/Libraries/Lwip/lwip/src/include/ipv6/lwip/ip.h b/src/Duet/Lwip/lwip/src/include/ipv6/lwip/ip.h index a01cfc65..a01cfc65 100644 --- a/Libraries/Lwip/lwip/src/include/ipv6/lwip/ip.h +++ b/src/Duet/Lwip/lwip/src/include/ipv6/lwip/ip.h diff --git a/Libraries/Lwip/lwip/src/include/ipv6/lwip/ip_addr.h b/src/Duet/Lwip/lwip/src/include/ipv6/lwip/ip_addr.h index b2d8ae56..b2d8ae56 100644 --- a/Libraries/Lwip/lwip/src/include/ipv6/lwip/ip_addr.h +++ b/src/Duet/Lwip/lwip/src/include/ipv6/lwip/ip_addr.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/api.h b/src/Duet/Lwip/lwip/src/include/lwip/api.h index 3f0b005c..3f0b005c 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/api.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/api.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/api_msg.h b/src/Duet/Lwip/lwip/src/include/lwip/api_msg.h index 43be3a7c..43be3a7c 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/api_msg.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/api_msg.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/arch.h b/src/Duet/Lwip/lwip/src/include/lwip/arch.h index 4d6df773..4d6df773 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/arch.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/arch.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/debug.h b/src/Duet/Lwip/lwip/src/include/lwip/debug.h index 8bd97ca6..8bd97ca6 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/debug.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/debug.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/def.h b/src/Duet/Lwip/lwip/src/include/lwip/def.h index b5521c5f..b5521c5f 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/def.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/def.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/dhcp.h b/src/Duet/Lwip/lwip/src/include/lwip/dhcp.h index 73de29fa..73de29fa 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/dhcp.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/dhcp.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/dns.h b/src/Duet/Lwip/lwip/src/include/lwip/dns.h index 69f6d00a..69f6d00a 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/dns.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/dns.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/err.h b/src/Duet/Lwip/lwip/src/include/lwip/err.h index 634d2cc3..634d2cc3 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/err.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/err.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/init.h b/src/Duet/Lwip/lwip/src/include/lwip/init.h index 37566f60..37566f60 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/init.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/init.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/mem.h b/src/Duet/Lwip/lwip/src/include/lwip/mem.h index 4a5d4bb4..4a5d4bb4 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/mem.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/mem.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/memp.h b/src/Duet/Lwip/lwip/src/include/lwip/memp.h index 4ff72816..4ff72816 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/memp.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/memp.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/memp_std.h b/src/Duet/Lwip/lwip/src/include/lwip/memp_std.h index 461ed1ac..461ed1ac 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/memp_std.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/memp_std.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/netbuf.h b/src/Duet/Lwip/lwip/src/include/lwip/netbuf.h index 7d247d71..7d247d71 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/netbuf.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/netbuf.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/netdb.h b/src/Duet/Lwip/lwip/src/include/lwip/netdb.h index 47d42b48..47d42b48 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/netdb.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/netdb.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/netif.h b/src/Duet/Lwip/lwip/src/include/lwip/netif.h index 70a19a75..70a19a75 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/netif.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/netif.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/netifapi.h b/src/Duet/Lwip/lwip/src/include/lwip/netifapi.h index 33318efa..33318efa 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/netifapi.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/netifapi.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/opt.h b/src/Duet/Lwip/lwip/src/include/lwip/opt.h index e2f93fe3..e2f93fe3 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/opt.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/opt.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/pbuf.h b/src/Duet/Lwip/lwip/src/include/lwip/pbuf.h index 59167410..59167410 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/pbuf.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/pbuf.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/raw.h b/src/Duet/Lwip/lwip/src/include/lwip/raw.h index 8b533308..8b533308 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/raw.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/raw.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/sio.h b/src/Duet/Lwip/lwip/src/include/lwip/sio.h index 28ae2f22..28ae2f22 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/sio.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/sio.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/snmp.h b/src/Duet/Lwip/lwip/src/include/lwip/snmp.h index 323c749a..323c749a 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/snmp.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/snmp.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/snmp_asn1.h b/src/Duet/Lwip/lwip/src/include/lwip/snmp_asn1.h index 605fa3f1..605fa3f1 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/snmp_asn1.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/snmp_asn1.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/snmp_msg.h b/src/Duet/Lwip/lwip/src/include/lwip/snmp_msg.h index c96795df..c96795df 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/snmp_msg.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/snmp_msg.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/snmp_structs.h b/src/Duet/Lwip/lwip/src/include/lwip/snmp_structs.h index 3da3d67d..3da3d67d 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/snmp_structs.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/snmp_structs.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/sockets.h b/src/Duet/Lwip/lwip/src/include/lwip/sockets.h index 959507b6..959507b6 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/sockets.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/sockets.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/stats.h b/src/Duet/Lwip/lwip/src/include/lwip/stats.h index a8078e35..a8078e35 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/stats.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/stats.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/sys.h b/src/Duet/Lwip/lwip/src/include/lwip/sys.h index 45935d21..45935d21 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/sys.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/sys.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/tcp.h b/src/Duet/Lwip/lwip/src/include/lwip/tcp.h index 52752ada..52752ada 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/tcp.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/tcp.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/tcp_impl.h b/src/Duet/Lwip/lwip/src/include/lwip/tcp_impl.h index e1bb93da..e1bb93da 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/tcp_impl.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/tcp_impl.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/tcpip.h b/src/Duet/Lwip/lwip/src/include/lwip/tcpip.h index 6690906c..6690906c 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/tcpip.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/tcpip.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/timers.h b/src/Duet/Lwip/lwip/src/include/lwip/timers.h index 824f22e6..824f22e6 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/timers.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/timers.h diff --git a/Libraries/Lwip/lwip/src/include/lwip/udp.h b/src/Duet/Lwip/lwip/src/include/lwip/udp.h index 57370253..57370253 100644 --- a/Libraries/Lwip/lwip/src/include/lwip/udp.h +++ b/src/Duet/Lwip/lwip/src/include/lwip/udp.h diff --git a/Libraries/Lwip/lwip/src/include/netif/etharp.h b/src/Duet/Lwip/lwip/src/include/netif/etharp.h index 85acb143..85acb143 100644 --- a/Libraries/Lwip/lwip/src/include/netif/etharp.h +++ b/src/Duet/Lwip/lwip/src/include/netif/etharp.h diff --git a/Libraries/Lwip/lwip/src/include/netif/ppp_oe.h b/src/Duet/Lwip/lwip/src/include/netif/ppp_oe.h index 27b2f077..27b2f077 100644 --- a/Libraries/Lwip/lwip/src/include/netif/ppp_oe.h +++ b/src/Duet/Lwip/lwip/src/include/netif/ppp_oe.h diff --git a/Libraries/Lwip/lwip/src/include/netif/slipif.h b/src/Duet/Lwip/lwip/src/include/netif/slipif.h index 1687eead..1687eead 100644 --- a/Libraries/Lwip/lwip/src/include/netif/slipif.h +++ b/src/Duet/Lwip/lwip/src/include/netif/slipif.h diff --git a/Libraries/Lwip/lwip/src/netif/FILES b/src/Duet/Lwip/lwip/src/netif/FILES index 099dbf3e..099dbf3e 100644 --- a/Libraries/Lwip/lwip/src/netif/FILES +++ b/src/Duet/Lwip/lwip/src/netif/FILES diff --git a/Libraries/Lwip/lwip/src/netif/etharp.c b/src/Duet/Lwip/lwip/src/netif/etharp.c index 4742a2fb..4742a2fb 100644 --- a/Libraries/Lwip/lwip/src/netif/etharp.c +++ b/src/Duet/Lwip/lwip/src/netif/etharp.c diff --git a/Libraries/Lwip/lwip/src/netif/ethernetif.c b/src/Duet/Lwip/lwip/src/netif/ethernetif.c index 8ec40be1..8ec40be1 100644 --- a/Libraries/Lwip/lwip/src/netif/ethernetif.c +++ b/src/Duet/Lwip/lwip/src/netif/ethernetif.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/auth.c b/src/Duet/Lwip/lwip/src/netif/ppp/auth.c index 0fd87a37..0fd87a37 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/auth.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/auth.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/auth.h b/src/Duet/Lwip/lwip/src/netif/ppp/auth.h index a8069ec4..a8069ec4 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/auth.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/auth.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/chap.c b/src/Duet/Lwip/lwip/src/netif/ppp/chap.c index f10e27d2..f10e27d2 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/chap.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/chap.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/chap.h b/src/Duet/Lwip/lwip/src/netif/ppp/chap.h index fedcab8d..fedcab8d 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/chap.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/chap.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/chpms.c b/src/Duet/Lwip/lwip/src/netif/ppp/chpms.c index 81a887b8..81a887b8 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/chpms.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/chpms.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/chpms.h b/src/Duet/Lwip/lwip/src/netif/ppp/chpms.h index df070fb3..df070fb3 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/chpms.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/chpms.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/fsm.c b/src/Duet/Lwip/lwip/src/netif/ppp/fsm.c index e8a254ed..e8a254ed 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/fsm.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/fsm.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/fsm.h b/src/Duet/Lwip/lwip/src/netif/ppp/fsm.h index 8d41b5f5..8d41b5f5 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/fsm.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/fsm.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/ipcp.c b/src/Duet/Lwip/lwip/src/netif/ppp/ipcp.c index f0ab2e0e..f0ab2e0e 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/ipcp.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/ipcp.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/ipcp.h b/src/Duet/Lwip/lwip/src/netif/ppp/ipcp.h index de03f460..de03f460 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/ipcp.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/ipcp.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/lcp.c b/src/Duet/Lwip/lwip/src/netif/ppp/lcp.c index 54f758aa..54f758aa 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/lcp.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/lcp.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/lcp.h b/src/Duet/Lwip/lwip/src/netif/ppp/lcp.h index b9201eeb..b9201eeb 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/lcp.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/lcp.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/magic.c b/src/Duet/Lwip/lwip/src/netif/ppp/magic.c index 3732a424..3732a424 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/magic.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/magic.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/magic.h b/src/Duet/Lwip/lwip/src/netif/ppp/magic.h index eba70d20..eba70d20 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/magic.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/magic.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/md5.c b/src/Duet/Lwip/lwip/src/netif/ppp/md5.c index dc3cc751..dc3cc751 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/md5.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/md5.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/md5.h b/src/Duet/Lwip/lwip/src/netif/ppp/md5.h index e129533f..e129533f 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/md5.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/md5.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/pap.c b/src/Duet/Lwip/lwip/src/netif/ppp/pap.c index 5fb9f886..5fb9f886 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/pap.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/pap.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/pap.h b/src/Duet/Lwip/lwip/src/netif/ppp/pap.h index c99a2040..c99a2040 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/pap.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/pap.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/ppp.c b/src/Duet/Lwip/lwip/src/netif/ppp/ppp.c index 8e8fae9f..8e8fae9f 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/ppp.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/ppp.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/ppp.h b/src/Duet/Lwip/lwip/src/netif/ppp/ppp.h index 08d6e62d..08d6e62d 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/ppp.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/ppp.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/ppp_impl.h b/src/Duet/Lwip/lwip/src/netif/ppp/ppp_impl.h index 89aea60b..89aea60b 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/ppp_impl.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/ppp_impl.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/ppp_oe.c b/src/Duet/Lwip/lwip/src/netif/ppp/ppp_oe.c index fdf52ae2..fdf52ae2 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/ppp_oe.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/ppp_oe.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/pppdebug.h b/src/Duet/Lwip/lwip/src/netif/ppp/pppdebug.h index 81349971..81349971 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/pppdebug.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/pppdebug.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/randm.c b/src/Duet/Lwip/lwip/src/netif/ppp/randm.c index b736091f..b736091f 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/randm.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/randm.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/randm.h b/src/Duet/Lwip/lwip/src/netif/ppp/randm.h index a0984b02..a0984b02 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/randm.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/randm.h diff --git a/Libraries/Lwip/lwip/src/netif/ppp/vj.c b/src/Duet/Lwip/lwip/src/netif/ppp/vj.c index 40fdad13..40fdad13 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/vj.c +++ b/src/Duet/Lwip/lwip/src/netif/ppp/vj.c diff --git a/Libraries/Lwip/lwip/src/netif/ppp/vj.h b/src/Duet/Lwip/lwip/src/netif/ppp/vj.h index fad12136..fad12136 100644 --- a/Libraries/Lwip/lwip/src/netif/ppp/vj.h +++ b/src/Duet/Lwip/lwip/src/netif/ppp/vj.h diff --git a/Libraries/Lwip/lwip/src/netif/slipif.c b/src/Duet/Lwip/lwip/src/netif/slipif.c index 3c1db193..3c1db193 100644 --- a/Libraries/Lwip/lwip/src/netif/slipif.c +++ b/src/Duet/Lwip/lwip/src/netif/slipif.c diff --git a/Libraries/Lwip/lwip/test/unit/core/test_mem.c b/src/Duet/Lwip/lwip/test/unit/core/test_mem.c index d3a5d540..d3a5d540 100644 --- a/Libraries/Lwip/lwip/test/unit/core/test_mem.c +++ b/src/Duet/Lwip/lwip/test/unit/core/test_mem.c diff --git a/Libraries/Lwip/lwip/test/unit/core/test_mem.h b/src/Duet/Lwip/lwip/test/unit/core/test_mem.h index 13803edc..13803edc 100644 --- a/Libraries/Lwip/lwip/test/unit/core/test_mem.h +++ b/src/Duet/Lwip/lwip/test/unit/core/test_mem.h diff --git a/Libraries/Lwip/lwip/test/unit/etharp/test_etharp.c b/src/Duet/Lwip/lwip/test/unit/etharp/test_etharp.c index cbbc9502..cbbc9502 100644 --- a/Libraries/Lwip/lwip/test/unit/etharp/test_etharp.c +++ b/src/Duet/Lwip/lwip/test/unit/etharp/test_etharp.c diff --git a/Libraries/Lwip/lwip/test/unit/etharp/test_etharp.h b/src/Duet/Lwip/lwip/test/unit/etharp/test_etharp.h index 96e00c3b..96e00c3b 100644 --- a/Libraries/Lwip/lwip/test/unit/etharp/test_etharp.h +++ b/src/Duet/Lwip/lwip/test/unit/etharp/test_etharp.h diff --git a/Libraries/Lwip/lwip/test/unit/lwip_check.h b/src/Duet/Lwip/lwip/test/unit/lwip_check.h index e27f55ae..e27f55ae 100644 --- a/Libraries/Lwip/lwip/test/unit/lwip_check.h +++ b/src/Duet/Lwip/lwip/test/unit/lwip_check.h diff --git a/Libraries/Lwip/lwip/test/unit/lwip_unittests.c b/src/Duet/Lwip/lwip/test/unit/lwip_unittests.c index 4f537e66..4f537e66 100644 --- a/Libraries/Lwip/lwip/test/unit/lwip_unittests.c +++ b/src/Duet/Lwip/lwip/test/unit/lwip_unittests.c diff --git a/Libraries/Lwip/lwip/test/unit/lwipopts.h b/src/Duet/Lwip/lwip/test/unit/lwipopts.h index 88e76d7a..88e76d7a 100644 --- a/Libraries/Lwip/lwip/test/unit/lwipopts.h +++ b/src/Duet/Lwip/lwip/test/unit/lwipopts.h diff --git a/Libraries/Lwip/lwip/test/unit/tcp/tcp_helper.c b/src/Duet/Lwip/lwip/test/unit/tcp/tcp_helper.c index dd550f1b..dd550f1b 100644 --- a/Libraries/Lwip/lwip/test/unit/tcp/tcp_helper.c +++ b/src/Duet/Lwip/lwip/test/unit/tcp/tcp_helper.c diff --git a/Libraries/Lwip/lwip/test/unit/tcp/tcp_helper.h b/src/Duet/Lwip/lwip/test/unit/tcp/tcp_helper.h index 4a72c935..4a72c935 100644 --- a/Libraries/Lwip/lwip/test/unit/tcp/tcp_helper.h +++ b/src/Duet/Lwip/lwip/test/unit/tcp/tcp_helper.h diff --git a/Libraries/Lwip/lwip/test/unit/tcp/test_tcp.c b/src/Duet/Lwip/lwip/test/unit/tcp/test_tcp.c index 6fd5be50..6fd5be50 100644 --- a/Libraries/Lwip/lwip/test/unit/tcp/test_tcp.c +++ b/src/Duet/Lwip/lwip/test/unit/tcp/test_tcp.c diff --git a/Libraries/Lwip/lwip/test/unit/tcp/test_tcp.h b/src/Duet/Lwip/lwip/test/unit/tcp/test_tcp.h index f1c4a463..f1c4a463 100644 --- a/Libraries/Lwip/lwip/test/unit/tcp/test_tcp.h +++ b/src/Duet/Lwip/lwip/test/unit/tcp/test_tcp.h diff --git a/Libraries/Lwip/lwip/test/unit/tcp/test_tcp_oos.c b/src/Duet/Lwip/lwip/test/unit/tcp/test_tcp_oos.c index 764de1c4..764de1c4 100644 --- a/Libraries/Lwip/lwip/test/unit/tcp/test_tcp_oos.c +++ b/src/Duet/Lwip/lwip/test/unit/tcp/test_tcp_oos.c diff --git a/Libraries/Lwip/lwip/test/unit/tcp/test_tcp_oos.h b/src/Duet/Lwip/lwip/test/unit/tcp/test_tcp_oos.h index 5e411f00..5e411f00 100644 --- a/Libraries/Lwip/lwip/test/unit/tcp/test_tcp_oos.h +++ b/src/Duet/Lwip/lwip/test/unit/tcp/test_tcp_oos.h diff --git a/Libraries/Lwip/lwip/test/unit/udp/test_udp.c b/src/Duet/Lwip/lwip/test/unit/udp/test_udp.c index a2f02af0..a2f02af0 100644 --- a/Libraries/Lwip/lwip/test/unit/udp/test_udp.c +++ b/src/Duet/Lwip/lwip/test/unit/udp/test_udp.c diff --git a/Libraries/Lwip/lwip/test/unit/udp/test_udp.h b/src/Duet/Lwip/lwip/test/unit/udp/test_udp.h index 93353682..93353682 100644 --- a/Libraries/Lwip/lwip/test/unit/udp/test_udp.h +++ b/src/Duet/Lwip/lwip/test/unit/udp/test_udp.h diff --git a/Libraries/Lwip/lwipopts.h b/src/Duet/Lwip/lwipopts.h index 2a4cfc2a..2a4cfc2a 100644 --- a/Libraries/Lwip/lwipopts.h +++ b/src/Duet/Lwip/lwipopts.h diff --git a/src/Network.cpp b/src/Duet/Network.cpp index 51419ea4..51419ea4 100644 --- a/src/Network.cpp +++ b/src/Duet/Network.cpp diff --git a/src/Network.h b/src/Duet/Network.h index 3cee3d45..3cee3d45 100644 --- a/src/Network.h +++ b/src/Duet/Network.h diff --git a/src/Pins_duet.h b/src/Duet/Pins_duet.h index 30195b75..04307085 100644 --- a/src/Pins_duet.h +++ b/src/Duet/Pins_duet.h @@ -93,6 +93,9 @@ const Pin Z_PROBE_PIN = 10; // Analogue pin number const Pin Z_PROBE_MOD_PIN = 52; // Digital pin number to turn the IR LED on (high) or off (low) on Duet v0.6 and v1.0 (PB21) const Pin Z_PROBE_MOD_PIN07 = X12; // Digital pin number to turn the IR LED on (high) or off (low) on Duet v0.7 and v0.8.5 (PC10) +// Pin number that the DAC that controls the second extruder motor current on the Duet 0.8.5 is connected to +const int Dac0DigitalPin = 66; // Arduino Due pin number corresponding to DAC0 output pin + // COOLING FANS const size_t NUM_FANS = 2; @@ -150,4 +153,15 @@ const size_t NUM_PINS_ALLOWED = 72; const uint32_t IAP_FLASH_START = 0x000F0000; const uint32_t IAP_FLASH_END = 0x000FFFFF; +// Timer allocation +#define NETWORK_TC (TC1) +#define NETWORK_TC_CHAN (1) +#define NETWORK_TC_IRQN TC4_IRQn +#define NETWORK_TC_HANDLER TC4_Handler + +#define STEP_TC (TC1) +#define STEP_TC_CHAN (0) +#define STEP_TC_IRQN TC3_IRQn +#define STEP_TC_HANDLER TC3_Handler + #endif diff --git a/src/Webserver.cpp b/src/Duet/Webserver.cpp index 8106d2e7..8106d2e7 100644 --- a/src/Webserver.cpp +++ b/src/Duet/Webserver.cpp diff --git a/src/Webserver.h b/src/Duet/Webserver.h index 3ec60303..3ec60303 100644 --- a/src/Webserver.h +++ b/src/Duet/Webserver.h diff --git a/src/GCodes.cpp b/src/GCodes.cpp index c3d60874..1df0387f 100644 --- a/src/GCodes.cpp +++ b/src/GCodes.cpp @@ -1905,6 +1905,23 @@ void GCodes::SetMACAddress(GCodeBuffer *gb) } } +bool GCodes::ChangeMicrostepping(size_t drive, int microsteps, int mode) const +{ + bool dummy; + unsigned int oldSteps = platform->GetMicrostepping(drive, dummy); + bool success = platform->SetMicrostepping(drive, microsteps, mode); + if (success) + { + // We changed the microstepping, so adjust the steps/mm to compensate + float stepsPerMm = platform->DriveStepsPerUnit(drive); + if (stepsPerMm > 0) + { + platform->SetDriveStepsPerUnit(drive, stepsPerMm * (float)microsteps / (float)oldSteps); + } + } + return success; +} + // Handle sending a reply back to the appropriate interface(s). // Note that 'reply' may be empty. If it isn't, then we need to append newline when sending it. void GCodes::HandleReply(GCodeBuffer *gb, bool error, const char* reply) @@ -2727,7 +2744,7 @@ bool GCodes::HandleMcode(GCodeBuffer* gb, StringRef& reply) } else { - fileResponse->cat("NONE"); + fileResponse->cat("NONE\n"); } } @@ -3940,7 +3957,7 @@ bool GCodes::HandleMcode(GCodeBuffer* gb, StringRef& reply) { seen = true; int microsteps = gb->GetIValue(); - if (!platform->SetMicrostepping(axis, microsteps, interp)) + if (!ChangeMicrostepping(axis, microsteps, interp)) { platform->MessageF(GENERIC_MESSAGE, "Drive %c does not support %dx microstepping%s\n", axisLetters[axis], microsteps, (interp) ? " with interpolation" : ""); @@ -3956,7 +3973,7 @@ bool GCodes::HandleMcode(GCodeBuffer* gb, StringRef& reply) gb->GetLongArray(eVals, eCount); for (size_t e = 0; e < eCount; e++) { - if (!platform->SetMicrostepping(AXES + e, (int)eVals[e], interp)) + if (!ChangeMicrostepping(AXES + e, (int)eVals[e], interp)) { platform->MessageF(GENERIC_MESSAGE, "Drive E%u does not support %dx microstepping%s\n", e, (int)eVals[e], (interp) ? " with interpolation" : ""); diff --git a/src/GCodes.h b/src/GCodes.h index a3de3c9d..bf808a69 100644 --- a/src/GCodes.h +++ b/src/GCodes.h @@ -174,6 +174,7 @@ private: void SetPositions(float positionNow[DRIVES]); // Set the current position to be this const char *TranslateEndStopResult(EndStopHit es); // Translate end stop result to text bool RetractFilament(bool retract); // Retract or un-retract filaments + bool ChangeMicrostepping(size_t drive, int microsteps, int mode) const; // Change microstepping on the specified drive Platform* platform; // The RepRap machine Webserver* webserver; // The webserver class diff --git a/Libraries/.gitignore b/src/Libraries/.gitignore index b25c15b8..b25c15b8 100644 --- a/Libraries/.gitignore +++ b/src/Libraries/.gitignore diff --git a/Libraries/Fatfs/00readme.txt b/src/Libraries/Fatfs/00readme.txt index cfcdd4a2..cfcdd4a2 100644 --- a/Libraries/Fatfs/00readme.txt +++ b/src/Libraries/Fatfs/00readme.txt diff --git a/Libraries/Fatfs/ccsbcs.c b/src/Libraries/Fatfs/ccsbcs.c index 5508d436..5508d436 100644 --- a/Libraries/Fatfs/ccsbcs.c +++ b/src/Libraries/Fatfs/ccsbcs.c diff --git a/Libraries/Fatfs/conf_fatfs.h b/src/Libraries/Fatfs/conf_fatfs.h index 94c30c5c..94c30c5c 100644 --- a/Libraries/Fatfs/conf_fatfs.h +++ b/src/Libraries/Fatfs/conf_fatfs.h diff --git a/Libraries/Fatfs/diskio.c b/src/Libraries/Fatfs/diskio.c index e302eed0..e302eed0 100644 --- a/Libraries/Fatfs/diskio.c +++ b/src/Libraries/Fatfs/diskio.c diff --git a/Libraries/Fatfs/diskio.h b/src/Libraries/Fatfs/diskio.h index 9573e6ec..9573e6ec 100644 --- a/Libraries/Fatfs/diskio.h +++ b/src/Libraries/Fatfs/diskio.h diff --git a/Libraries/Fatfs/fattime_rtc.c b/src/Libraries/Fatfs/fattime_rtc.c index fc8d1df1..fc8d1df1 100644 --- a/Libraries/Fatfs/fattime_rtc.c +++ b/src/Libraries/Fatfs/fattime_rtc.c diff --git a/Libraries/Fatfs/ff.c b/src/Libraries/Fatfs/ff.c index 881f546b..881f546b 100644 --- a/Libraries/Fatfs/ff.c +++ b/src/Libraries/Fatfs/ff.c diff --git a/Libraries/Fatfs/ff.h b/src/Libraries/Fatfs/ff.h index 960837f8..960837f8 100644 --- a/Libraries/Fatfs/ff.h +++ b/src/Libraries/Fatfs/ff.h diff --git a/Libraries/Fatfs/ffconf.h b/src/Libraries/Fatfs/ffconf.h index 5dcd900a..5dcd900a 100644 --- a/Libraries/Fatfs/ffconf.h +++ b/src/Libraries/Fatfs/ffconf.h diff --git a/Libraries/Fatfs/integer.h b/src/Libraries/Fatfs/integer.h index 16ad4082..16ad4082 100644 --- a/Libraries/Fatfs/integer.h +++ b/src/Libraries/Fatfs/integer.h diff --git a/Libraries/Flash/DueFlashStorage.cpp b/src/Libraries/Flash/DueFlashStorage.cpp index 6e671c1b..48003ddc 100644 --- a/Libraries/Flash/DueFlashStorage.cpp +++ b/src/Libraries/Flash/DueFlashStorage.cpp @@ -8,13 +8,25 @@ void DueFlashStorage::read(uint32_t address, void *data, uint32_t dataLength) bool DueFlashStorage::write(uint32_t address, const void *data, uint32_t dataLength) { - if ((uint32_t)FLASH_START + address < IFLASH1_ADDR) + if ((uint32_t)FLASH_START + address < +#ifdef DUET_NG + IFLASH_ADDR +#else + IFLASH1_ADDR +#endif + ) { FLASH_DEBUG("Flash write address too low"); return false; } - if ((uint32_t)FLASH_START + address + dataLength > IFLASH1_ADDR + IFLASH1_SIZE) + if ((uint32_t)FLASH_START + address + dataLength > +#ifdef DUET_NG + IFLASH_ADDR + IFLASH_SIZE +#else + IFLASH1_ADDR + IFLASH1_SIZE +#endif + ) { FLASH_DEBUG("Flash write address too high"); return false; diff --git a/Libraries/Flash/DueFlashStorage.h b/src/Libraries/Flash/DueFlashStorage.h index 51785964..c93f11a9 100644 --- a/Libraries/Flash/DueFlashStorage.h +++ b/src/Libraries/Flash/DueFlashStorage.h @@ -18,12 +18,24 @@ Further modified up by David Crocker #include <Arduino.h> #include "flash_efc.h" +#ifdef DUET_NG + +// 1Kb of data +#define FLASH_DATA_LENGTH ((IFLASH_PAGE_SIZE/sizeof(byte))*4) + +// Choose a start address close to the top of the Flash 1 memory space +#define FLASH_START ((uint8_t *)(IFLASH_ADDR + IFLASH_SIZE - FLASH_DATA_LENGTH)) + +#else + // 1Kb of data #define FLASH_DATA_LENGTH ((IFLASH1_PAGE_SIZE/sizeof(byte))*4) // Choose a start address close to the top of the Flash 1 memory space #define FLASH_START ((uint8_t *)(IFLASH1_ADDR + IFLASH1_SIZE - FLASH_DATA_LENGTH)) +#endif + //#define FLASH_DEBUG(x) Serial.print(x); #define FLASH_DEBUG(x) diff --git a/Libraries/MAX31855/MAX31855.cpp b/src/Libraries/MAX31855/MAX31855.cpp index 1206ddc1..396df7e8 100644 --- a/Libraries/MAX31855/MAX31855.cpp +++ b/src/Libraries/MAX31855/MAX31855.cpp @@ -45,6 +45,12 @@ // dan.newman@mtbaldy.us // GPL v3 +#ifdef DUET_NG +# define MAX_SPI SPI +#else +# define MAX_SPI SPI0 +#endif + #define PERIPHERAL_CHANNEL_ID 3 #define PERIPHERAL_CHANNEL_CS_PIN 78 // NPCS3 @@ -83,7 +89,7 @@ void MAX31855::Init(uint8_t cs) device.cs = cs; // Chip select device.id = PERIPHERAL_CHANNEL_ID; // Peripheral channel device.bits = SPI_CSR_BITS_16_BIT; // 16 bit data transfers - spi_master_init(SPI0, device.cs, -1); + spi_master_init(MAX_SPI, device.cs); initialized = true; } } @@ -95,7 +101,7 @@ spi_status_t MAX31855::readRaw(uint16_t *raw) const for (uint8_t i = 0; i < 2; i++) { uint32_t timeout = SPI_TIMEOUT; - while (!spi_is_tx_ready(SPI0)) + while (!spi_is_tx_ready(MAX_SPI)) { if (!timeout--) { @@ -103,10 +109,10 @@ spi_status_t MAX31855::readRaw(uint16_t *raw) const } } - SPI0->SPI_TDR = (i != 1) ? 0x00000000 : 0x00000000 | SPI_TDR_LASTXFER; + MAX_SPI->SPI_TDR = (i != 1) ? 0x00000000 : 0x00000000 | SPI_TDR_LASTXFER; timeout = SPI_TIMEOUT; - while (!spi_is_rx_ready(SPI0)) + while (!spi_is_rx_ready(MAX_SPI)) { if (!timeout--) { @@ -114,7 +120,7 @@ spi_status_t MAX31855::readRaw(uint16_t *raw) const } } - *raw++ = SPI0->SPI_RDR; + *raw++ = MAX_SPI->SPI_RDR; } return SPI_OK; @@ -125,11 +131,11 @@ MAX31855_error MAX31855::getTemperature(float *t) const // Assume properly initialized // Ensure that the configuration is as needed; another SPI0 consumer // may have changed the bus speed and/or timing delays. - spi_master_setup_device(SPI0, &device, 0, MAX31855_MAX_FREQ, 0); - spi_set_transfer_delay(SPI0, device.id, MAX31855_DLYBS, MAX31855_DLYBCT); + spi_master_setup_device(MAX_SPI, &device, 0, MAX31855_MAX_FREQ, 0); + spi_set_transfer_delay(MAX_SPI, device.id, MAX31855_DLYBS, MAX31855_DLYBCT); // Select the device; enable CS (set it LOW) - spi_select_device(SPI0, &device); + spi_select_device(MAX_SPI, &device); // Read in 32 bits uint16_t raw[2]; @@ -139,7 +145,7 @@ MAX31855_error MAX31855::getTemperature(float *t) const } // Deselect the device; disable CS (set it HIGH) - spi_deselect_device(SPI0, &device); + spi_deselect_device(MAX_SPI, &device); if ((raw[0] & 0x02) || (raw[1] & 0x08)) { diff --git a/Libraries/MAX31855/MAX31855.h b/src/Libraries/MAX31855/MAX31855.h index 84945740..1ac8bd13 100644 --- a/Libraries/MAX31855/MAX31855.h +++ b/src/Libraries/MAX31855/MAX31855.h @@ -2,7 +2,7 @@ #define MAX31855_H #include "Arduino.h" -#include "spi_master.h" +#include "spi_master.h" // for spi_status_t enum MAX31855_error { MAX31855_OK = 0, // Success @@ -23,8 +23,9 @@ public: private: spi_status_t readRaw(uint16_t *r) const; - bool initialized; + struct spi_device device; + bool initialized; }; #endif //MAX31855_H diff --git a/Libraries/MCP4461/MCP4461.cpp b/src/Libraries/MCP4461/MCP4461.cpp index 77c93864..f1fd1647 100644 --- a/Libraries/MCP4461/MCP4461.cpp +++ b/src/Libraries/MCP4461/MCP4461.cpp @@ -17,6 +17,12 @@ GPL v3 #include <stdio.h> #include <Wire.h> +#ifdef DUET_NG +# define MCP_WIRE Wire +#else +# define MCP_WIRE Wire1 +#endif + //ensure you call begin() before any other functions but note //begin can only be called once for all MCP* objects as it initialises //the local master through the Wire library @@ -28,7 +34,7 @@ MCP4461::MCP4461() { //initialise the I2C interface as master ie local address is 0 void MCP4461::begin() { - Wire1.begin(); + MCP_WIRE.begin(); } //set the MCP4461 address @@ -61,10 +67,10 @@ void MCP4461::setVolatileWiper(uint8_t wiper, uint16_t wiper_value){ } c_byte |= MCP4461_WRITE; //send command byte - Wire1.beginTransmission(_mcp4461_address); - Wire1.write(c_byte); - Wire1.write(d_byte); - Wire1.endTransmission(); //do not release bus + MCP_WIRE.beginTransmission(_mcp4461_address); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); + MCP_WIRE.endTransmission(); //do not release bus } void MCP4461::setNonVolatileWiper(uint8_t wiper, uint16_t wiper_value){ @@ -92,10 +98,10 @@ void MCP4461::setNonVolatileWiper(uint8_t wiper, uint16_t wiper_value){ } c_byte |= MCP4461_WRITE; //send command byte - Wire1.beginTransmission(_mcp4461_address); - Wire1.write(c_byte); - Wire1.write(d_byte); - Wire1.endTransmission(); //do not release bus + MCP_WIRE.beginTransmission(_mcp4461_address); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); + MCP_WIRE.endTransmission(); //do not release bus delay(20); //allow the write to complete (this is wasteful - better to check if the write has completed) } @@ -108,30 +114,30 @@ void MCP4461::setVolatileWipers(uint16_t wiper_value){ uint8_t c_byte; if (value > 0xFF)c_byte = 0x1; //the 8th data bit is 1 else c_byte =0; - Wire1.beginTransmission(_mcp4461_address); + MCP_WIRE.beginTransmission(_mcp4461_address); c_byte |= MCP4461_WRITE; c_byte |= MCP4461_VW0; - Wire1.write(c_byte); - Wire1.write(d_byte); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); if (value > 0xFF) c_byte = 0x1; else c_byte =0; c_byte |= MCP4461_WRITE; c_byte |= MCP4461_VW1; - Wire1.write(c_byte); - Wire1.write(d_byte); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); if (value > 0xFF) c_byte = 0x1; else c_byte =0; c_byte |= MCP4461_WRITE; c_byte |= MCP4461_VW2; - Wire1.write(c_byte); - Wire1.write(d_byte); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); if (value > 0xFF) c_byte = 0x1; else c_byte =0; c_byte |= MCP4461_WRITE; c_byte |= MCP4461_VW3; - Wire1.write(c_byte); - Wire1.write(d_byte); - Wire1.endTransmission(); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); + MCP_WIRE.endTransmission(); } //set all the wipers in one transmission, more verbose but quicker than multiple calls to @@ -143,33 +149,33 @@ void MCP4461::setNonVolatileWipers(uint16_t wiper_value){ uint8_t c_byte; if (value > 0xFF)c_byte = 0x1; //the 8th data bit is 1 else c_byte =0; - Wire1.beginTransmission(_mcp4461_address); + MCP_WIRE.beginTransmission(_mcp4461_address); c_byte |= MCP4461_WRITE; c_byte |= MCP4461_NVW0; - Wire1.write(c_byte); - Wire1.write(d_byte); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); delay(20); //allow the write to complete (this is wasteful - better to check if the write has completed) if (value > 0xFF) c_byte = 0x1; else c_byte =0; c_byte |= MCP4461_WRITE; c_byte |= MCP4461_NVW1; - Wire1.write(c_byte); - Wire1.write(d_byte); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); delay(20); if (value > 0xFF) c_byte = 0x1; else c_byte =0; c_byte |= MCP4461_WRITE; c_byte |= MCP4461_NVW2; - Wire1.write(c_byte); - Wire1.write(d_byte); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); delay(20); if (value > 0xFF) c_byte = 0x1; else c_byte =0; c_byte |= MCP4461_WRITE; c_byte |= MCP4461_NVW3; - Wire1.write(c_byte); - Wire1.write(d_byte); - Wire1.endTransmission(); + MCP_WIRE.write(c_byte); + MCP_WIRE.write(d_byte); + MCP_WIRE.endTransmission(); delay(20); } @@ -195,15 +201,15 @@ uint16_t MCP4461::getNonVolatileWiper(uint8_t wiper){ } c_byte |= MCP4461_READ; //send command byte - Wire1.beginTransmission(_mcp4461_address); - Wire1.write(c_byte); - Wire1.endTransmission(false); //do not release bus - Wire1.requestFrom((uint8_t)_mcp4461_address,(uint8_t)2); + MCP_WIRE.beginTransmission(_mcp4461_address); + MCP_WIRE.write(c_byte); + MCP_WIRE.endTransmission(false); //do not release bus + MCP_WIRE.requestFrom((uint8_t)_mcp4461_address,(uint8_t)2); //read the register int i = 0; - while(Wire1.available()) + while(MCP_WIRE.available()) { - ret |= Wire1.read(); + ret |= MCP_WIRE.read(); if (i==0) ret = ret<<8; i++; } @@ -232,15 +238,15 @@ uint16_t MCP4461::getVolatileWiper(uint8_t wiper){ } c_byte |= MCP4461_READ; //send command byte - Wire1.beginTransmission(_mcp4461_address); - Wire1.write(c_byte); - Wire1.endTransmission(false); //do not release bus - Wire1.requestFrom((uint8_t)_mcp4461_address,(uint8_t)2); + MCP_WIRE.beginTransmission(_mcp4461_address); + MCP_WIRE.write(c_byte); + MCP_WIRE.endTransmission(false); //do not release bus + MCP_WIRE.requestFrom((uint8_t)_mcp4461_address,(uint8_t)2); //read the register int i = 0; - while(Wire1.available()) + while(MCP_WIRE.available()) { - ret |= Wire1.read(); + ret |= MCP_WIRE.read(); if (i==0) ret = ret<<8; i++; } @@ -255,15 +261,15 @@ uint16_t MCP4461::getStatus(){ c_byte |= MCP4461_STATUS; c_byte |= MCP4461_READ; //send command byte - Wire1.beginTransmission(_mcp4461_address); - Wire1.write(c_byte); - Wire1.endTransmission(false); //do not release bus - Wire1.requestFrom((uint8_t)_mcp4461_address, (uint8_t)2); + MCP_WIRE.beginTransmission(_mcp4461_address); + MCP_WIRE.write(c_byte); + MCP_WIRE.endTransmission(false); //do not release bus + MCP_WIRE.requestFrom((uint8_t)_mcp4461_address, (uint8_t)2); //read the register int i = 0; - while(Wire1.available()) + while(MCP_WIRE.available()) { - ret |= Wire1.read(); + ret |= MCP_WIRE.read(); if (i==0) ret = ret<<8; i++; } @@ -286,15 +292,15 @@ void MCP4461::toggleWiper(uint8_t wiper){ c_byte |= MCP4461_READ; } //send command byte - Wire1.beginTransmission(_mcp4461_address); - Wire1.write(c_byte); - Wire1.endTransmission(false); //do not release bus - Wire1.requestFrom((uint8_t)_mcp4461_address,(uint8_t)2); + MCP_WIRE.beginTransmission(_mcp4461_address); + MCP_WIRE.write(c_byte); + MCP_WIRE.endTransmission(false); //do not release bus + MCP_WIRE.requestFrom((uint8_t)_mcp4461_address,(uint8_t)2); //read the register int i = 0; - while(Wire1.available()) + while(MCP_WIRE.available()) { - tcon |= Wire1.read(); + tcon |= MCP_WIRE.read(); if (i==0) tcon = tcon<<8; i++; } diff --git a/Libraries/MCP4461/MCP4461.h b/src/Libraries/MCP4461/MCP4461.h index 6b3e85cf..6b3e85cf 100644 --- a/Libraries/MCP4461/MCP4461.h +++ b/src/Libraries/MCP4461/MCP4461.h @@ -4,14 +4,19 @@ // Load Pins_<platform>.h #if !defined(PLATFORM) -#define PLATFORM duet +# if defined(__SAM3X8E__) +# define PLATFORM Duet +# elif defined(__SAM4E8E__) +# define PLATFORM DuetNG +# else +# error Unknown platform +# endif #endif #define P_EXPAND(x) x #define P_CONCAT(x,y) P_EXPAND(x)y #define P_STR(x) #x #define P_XSTR(x) P_STR(x) -#define P_INCLUDE_FILE P_XSTR(P_CONCAT(Pins_,P_CONCAT(PLATFORM,.h))) +#define P_INCLUDE_FILE P_XSTR(P_CONCAT(PLATFORM,P_CONCAT(/Pins_,P_CONCAT(PLATFORM,.h)))) #include P_INCLUDE_FILE - #endif // PINS_H__ diff --git a/src/Platform.cpp b/src/Platform.cpp index ae6c03f2..dd4a194e 100644 --- a/src/Platform.cpp +++ b/src/Platform.cpp @@ -22,15 +22,18 @@ #include "RepRapFirmware.h" #include "DueFlashStorage.h" +#ifdef CORE_NG +# include "sam/drivers/tc/tc.h" +#endif + #ifdef EXTERNAL_DRIVERS -#include "ExternalDrivers.h" +# include "ExternalDrivers.h" #endif extern char _end; extern "C" char *sbrk(int i); const uint8_t memPattern = 0xA5; -const int Dac0DigitalPin = 66; // Arduino Due pin number corresponding to DAC0 output pin static uint32_t fanInterruptCount = 0; // accessed only in ISR, so no need to declare it volatile const uint32_t fanMaxInterruptCount = 32; // number of fan interrupts that we average over @@ -60,24 +63,12 @@ void setup() *heapend++ = memPattern; } -#if 0 - watchdogDisable(); - pinMode(39, OUTPUT); -#else reprap.Init(); -#endif } void loop() { -#if 0 - digitalWrite(39, HIGH); - delay(500); - digitalWrite(39, LOW); - delay(500); -#else reprap.Spin(); -#endif } extern "C" @@ -90,11 +81,6 @@ extern "C" } } -// This used to overrides the weak function in CoreDuet, but now CoreDuet no longer calls it so we don't need it -//void watchdogSetup(void) -//{ -//} - //************************************************************************************************* // PidParameters class @@ -298,13 +284,15 @@ void Platform::Init() { if (heatOnPins[heater] >= 0) { - digitalWrite(heatOnPins[heater], HIGH); // turn the heater off + digitalWrite(heatOnPins[heater], (HEAT_ON) ? LOW : HIGH); // turn the heater off pinMode(heatOnPins[heater], OUTPUT); } - analogReadResolution(12); - thermistorAdcChannels[heater] = PinToAdcChannel(tempSensePins[heater]); // Translate the Arduino Due Analog pin number to the SAM ADC channel number + AnalogChannelNumber chan = PinToAdcChannel(tempSensePins[heater]); // translate the Arduino Due Analog pin number to the SAM ADC channel number + thermistorAdcChannels[heater] = chan; + AnalogInEnableChannel(chan, true); + SetThermistorNumber(heater, heater); // map the thermistor straight through - thermistorFilters[heater].Init(analogRead(tempSensePins[heater])); + thermistorFilters[heater].Init(0); } SetTemperatureLimit(DEFAULT_TEMPERATURE_LIMIT); @@ -410,29 +398,39 @@ void Platform::InitZProbe() { zProbeOnFilter.Init(0); zProbeOffFilter.Init(0); + +#ifdef DUET_NG + zProbeModulationPin = Z_PROBE_MOD_PIN; +#else zProbeModulationPin = (board == BoardType::Duet_07 || board == BoardType::Duet_085) ? Z_PROBE_MOD_PIN07 : Z_PROBE_MOD_PIN; +#endif switch (nvData.zProbeType) { case 1: case 2: + AnalogInEnableChannel(zProbeAdcChannel, true); pinMode(zProbeModulationPin, OUTPUT); digitalWrite(zProbeModulationPin, HIGH); // enable the IR LED break; case 3: + AnalogInEnableChannel(zProbeAdcChannel, true); pinMode(zProbeModulationPin, OUTPUT); - digitalWrite(zProbeModulationPin, LOW); // enable the alternate sensor + digitalWrite(zProbeModulationPin, LOW); // enable the alternate sensor break; case 4: + AnalogInEnableChannel(zProbeAdcChannel, false); pinMode(endStopPins[E0_AXIS], INPUT_PULLUP); break; case 5: - break; //TODO + AnalogInEnableChannel(zProbeAdcChannel, false); + break; //TODO (DeltaProbe) default: + AnalogInEnableChannel(zProbeAdcChannel, false); break; } } @@ -644,7 +642,12 @@ void Platform::ResetNvData() ARRAY_INIT(nvData.ipAddress, IP_ADDRESS); ARRAY_INIT(nvData.netMask, NET_MASK); ARRAY_INIT(nvData.gateWay, GATE_WAY); + +#ifdef DUET_NG + memset(nvData.macAddress, 0xFF, sizeof(nvData.macAddress)); +#else ARRAY_INIT(nvData.macAddress, MAC_ADDRESS); +#endif nvData.zProbeType = 0; // Default is to use no Z probe switch ARRAY_INIT(nvData.zProbeAxes, Z_PROBE_AXES); @@ -1006,7 +1009,7 @@ void Platform::SoftwareReset(uint16_t reason) { if (reason != (uint16_t)SoftwareResetReason::user) { - if (!SERIAL_MAIN_DEVICE.canWrite()) + if (SERIAL_MAIN_DEVICE.canWrite() == 0) { reason |= (uint16_t)SoftwareResetReason::inUsbOutput; // if we are resetting because we are stuck in a Spin function, record whether we are trying to send to USB } @@ -1014,9 +1017,9 @@ void Platform::SoftwareReset(uint16_t reason) { reason |= (uint16_t)SoftwareResetReason::inLwipSpin; } - if (!SERIAL_AUX_DEVICE.canWrite() + if (SERIAL_AUX_DEVICE.canWrite() == 0 #ifdef SERIAL_AUX2_DEVICE - || !SERIAL_AUX2_DEVICE.canWrite() + || SERIAL_AUX2_DEVICE.canWrite() == 0 #endif ) { @@ -1044,21 +1047,9 @@ void Platform::SoftwareReset(uint16_t reason) // Interrupts -#ifdef CORE_NG -# include "sam/drivers/tc/tc.h" - -# define TC_GetStatus(_a, _b) tc_get_status(_a, _b) -# define TC_Configure(_a, _b, _c) tc_init(_a, _b, _c) -# define TC_Start(_a, _b) tc_start(_a, _b) -# define TC_SetRA(_a, _b, _c) tc_write_ra(_a, _b, _c) -# define TC_SetRB(_a, _b, _c) tc_write_rb(_a, _b, _c) -# define TC_SetRC(_a, _b, _c) tc_write_rc(_a, _b, _c) -# define TC_ReadCV(_a, _b) tc_read_cv(_a, _b) -#endif - -void TC3_Handler() +void STEP_TC_HANDLER() { - TC1->TC_CHANNEL[0].TC_IDR = TC_IER_CPAS; // disable the interrupt + STEP_TC->TC_CHANNEL[STEP_TC_CHAN].TC_IDR = TC_IER_CPAS; // disable the interrupt #ifdef MOVE_DEBUG ++numInterruptsExecuted; lastInterruptTime = Platform::GetInterruptClocks(); @@ -1068,13 +1059,15 @@ void TC3_Handler() // __disable_irq(); } -void TC4_Handler() +#ifndef DUET_NG +void NETWORK_TC_HANDLER() { - TC_GetStatus(TC1, 1); + tc_get_status(NETWORK_TC, NETWORK_TC_CHAN); // __enable_irq(); // allow nested interrupts reprap.GetNetwork()->Interrupt(); // __disable_irq(); } +#endif void FanInterrupt() { @@ -1094,31 +1087,38 @@ void Platform::InitialiseInterrupts() { // Set the tick interrupt to the highest priority. We need to to monitor the heaters and kick the watchdog. NVIC_SetPriority(SysTick_IRQn, 0); // set priority for tick interrupts - highest, because it kicks the watchdog + +#ifdef DUET_NG + NVIC_SetPriority(UART0_IRQn, 1); // set priority for UART interrupt - must be higher than step interrupt +#else NVIC_SetPriority(UART_IRQn, 1); // set priority for UART interrupt - must be higher than step interrupt +#endif // Timer interrupt for stepper motors // The clock rate we use is a compromise. Too fast and the 64-bit square roots take a long time to execute. Too slow and we lose resolution. // We choose a clock divisor of 32, which gives us 0.38us resolution. The next option is 128 which would give 1.524us resolution. pmc_set_writeprotect(false); - pmc_enable_periph_clk((uint32_t) TC3_IRQn); - TC_Configure(TC1, 0, TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK3); - TC1 ->TC_CHANNEL[0].TC_IDR = ~(uint32_t)0; // interrupts disabled for now - TC_Start(TC1, 0); - TC_GetStatus(TC1, 0); // clear any pending interrupt - NVIC_SetPriority(TC3_IRQn, 2); // set high priority for this IRQ; it's time-critical - NVIC_EnableIRQ(TC3_IRQn); - + pmc_enable_periph_clk((uint32_t) STEP_TC_IRQN); + tc_init(STEP_TC, STEP_TC_CHAN, TC_CMR_WAVE | TC_CMR_WAVSEL_UP | TC_CMR_TCCLKS_TIMER_CLOCK3); + STEP_TC->TC_CHANNEL[STEP_TC_CHAN].TC_IDR = ~(uint32_t)0; // interrupts disabled for now + tc_start(STEP_TC, 0); + tc_get_status(STEP_TC, STEP_TC_CHAN); // clear any pending interrupt + NVIC_SetPriority(STEP_TC_IRQN, 2); // set high priority for this IRQ; it's time-critical + NVIC_EnableIRQ(STEP_TC_IRQN); + +#ifndef DUET_NG // Timer interrupt to keep the networking timers running (called at 16Hz) - pmc_enable_periph_clk((uint32_t) TC4_IRQn); - TC_Configure(TC1, 1, TC_CMR_WAVE | TC_CMR_WAVSEL_UP_RC | TC_CMR_TCCLKS_TIMER_CLOCK2); + pmc_enable_periph_clk((uint32_t) NETWORK_TC_IRQN); + tc_init(NETWORK_TC, NETWORK_TC_CHAN, TC_CMR_WAVE | TC_CMR_WAVSEL_UP_RC | TC_CMR_TCCLKS_TIMER_CLOCK2); uint32_t rc = (VARIANT_MCK/8)/16; // 8 because we selected TIMER_CLOCK2 above - TC_SetRA(TC1, 1, rc/2); // 50% high, 50% low - TC_SetRC(TC1, 1, rc); - TC_Start(TC1, 1); - TC1 ->TC_CHANNEL[1].TC_IER = TC_IER_CPCS; - TC1 ->TC_CHANNEL[1].TC_IDR = ~TC_IER_CPCS; - NVIC_SetPriority(TC4_IRQn, 4); // step interrupt is more time-critical than this one - NVIC_EnableIRQ(TC4_IRQn); + tc_write_ra(NETWORK_TC, NETWORK_TC_CHAN, rc/2); // 50% high, 50% low + tc_write_rc(NETWORK_TC, NETWORK_TC_CHAN, rc); + tc_start(NETWORK_TC, NETWORK_TC_CHAN); + NETWORK_TC ->TC_CHANNEL[NETWORK_TC_CHAN].TC_IER = TC_IER_CPCS; + NETWORK_TC ->TC_CHANNEL[NETWORK_TC_CHAN].TC_IDR = ~TC_IER_CPCS; + NVIC_SetPriority(NETWORK_TC_IRQN, 4); // step interrupt is more time-critical than this one + NVIC_EnableIRQ(NETWORK_TC_IRQN); +#endif // Interrupt for 4-pin PWM fan sense line if (coolingFanRpmPin >= 0) @@ -1136,8 +1136,10 @@ void Platform::InitialiseInterrupts() #if 0 // not used void Platform::DisableInterrupts() { - NVIC_DisableIRQ(TC3_IRQn); - NVIC_DisableIRQ(TC4_IRQn); + NVIC_DisableIRQ(STEP_IRQN); +#ifdef DUET_NG + NVIC_DisableIRQ(NETWORK_IRQN); +#endif } #endif @@ -1451,7 +1453,7 @@ void Platform::SetHeaterPwm(size_t heater, uint8_t power) if (heatOnPins[heater] >= 0) { uint16_t freq = (reprap.GetHeat()->UseSlowPwm(heater)) ? SlowHeaterPwmFreq : NormalHeaterPwmFreq; - analogWriteDuet(heatOnPins[heater], (HEAT_ON == 0) ? 255 - power : power, freq); + AnalogWrite(heatOnPins[heater], (HEAT_ON) ? power : 255 - power, freq); } } @@ -1640,25 +1642,33 @@ void Platform::UpdateMotorCurrent(size_t drive) } else { +#ifndef DUET_NG if (board == BoardType::Duet_085) { +#endif // Extruder 0 is on DAC channel 0 if (driver == 4) { - analogWrite(DAC0, dac); +#ifdef DUET_NG + AnalogWrite(DAC1, dac); +#else + AnalogWrite(DAC0, dac); +#endif } else { mcpExpansion.setNonVolatileWiper(potWipes[driver-1], pot); mcpExpansion.setVolatileWiper(potWipes[driver-1], pot); } +#ifndef DUET_NG } else { mcpExpansion.setNonVolatileWiper(potWipes[driver], pot); mcpExpansion.setVolatileWiper(potWipes[driver], pot); } - } +#endif + } #ifdef EXTERNAL_DRIVERS } #endif @@ -1800,8 +1810,13 @@ void Platform::InitFans() { for (size_t i = 0; i < NUM_FANS; ++i) { - // The cooling fan 0 output pin gets inverted if HEAT_ON == 0 on a Duet 0.4, 0.6 or 0.7 - fans[i].Init(COOLING_FAN_PINS[i], !HEAT_ON && (board == BoardType::Duet_06 || board == BoardType::Duet_07)); + fans[i].Init(COOLING_FAN_PINS[i], + !HEAT_ON +#ifndef DUET_NG + // The cooling fan 0 output pin gets inverted if HEAT_ON == 0 on a Duet 0.4, 0.6 or 0.7 + && (board == BoardType::Duet_06 || board == BoardType::Duet_07) +#endif + ); } if (NUM_FANS > 1) @@ -1905,7 +1920,7 @@ void Platform::Fan::Refresh() { invert = !invert; } - analogWriteDuet(pin, (invert) ? (255 - p) : p, freq); + AnalogWrite(pin, (invert) ? (255 - p) : p, freq); } } @@ -2266,6 +2281,9 @@ void Platform::SetBoardType(BoardType bt) { if (bt == BoardType::Auto) { +#ifdef DUET_NG + board = BoardType::DuetNG_08; +#else // Determine whether this is a Duet 0.6 or a Duet 0.8.5 board. // If it is a 0.85 board then DAC0 (AKA digital pin 67) is connected to ground via a diode and a 2.15K resistor. // So we enable the pullup (value 150K-150K) on pin 67 and read it, expecting a LOW on a 0.8.5 board and a HIGH on a 0.6 board. @@ -2273,6 +2291,7 @@ void Platform::SetBoardType(BoardType bt) pinMode(Dac0DigitalPin, INPUT_PULLUP); board = (digitalRead(Dac0DigitalPin)) ? BoardType::Duet_06 : BoardType::Duet_085; pinMode(Dac0DigitalPin, INPUT); // turn pullup off +#endif } else { @@ -2291,9 +2310,13 @@ const char* Platform::GetElectronicsString() const { switch (board) { +#ifdef DUET_NG + case BoardType::DuetNG_08: return "DuetNG 0.8"; +#else case BoardType::Duet_06: return "Duet 0.6"; case BoardType::Duet_07: return "Duet 0.7"; case BoardType::Duet_085: return "Duet 0.85"; +#endif default: return "Unidentified"; } } @@ -2415,9 +2438,9 @@ char Platform::ReadFromSource(const SerialSource source) // Must be called with interrupts disabled, /*static*/ bool Platform::ScheduleInterrupt(uint32_t tim) { - TC_SetRA(TC1, 0, tim); // set up the compare register - TC_GetStatus(TC1, 0); // clear any pending interrupt - int32_t diff = (int32_t)(tim - TC_ReadCV(TC1, 0)); // see how long we have to go + tc_write_ra(TC1, 0, tim); // set up the compare register + tc_get_status(TC1, 0); // clear any pending interrupt + int32_t diff = (int32_t)(tim - tc_read_cv(TC1, 0)); // see how long we have to go if (diff < (int32_t)DDA::minInterruptInterval) // if less than about 2us or already passed { return true; // tell the caller to simulate an interrupt instead @@ -2435,7 +2458,6 @@ char Platform::ReadFromSource(const SerialSource source) // Process a 1ms tick interrupt // This function must be kept fast so as not to disturb the stepper timing, so don't do any floating point maths in here. // This is what we need to do: -// 0. Kick the watchdog. // 1. Kick off a new ADC conversion. // 2. Fetch and process the result of the last ADC conversion. // 3a. If the last ADC conversion was for the Z probe, toggle the modulation output if using a modulated IR sensor. @@ -2457,8 +2479,7 @@ void Platform::Tick() if (DoThermistorAdc(currentHeater)) { ThermistorAveragingFilter& currentFilter = const_cast<ThermistorAveragingFilter&>(thermistorFilters[currentHeater]); - currentFilter.ProcessReading(GetAdcReading(thermistorAdcChannels[heaterTempChannels[currentHeater]])); - StartAdcConversion(zProbeAdcChannel); + currentFilter.ProcessReading(AnalogInReadChannel(thermistorAdcChannels[heaterTempChannels[currentHeater]])); if (currentFilter.IsValid() && (configuredHeaters & (1 << currentHeater)) != 0) { uint32_t sum = currentFilter.GetSum(); @@ -2477,7 +2498,6 @@ void Platform::Tick() // periodically called by PID::Spin() where temperature fault handling is taken care of. However, we // must guard against overly long delays between successive calls of PID::Spin(). // Do not call Time() here, it isn't safe. We use millis() instead. - StartAdcConversion(zProbeAdcChannel); if ((millis() - reprap.GetHeat()->GetLastSampleTime(currentHeater)) > maxPidSpinDelay) { SetHeaterPwm(currentHeater, 0); @@ -2496,13 +2516,9 @@ void Platform::Tick() case 2: // last conversion started was the Z probe, with IR LED on const_cast<ZProbeAveragingFilter&>(zProbeOnFilter).ProcessReading(GetRawZProbeReading()); - if (DoThermistorAdc(currentHeater)) + if (nvData.zProbeType == 2) // if using a modulated IR sensor { - StartAdcConversion(thermistorAdcChannels[heaterTempChannels[currentHeater]]); // read a thermistor - } - if (nvData.zProbeType == 2) // if using a modulated IR sensor - { - digitalWrite(zProbeModulationPin, LOW); // turn off the IR emitter + digitalWrite(zProbeModulationPin, LOW); // turn off the IR emitter } ++tickState; break; @@ -2512,17 +2528,16 @@ void Platform::Tick() // no break case 0: // this is the state after initialisation, no conversion has been started default: - if (DoThermistorAdc(currentHeater)) - { - StartAdcConversion(thermistorAdcChannels[heaterTempChannels[currentHeater]]); // read a thermistor - } - if (nvData.zProbeType == 2) // if using a modulated IR sensor + if (nvData.zProbeType == 2) // if using a modulated IR sensor { digitalWrite(zProbeModulationPin, HIGH); // turn on the IR emitter } tickState = 1; break; } + + AnalogInStartConversion(); + #ifdef TIME_TICK_ISR uint32_t now2 = micros(); if (now2 - now > errorCodeBits) @@ -2532,19 +2547,6 @@ void Platform::Tick() #endif } -/*static*/ uint16_t Platform::GetAdcReading(EAnalogChannel chan) -{ - uint16_t rslt = (uint16_t) adc_get_channel_value(ADC, (adc_channel_num_t)(int)chan); - adc_disable_channel(ADC, (adc_channel_num_t)(int)chan); - return rslt; -} - -/*static*/ void Platform::StartAdcConversion(EAnalogChannel chan) -{ - adc_enable_channel(ADC, (adc_channel_num_t)(int)chan); - adc_start(ADC ); -} - // Pragma pop_options is not supported on this platform //#pragma GCC pop_options diff --git a/src/Platform.h b/src/Platform.h index caa92041..7bb0c73b 100644 --- a/src/Platform.h +++ b/src/Platform.h @@ -175,9 +175,13 @@ const size_t FILE_BUFFER_SIZE = 256; enum class BoardType : uint8_t { Auto = 0, +#ifdef DUET_NG + DuetNG_08 = 1 +#else Duet_06 = 1, Duet_07 = 2, Duet_085 = 3 +#endif }; enum class EndStopHit @@ -828,16 +832,13 @@ private: // checking has already been performed. uint8_t heaterTempChannels[HEATERS]; - EAnalogChannel thermistorAdcChannels[HEATERS]; - EAnalogChannel zProbeAdcChannel; + AnalogChannelNumber thermistorAdcChannels[HEATERS]; + AnalogChannelNumber zProbeAdcChannel; uint32_t thermistorOverheatSums[HEATERS]; uint8_t tickState; size_t currentHeater; int debugCode; - static uint16_t GetAdcReading(EAnalogChannel chan); - static void StartAdcConversion(EAnalogChannel chan); - // Hotend configuration float filamentWidth; float nozzleDiameter; @@ -1246,7 +1247,7 @@ inline uint16_t Platform::GetRawZProbeReading() const } else { - return GetAdcReading(zProbeAdcChannel); + return AnalogInReadChannel(zProbeAdcChannel); } } |