text:
/*
   Copyright 2020 The Compose Specification Authors.

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
*/

package compatibility

import (
	"fmt"

	"github.com/kelda/compose-go/types"
)

func (c *AllowList) CheckBlkioConfig(service *types.ServiceConfig) {
	if !c.supported("services.blkio_config") && service.BlkioConfig != "" {
		service.BlkioConfig = ""
		c.Unsupported("services.blkio_config")
	}
}

func (c *AllowList) CheckCapAdd(service *types.ServiceConfig) {
	if !c.supported("services.cap_add") && len(service.CapAdd) != 0 {
		service.CapAdd = nil
		c.Unsupported("services.cap_add")
	}
}

func (c *AllowList) CheckCapDrop(service *types.ServiceConfig) {
	if !c.supported("services.cap_drop") && len(service.CapDrop) != 0 {
		service.CapDrop = nil
		c.Unsupported("services.cap_drop")
	}
}

func (c *AllowList) CheckCgroupParent(service *types.ServiceConfig) {
	if !c.supported("services.cgroup_parent") && service.CgroupParent != "" {
		service.CgroupParent = ""
		c.Unsupported("services.cgroup_parent")
	}
}

func (c *AllowList) CheckCPUQuota(service *types.ServiceConfig) {
	if !c.supported("services.cpu_quota") && service.CPUQuota != 0 {
		service.CPUQuota = 0
		c.Unsupported("services.cpu_quota")
	}
}

func (c *AllowList) CheckCPUCount(service *types.ServiceConfig) {
	if !c.supported("services.cpu_count") && service.CPUCount != 0 {
		service.CPUCount = 0
		c.Unsupported("services.cpu_count")
	}
}

func (c *AllowList) CheckCPUPercent(service *types.ServiceConfig) {
	if !c.supported("services.cpu_percent") && service.CPUPercent != 0 {
		service.CPUPercent = 0
		c.Unsupported("services.cpu_percent")
	}
}

func (c *AllowList) CheckCPUPeriod(service *types.ServiceConfig) {
	if !c.supported("services.cpu_period") && service.CPUPeriod != 0 {
		service.CPUPeriod = 0
		c.Unsupported("services.cpu_period")
	}
}

func (c *AllowList) CheckCPURTRuntime(service *types.ServiceConfig) {
	if !c.supported("services.cpu_rt_runtime") && service.CPURTRuntime != 0 {
		service.CPURTRuntime = 0
		c.Unsupported("services.cpu_rt_period")
	}
}

func (c *AllowList) CheckCPURTPeriod(service *types.ServiceConfig) {
	if !c.supported("services.cpu_rt_period") && service.CPURTPeriod != 0 {
		service.CPURTPeriod = 0
		c.Unsupported("services.cpu_rt_period")
	}
}

func (c *AllowList) CheckCPUs(service *types.ServiceConfig) {
	if !c.supported("services.cpus") && service.CPUS != 0 {
		service.CPUS = 0
		c.Unsupported("services.cpus")
	}
}

func (c *AllowList) CheckCPUSet(service *types.ServiceConfig) {
	if !c.supported("services.cpuset") && service.CPUSet != "" {
		service.CPUSet = ""
		c.Unsupported("services.cpuset")
	}
}

func (c *AllowList) CheckCPUShares(service *types.ServiceConfig) {
	if !c.supported("services.cpu_shares") && service.CPUShares != 0 {
		service.CPUShares = 0
		c.Unsupported("services.cpu_shares")
	}
}

func (c *AllowList) CheckCommand(service *types.ServiceConfig) {
	if !c.supported("services.command") && len(service.Command) != 0 {
		service.Command = nil
		c.Unsupported("services.command")
	}
}

func (c *AllowList) CheckConfigs(service *types.ServiceConfig) {
	if len(service.Configs) != 0 {
		if !c.supported("services.configs") {
			service.Configs = nil
			c.Unsupported("services.configs")
			return
		}
		for i, s := range service.Secrets {
			ref := types.FileReferenceConfig(s)
			c.CheckFileReference("configs", &ref)
			service.Secrets[i] = s
		}
	}
}

func (c *AllowList) CheckContainerName(service *types.ServiceConfig) {
	if !c.supported("services.container_name") && service.ContainerName != "" {
		service.ContainerName = ""
		c.Unsupported("services.container_name")
	}
}

func (c *AllowList) CheckCredentialSpec(service *types.ServiceConfig) {
	if !c.supported("services.credential_spec") && service.CredentialSpec != nil {
		service.CredentialSpec = nil
		c.Unsupported("services.credential_spec")
	}
}

func (c *AllowList) CheckDependsOn(service *types.ServiceConfig) {
	if !c.supported("services.depends_on") && len(service.DependsOn) != 0 {
		service.DependsOn = nil
		c.Unsupported("services.depends_on")
	}
}

func (c *AllowList) CheckDevices(service *types.ServiceConfig) {
	if !c.supported("services.devices") && len(service.Devices) != 0 {
		service.Devices = nil
		c.Unsupported("services.devices")
	}
}

func (c *AllowList) CheckDNS(service *types.ServiceConfig) {
	if !c.supported("services.dns") && service.DNS != nil {
		service.DNS = nil
		c.Unsupported("services.dns")
	}
}

func (c *AllowList) CheckDNSOpts(service *types.ServiceConfig) {
	if !c.supported("services.dns_opt") && len(service.DNSOpts) != 0 {
		service.DNSOpts = nil
		c.Unsupported("services.dns_opt")
	}
}

func (c *AllowList) CheckDNSSearch(service *types.ServiceConfig) {
	if !c.supported("services.dns_search") && len(service.DNSSearch) != 0 {
		service.DNSSearch = nil
		c.Unsupported("services.dns_search")
	}
}

func (c *AllowList) CheckDomainName(service *types.ServiceConfig) {
	if !c.supported("services.domainname") && service.DomainName != "" {
		service.DomainName = ""
		c.Unsupported("services.domainname")
	}
}

func (c *AllowList) CheckEntrypoint(service *types.ServiceConfig) {
	if !c.supported("services.entrypoint") && len(service.Entrypoint) != 0 {
		service.Entrypoint = nil
		c.Unsupported("services.entrypoint")
	}
}

func (c *AllowList) CheckEnvironment(service *types.ServiceConfig) {
	if !c.supported("services.environment") && len(service.Environment) != 0 {
		service.Environment = nil
		c.Unsupported("services.environment")
	}
}

func (c *AllowList) CheckEnvFile(service *types.ServiceConfig) {
	if !c.supported("services.env_file") && len(service.EnvFile) != 0 {
		service.EnvFile = nil
		c.Unsupported("services.env_file")
	}
}

func (c *AllowList) CheckExpose(service *types.ServiceConfig) {
	if !c.supported("services.expose") && len(service.Expose) != 0 {
		service.Expose = nil
		c.Unsupported("services.expose")
	}
}

func (c *AllowList) CheckExtends(service *types.ServiceConfig) {
	if !c.supported("services.extends") && len(service.Extends) != 0 {
		service.Extends = nil
		c.Unsupported("services.extends")
	}
}

func (c *AllowList) CheckExternalLinks(service *types.ServiceConfig) {
	if !c.supported("services.external_links") && len(service.ExternalLinks) != 0 {
		service.ExternalLinks = nil
		c.Unsupported("services.external_links")
	}
}

func (c *AllowList) CheckExtraHosts(service *types.ServiceConfig) {
	if !c.supported("services.extra_hosts") && len(service.ExtraHosts) != 0 {
		service.ExtraHosts = nil
		c.Unsupported("services.extra_hosts")
	}
}

func (c *AllowList) CheckGroupAdd(service *types.ServiceConfig) {
	if !c.supported("services.group_app") && len(service.GroupAdd) != 0 {
		service.GroupAdd = nil
		c.Unsupported("services.group_app")
	}
}

func (c *AllowList) CheckHostname(service *types.ServiceConfig) {
	if !c.supported("services.hostname") && service.Hostname != "" {
		service.Hostname = ""
		c.Unsupported("services.hostname")
	}
}

func (c *AllowList) CheckHealthCheck(service *types.ServiceConfig) bool {
	if !c.supported("services.healthcheck") {
		service.HealthCheck = nil
		c.Unsupported("services.healthcheck")
		return false
	}
	return true
}

func (c *AllowList) CheckHealthCheckTest(h *types.HealthCheckConfig) {
	if !c.supported("services.healthcheck.test") && len(h.Test) != 0 {
		h.Test = nil
		c.Unsupported("services.healthcheck.test")
	}
}

func (c *AllowList) CheckHealthCheckTimeout(h *types.HealthCheckConfig) {
	if !c.supported("services.healthcheck.timeout") && h.Timeout != nil {
		h.Timeout = nil
		c.Unsupported("services.healthcheck.timeout")
	}
}

func (c *AllowList) CheckHealthCheckInterval(h *types.HealthCheckConfig) {
	if !c.supported("services.healthcheck.interval") && h.Interval != nil {
		h.Interval = nil
		c.Unsupported("services.healthcheck.interval")
	}
}

func (c *AllowList) CheckHealthCheckRetries(h *types.HealthCheckConfig) {
	if !c.supported("services.healthcheck.retries") && h.Retries != nil {
		h.Retries = nil
		c.Unsupported("services.healthcheck.retries")
	}
}

func (c *AllowList) CheckHealthCheckStartPeriod(h *types.HealthCheckConfig) {
	if !c.supported("services.healthcheck.start_period") && h.StartPeriod != nil {
		h.StartPeriod = nil
		c.Unsupported("services.healthcheck.start_period")
	}
}

func (c *AllowList) CheckImage(service *types.ServiceConfig) {
	if !c.supported("services.image") && service.Image != "" {
		service.Image = ""
		c.Unsupported("services.image")
	}
}

func (c *AllowList) CheckInit(service *types.ServiceConfig) {
	if !c.supported("services.init") && service.Init != nil {
		service.Init = nil
		c.Unsupported("services.init")
	}
}

func (c *AllowList) CheckIpc(service *types.ServiceConfig) {
	if !c.supported("services.ipc") && service.Ipc != "" {
		service.Ipc = ""
		c.Unsupported("services.ipc")
	}
}

func (c *AllowList) CheckIsolation(service *types.ServiceConfig) {
	if !c.supported("services.isolation") && service.Isolation != "" {
		service.Isolation = ""
		c.Unsupported("services.isolation")
	}
}

func (c *AllowList) CheckLabels(service *types.ServiceConfig) {
	if !c.supported("services.labels") && len(service.Labels) != 0 {
		service.Labels = nil
		c.Unsupported("services.labels")
	}
}

func (c *AllowList) CheckLinks(service *types.ServiceConfig) {
	if !c.supported("services.links") && len(service.Links) != 0 {
		service.Links = nil
		c.Unsupported("services.links")
	}
}

func (c *AllowList) CheckLogging(service *types.ServiceConfig) bool {
	if !c.supported("services.logging") {
		service.Logging = nil
		c.Unsupported("services.logging")
		return false
	}
	return true
}

func (c *AllowList) CheckLoggingDriver(logging *types.LoggingConfig) {
	if !c.supported("services.logging.driver") && logging.Driver != "" {
		logging.Driver = ""
		c.Unsupported("services.logging.driver")
	}
}

func (c *AllowList) CheckLoggingOptions(logging *types.LoggingConfig) {
	if !c.supported("services.logging.options") && len(logging.Options) != 0 {
		logging.Options = nil
		c.Unsupported("services.logging.options")
	}
}

func (c *AllowList) CheckMemLimit(service *types.ServiceConfig) {
	if !c.supported("services.mem_limit") && service.MemLimit != 0 {
		service.MemLimit = 0
		c.Unsupported("services.mem_limit")
	}
}

func (c *AllowList) CheckMemReservation(service *types.ServiceConfig) {
	if !c.supported("services.mem_reservation") && service.MemReservation != 0 {
		service.MemReservation = 0
		c.Unsupported("services.mem_reservation")
	}
}

func (c *AllowList) CheckMemSwapLimit(service *types.ServiceConfig) {
	if !c.supported("services.memswap_limit") && service.MemSwapLimit != 0 {
		service.MemSwapLimit = 0
		c.Unsupported("services.memswap_limit")
	}
}

func (c *AllowList) CheckMemSwappiness(service *types.ServiceConfig) {
	if !c.supported("services.mem_swappiness") && service.MemSwappiness != 0 {
		service.MemSwappiness = 0
		c.Unsupported("services.mem_swappiness")
	}
}

func (c *AllowList) CheckMacAddress(service *types.ServiceConfig) {
	if !c.supported("services.mac_address") && service.MacAddress != "" {
		service.MacAddress = ""
		c.Unsupported("services.mac_address")
	}
}

func (c *AllowList) CheckNet(service *types.ServiceConfig) {
	if !c.supported("services.net") && service.Net != "" {
		service.Net = ""
		c.Unsupported("services.net")
	}
}

func (c *AllowList) CheckNetworkMode(service *types.ServiceConfig) {
	if !c.supported("services.network_mode") && service.NetworkMode != "" {
		service.NetworkMode = ""
		c.Unsupported("services.network_mode")
	}
}

func (c *AllowList) CheckNetworks(service *types.ServiceConfig) bool {
	if !c.supported("services.networks") {
		service.Networks = nil
		c.Unsupported("services.networks")
		return false
	}
	return true
}

func (c *AllowList) CheckNetworkAliases(n *types.ServiceNetworkConfig) {
	if !c.supported("services.networks.aliases") && len(n.Aliases) != 0 {
		n.Aliases = nil
		c.Unsupported("services.networks.aliases")
	}
}

func (c *AllowList) CheckNetworkIpv4Address(n *types.ServiceNetworkConfig) {
	if !c.supported("services.networks.ipv4_address") && n.Ipv4Address != "" {
		n.Ipv4Address = ""
		c.Unsupported("services.networks.ipv4_address")
	}
}

func (c *AllowList) CheckNetworkIpv6Address(n *types.ServiceNetworkConfig) {
	if !c.supported("services.networks.ipv6_address") && n.Ipv6Address != "" {
		n.Ipv6Address = ""
		c.Unsupported("services.networks.ipv6_address")
	}
}

func (c *AllowList) CheckOomKillDisable(service *types.ServiceConfig) {
	if !c.supported("services.oom_kill_disable") && service.OomKillDisable {
		service.OomKillDisable = false
		c.Unsupported("services.oom_kill_disable")
	}
}

func (c *AllowList) CheckOomScoreAdj(service *types.ServiceConfig) {
	if !c.supported("services.oom_score_adj") && service.OomScoreAdj != 0 {
		service.OomScoreAdj = 0
		c.Unsupported("services.oom_score_adj")
	}
}

func (c *AllowList) CheckPid(service *types.ServiceConfig) {
	if !c.supported("services.pid") && service.Pid != "" {
		service.Pid = ""
		c.Unsupported("services.pid")
	}
}

func (c *AllowList) CheckPidLimit(service *types.ServiceConfig) {
	if !c.supported("services.pid_limit") && service.PidLimit != 0 {
		service.PidLimit = 0
		c.Unsupported("services.pid_limit")
	}
}

func (c *AllowList) CheckPlatform(service *types.ServiceConfig) {
	if !c.supported("services.platform") && service.Platform != "" {
		service.Platform = ""
		c.Unsupported("services.platform")
	}
}

func (c *AllowList) CheckPorts(service *types.ServiceConfig) bool {
	if !c.supported("services.ports") {
		service.Ports = nil
		c.Unsupported("services.ports")
		return false
	}
	return true
}

func (c *AllowList) CheckPortsMode(p *types.ServicePortConfig) {
	if !c.supported("services.ports.mode") && p.Mode != "" {
		p.Mode = ""
		c.Unsupported("services.ports.mode")
	}
}

func (c *AllowList) CheckPortsTarget(p *types.ServicePortConfig) {
	if !c.supported("services.ports.target") && p.Target != 0 {
		p.Target = 0
		c.Unsupported("services.ports.target")
	}
}

func (c *AllowList) CheckPortsPublished(p *types.ServicePortConfig) {
	if !c.supported("services.ports.published") && p.Published != 0 {
		p.Published = 0
		c.Unsupported("services.ports.published")
	}
}

func (c *AllowList) CheckPortsProtocol(p *types.ServicePortConfig) {
	if !c.supported("services.ports.protocol") && p.Protocol != "" {
		p.Protocol = ""
		c.Unsupported("services.ports.protocol")
	}
}

func (c *AllowList) CheckPrivileged(service *types.ServiceConfig) {
	if !c.supported("services.privileged") && service.Privileged {
		service.Privileged = false
		c.Unsupported("services.privileged")
	}
}

func (c *AllowList) CheckReadOnly(service *types.ServiceConfig) {
	if !c.supported("services.read_only") && service.ReadOnly {
		service.ReadOnly = false
		c.Unsupported("services.read_only")
	}
}

func (c *AllowList) CheckRestart(service *types.ServiceConfig) {
	if !c.supported("services.restart") && service.Restart != "" {
		service.Restart = ""
		c.Unsupported("services.restart")
	}
}

func (c *AllowList) CheckRuntime(service *types.ServiceConfig) {
	if !c.supported("services.runtime") && service.Runtime != "" {
		service.Runtime = ""
		c.Unsupported("services.runtime")
	}
}

func (c *AllowList) CheckScale(service *types.ServiceConfig) {
	if !c.supported("services.scale") && service.Scale != 0 {
		service.Scale = 0
		c.Unsupported("services.scale")
	}
}

func (c *AllowList) CheckSecrets(service *types.ServiceConfig) {
	if len(service.Secrets) != 0 {
		if !c.supported("services.secrets") {
			service.Secrets = nil
			c.Unsupported("services.secrets")
		}
		for i, s := range service.Secrets {
			ref := types.FileReferenceConfig(s)
			c.CheckFileReference("services.secrets", &ref)
			service.Secrets[i] = s
		}
	}
}

func (c *AllowList) CheckFileReference(s string, config *types.FileReferenceConfig) {
	c.CheckFileReferenceSource(s, config)
	c.CheckFileReferenceTarget(s, config)
	c.CheckFileReferenceGID(s, config)
	c.CheckFileReferenceUID(s, config)
	c.CheckFileReferenceMode(s, config)
}

func (c *AllowList) CheckFileReferenceSource(s string, config *types.FileReferenceConfig) {
	k := fmt.Sprintf("%s.source", s)
	if !c.supported(k) && config.Source != "" {
		config.Source = ""
		c.Unsupported(k)
	}
}

func (c *AllowList) CheckFileReferenceTarget(s string, config *types.FileReferenceConfig) {
	k := fmt.Sprintf("%s.target", s)
	if !c.supported(k) && config.Target == "" {
		config.Target = ""
		c.Unsupported(k)
	}
}

func (c *AllowList) CheckFileReferenceUID(s string, config *types.FileReferenceConfig) {
	k := fmt.Sprintf("%s.uid", s)
	if !c.supported(k) && config.UID != "" {
		config.UID = ""
		c.Unsupported(k)
	}
}

func (c *AllowList) CheckFileReferenceGID(s string, config *types.FileReferenceConfig) {
	k := fmt.Sprintf("%s.gid", s)
	if !c.supported(k) && config.GID != "" {
		config.GID = ""
		c.Unsupported(k)
	}
}

func (c *AllowList) CheckFileReferenceMode(s string, config *types.FileReferenceConfig) {
	k := fmt.Sprintf("%s.mode", s)
	if !c.supported(k) && config.Mode != nil {
		config.Mode = nil
		c.Unsupported(k)
	}
}

func (c *AllowList) CheckSecurityOpt(service *types.ServiceConfig) {
	if !c.supported("services.security_opt") && len(service.SecurityOpt) != 0 {
		service.SecurityOpt = nil
		c.Unsupported("services.security_opt")
	}
}

func (c *AllowList) CheckShmSize(service *types.ServiceConfig) {
	if !c.supported("services.shm_size") && service.ShmSize != "" {
		service.ShmSize = ""
		c.Unsupported("services.shm_size")
	}
}

func (c *AllowList) CheckStdinOpen(service *types.ServiceConfig) {
	if !c.supported("services.stdin_open") && service.StdinOpen {
		service.StdinOpen = true
		c.Unsupported("services.stdin_open")
	}
}

func (c *AllowList) CheckStopGracePeriod(service *types.ServiceConfig) {
	if !c.supported("services.stop_grace_period") && service.StopGracePeriod != nil {
		service.StopGracePeriod = nil
		c.Unsupported("services.stop_grace_period")
	}
}

func (c *AllowList) CheckStopSignal(service *types.ServiceConfig) {
	if !c.supported("services.stop_signal") && service.StopSignal != "" {
		service.StopSignal = ""
		c.Unsupported("services.stop_signal")
	}
}

func (c *AllowList) CheckSysctls(service *types.ServiceConfig) {
	if !c.supported("services.sysctls") && len(service.Sysctls) != 0 {
		service.Sysctls = nil
		c.Unsupported("services.sysctls")
	}
}

func (c *AllowList) CheckTmpfs(service *types.ServiceConfig) {
	if !c.supported("services.tmpfs") && len(service.Tmpfs) != 0 {
		service.Tmpfs = nil
		c.Unsupported("services.tmpfs")
	}
}

func (c *AllowList) CheckTty(service *types.ServiceConfig) {
	if !c.supported("services.tty") && service.Tty {
		service.Tty = false
		c.Unsupported("services.tty")
	}
}

func (c *AllowList) CheckUlimits(service *types.ServiceConfig) {
	if !c.supported("services.ulimits") && len(service.Ulimits) != 0 {
		service.Ulimits = nil
		c.Unsupported("services.ulimits")
	}
}

func (c *AllowList) CheckUser(service *types.ServiceConfig) {
	if !c.supported("services.user") && service.User != "" {
		service.User = ""
		c.Unsupported("services.user")
	}
}

func (c *AllowList) CheckUserNSMode(service *types.ServiceConfig) {
	if !c.supported("services.userns_mode") && service.UserNSMode != "" {
		service.UserNSMode = ""
		c.Unsupported("services.userns_mode")
	}
}

func (c *AllowList) CheckUts(service *types.ServiceConfig) {
	if !c.supported("services.build") && service.Uts != "" {
		service.Uts = ""
		c.Unsupported("services.uts")
	}
}

func (c *AllowList) CheckVolumeDriver(service *types.ServiceConfig) {
	if !c.supported("services.volume_driver") && service.VolumeDriver != "" {
		service.VolumeDriver = ""
		c.Unsupported("services.volume_driver")
	}
}

func (c *AllowList) CheckServiceVolumes(service *types.ServiceConfig) bool {
	if !c.supported("services.volumes") {
		service.Volumes = nil
		c.Unsupported("services.volumes")
		return false
	}
	return true
}

func (c *AllowList) CheckVolumesSource(config *types.ServiceVolumeConfig) {
	if !c.supported("services.volumes.source") && config.Source != "" {
		config.Source = ""
		c.Unsupported("services.volumes.source")
	}
}

func (c *AllowList) CheckVolumesTarget(config *types.ServiceVolumeConfig) {
	if !c.supported("services.volumes.target") && config.Target != "" {
		config.Target = ""
		c.Unsupported("services.volumes.target")
	}
}

func (c *AllowList) CheckVolumesReadOnly(config *types.ServiceVolumeConfig) {
	if !c.supported("services.volumes.read_only") && config.ReadOnly {
		config.ReadOnly = false
		c.Unsupported("services.volumes.read_only")
	}
}

func (c *AllowList) CheckVolumesConsistency(config *types.ServiceVolumeConfig) {
	if !c.supported("services.volumes.consistency") && config.Consistency != "" {
		config.Consistency = ""
		c.Unsupported("services.volumes.consistency")
	}
}

func (c *AllowList) CheckVolumesBind(config *types.ServiceVolumeBind) {
	if config == nil {
		return
	}
	if !c.supported("services.volumes.bind.propagation") && config.Propagation != "" {
		config.Propagation = ""
		c.Unsupported("services.volumes.bind.propagation")
	}
}

func (c *AllowList) CheckVolumesVolume(config *types.ServiceVolumeVolume) {
	if config == nil {
		return
	}
	if !c.supported("services.volumes.nocopy") && config.NoCopy {
		config.NoCopy = false
		c.Unsupported("services.volumes.nocopy")
	}
}

func (c *AllowList) CheckVolumesTmpfs(config *types.ServiceVolumeTmpfs) {
	if config == nil {
		return
	}
	if !c.supported("services.volumes.tmpfs.size") && config.Size != 0 {
		config.Size = 0
		c.Unsupported("services.volumes.tmpfs.size")
	}
}

func (c *AllowList) CheckVolumesFrom(service *types.ServiceConfig) {
	if !c.supported("services.volumes_from") && len(service.VolumesFrom) != 0 {
		service.VolumesFrom = nil
		c.Unsupported("services.volumes_from")
	}
}

func (c *AllowList) CheckWorkingDir(service *types.ServiceConfig) {
	if !c.supported("services.working_dir") && service.WorkingDir != "" {
		service.WorkingDir = ""
		c.Unsupported("services.working_dir")
	}
}

repository: kelda/compose-go

repo_name: kelda/compose-go

gha_language: Go


text:
SUMMARY = "Host/Native tooling for the Web Platform for Embedded Framework"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=f1dffbfd5c2eb52e0302eb6296cc3711"

PR = "r0"
PV = "3.0+git${SRCPV}"
S = "${WORKDIR}/git"

SRC_URI = "git://github.com/rdkcentral/Thunder.git;protocol=git;branch=master \
          "
SRC_URI[md5sum] = "42b518b9ccd6852d1d709749bc96cb70"
SRC_URI[sha256sum] = "f3c45b121cf6257eafabdc3a8008763aed1cd7da06dbabc59a9e4d2a5e4e6697"

SRCREV = "58f90a90002ae294eea4c6f17d47952322942c62"

inherit cmake pkgconfig native python3native

DEPENDS = "\
    python3-native \
    python3-jsonref-native \
"

OECMAKE_SOURCEPATH = "${WORKDIR}/git/Tools"

FILES_${PN} += "${datadir}/*/Modules/*.cmake"

license: MIT

repository: VenkateshUmmadiSetty/meta-wpe

license_type: permissive

repo_name: VenkateshUmmadiSetty/meta-wpe

branch_name: refs/heads/main

extension: bb


text:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE eagle SYSTEM "eagle.dtd">
<eagle version="9.4.2">
<drawing>
<settings>
<setting alwaysvectorfont="no"/>
<setting keepoldvectorfont="yes"/>
<setting verticaltext="up"/>
</settings>
<grid distance="0.1" unitdist="inch" unit="inch" style="lines" multiple="1" display="no" altdistance="0.01" altunitdist="inch" altunit="inch"/>
<layers>
<layer number="1" name="Top" color="4" fill="1" visible="no" active="no"/>
<layer number="2" name="Route2" color="1" fill="3" visible="no" active="no"/>
<layer number="3" name="Route3" color="4" fill="3" visible="no" active="no"/>
<layer number="4" name="Route4" color="1" fill="4" visible="no" active="no"/>
<layer number="5" name="Route5" color="4" fill="4" visible="no" active="no"/>
<layer number="6" name="Route6" color="1" fill="8" visible="no" active="no"/>
<layer number="7" name="Route7" color="4" fill="8" visible="no" active="no"/>
<layer number="8" name="Route8" color="1" fill="2" visible="no" active="no"/>
<layer number="9" name="Route9" color="4" fill="2" visible="no" active="no"/>
<layer number="10" name="Route10" color="1" fill="7" visible="no" active="no"/>
<layer number="11" name="Route11" color="4" fill="7" visible="no" active="no"/>
<layer number="12" name="Route12" color="1" fill="5" visible="no" active="no"/>
<layer number="13" name="Route13" color="4" fill="5" visible="no" active="no"/>
<layer number="14" name="Route14" color="1" fill="6" visible="no" active="no"/>
<layer number="15" name="Route15" color="4" fill="6" visible="no" active="no"/>
<layer number="16" name="Bottom" color="1" fill="1" visible="no" active="no"/>
<layer number="17" name="Pads" color="2" fill="1" visible="no" active="no"/>
<layer number="18" name="Vias" color="2" fill="1" visible="no" active="no"/>
<layer number="19" name="Unrouted" color="6" fill="1" visible="no" active="no"/>
<layer number="20" name="Dimension" color="15" fill="1" visible="no" active="no"/>
<layer number="21" name="tPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="22" name="bPlace" color="7" fill="1" visible="no" active="no"/>
<layer number="23" name="tOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="24" name="bOrigins" color="15" fill="1" visible="no" active="no"/>
<layer number="25" name="tNames" color="7" fill="1" visible="no" active="no"/>
<layer number="26" name="bNames" color="7" fill="1" visible="no" active="no"/>
<layer number="27" name="tValues" color="7" fill="1" visible="no" active="no"/>
<layer number="28" name="bValues" color="7" fill="1" visible="no" active="no"/>
<layer number="29" name="tStop" color="7" fill="3" visible="no" active="no"/>
<layer number="30" name="bStop" color="7" fill="6" visible="no" active="no"/>
<layer number="31" name="tCream" color="7" fill="4" visible="no" active="no"/>
<layer number="32" name="bCream" color="7" fill="5" visible="no" active="no"/>
<layer number="33" name="tFinish" color="6" fill="3" visible="no" active="no"/>
<layer number="34" name="bFinish" color="6" fill="6" visible="no" active="no"/>
<layer number="35" name="tGlue" color="7" fill="4" visible="no" active="no"/>
<layer number="36" name="bGlue" color="7" fill="5" visible="no" active="no"/>
<layer number="37" name="tTest" color="7" fill="1" visible="no" active="no"/>
<layer number="38" name="bTest" color="7" fill="1" visible="no" active="no"/>
<layer number="39" name="tKeepout" color="4" fill="11" visible="no" active="no"/>
<layer number="40" name="bKeepout" color="1" fill="11" visible="no" active="no"/>
<layer number="41" name="tRestrict" color="4" fill="10" visible="no" active="no"/>
<layer number="42" name="bRestrict" color="1" fill="10" visible="no" active="no"/>
<layer number="43" name="vRestrict" color="2" fill="10" visible="no" active="no"/>
<layer number="44" name="Drills" color="7" fill="1" visible="no" active="no"/>
<layer number="45" name="Holes" color="7" fill="1" visible="no" active="no"/>
<layer number="46" name="Milling" color="3" fill="1" visible="no" active="no"/>
<layer number="47" name="Measures" color="7" fill="1" visible="no" active="no"/>
<layer number="48" name="Document" color="7" fill="1" visible="no" active="no"/>
<layer number="49" name="Reference" color="7" fill="1" visible="no" active="no"/>
<layer number="50" name="dxf" color="7" fill="1" visible="no" active="no"/>
<layer number="51" name="tDocu" color="14" fill="1" visible="no" active="no"/>
<layer number="52" name="bDocu" color="14" fill="1" visible="no" active="no"/>
<layer number="53" name="tGND_GNDA" color="7" fill="9" visible="no" active="no"/>
<layer number="54" name="bGND_GNDA" color="1" fill="9" visible="no" active="no"/>
<layer number="56" name="wert" color="7" fill="1" visible="no" active="no"/>
<layer number="57" name="tCAD" color="7" fill="1" visible="no" active="no"/>
<layer number="59" name="tCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="60" name="bCarbon" color="7" fill="1" visible="no" active="no"/>
<layer number="88" name="SimResults" color="9" fill="1" visible="yes" active="yes"/>
<layer number="89" name="SimProbes" color="9" fill="1" visible="yes" active="yes"/>
<layer number="90" name="Modules" color="5" fill="1" visible="yes" active="yes"/>
<layer number="91" name="Nets" color="2" fill="1" visible="yes" active="yes"/>
<layer number="92" name="Busses" color="1" fill="1" visible="yes" active="yes"/>
<layer number="93" name="Pins" color="2" fill="1" visible="no" active="yes"/>
<layer number="94" name="Symbols" color="4" fill="1" visible="yes" active="yes"/>
<layer number="95" name="Names" color="7" fill="1" visible="yes" active="yes"/>
<layer number="96" name="Values" color="7" fill="1" visible="yes" active="yes"/>
<layer number="97" name="Info" color="7" fill="1" visible="yes" active="yes"/>
<layer number="98" name="Guide" color="6" fill="1" visible="yes" active="yes"/>
<layer number="99" name="SpiceOrder" color="7" fill="1" visible="yes" active="yes"/>
<layer number="100" name="Muster" color="7" fill="1" visible="no" active="no"/>
<layer number="101" name="Patch_Top" color="12" fill="4" visible="yes" active="yes"/>
<layer number="102" name="Vscore" color="7" fill="1" visible="yes" active="yes"/>
<layer number="103" name="tMap" color="7" fill="1" visible="yes" active="yes"/>
<layer number="104" name="Name" color="16" fill="1" visible="yes" active="yes"/>
<layer number="105" name="tPlate" color="7" fill="1" visible="yes" active="yes"/>
<layer number="106" name="bPlate" color="7" fill="1" visible="yes" active="yes"/>
<layer number="107" name="Crop" color="7" fill="1" visible="yes" active="yes"/>
<layer number="108" name="tplace-old" color="10" fill="1" visible="yes" active="yes"/>
<layer number="109" name="ref-old" color="11" fill="1" visible="yes" active="yes"/>
<layer number="110" name="fp0" color="7" fill="1" visible="yes" active="yes"/>
<layer number="111" name="LPC17xx" color="7" fill="1" visible="yes" active="yes"/>
<layer number="112" name="tSilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="113" name="IDFDebug" color="4" fill="1" visible="yes" active="yes"/>
<layer number="114" name="Badge_Outline" color="7" fill="1" visible="yes" active="yes"/>
<layer number="115" name="ReferenceISLANDS" color="7" fill="1" visible="yes" active="yes"/>
<layer number="116" name="Patch_BOT" color="9" fill="4" visible="yes" active="yes"/>
<layer number="117" name="BACKMAAT1" color="7" fill="1" visible="yes" active="yes"/>
<layer number="118" name="Rect_Pads" color="7" fill="1" visible="yes" active="yes"/>
<layer number="119" name="KAP_TEKEN" color="7" fill="1" visible="yes" active="yes"/>
<layer number="120" name="KAP_MAAT1" color="7" fill="1" visible="yes" active="yes"/>
<layer number="121" name="_tsilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="122" name="_bsilk" color="7" fill="1" visible="yes" active="yes"/>
<layer number="123" name="tTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="124" name="bTestmark" color="7" fill="1" visible="yes" active="yes"/>
<layer number="125" name="_tNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="126" name="_bNames" color="7" fill="1" visible="yes" active="yes"/>
<layer number="127" name="_tValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="128" name="_bValues" color="7" fill="1" visible="yes" active="yes"/>
<layer number="129" name="Mask" color="7" fill="1" visible="yes" active="yes"/>
<layer number="130" name="SMDSTROOK" color="7" fill="1" visible="yes" active="yes"/>
<layer number="131" name="tAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="132" name="bAdjust" color="7" fill="1" visible="yes" active="yes"/>
<layer number="144" name="Drill_legend" color="7" fill="1" visible="yes" active="yes"/>
<layer number="150" name="Notes" color="7" fill="1" visible="yes" active="yes"/>
<layer number="151" name="HeatSink" color="7" fill="1" visible="yes" active="yes"/>
<layer number="152" name="_bDocu" color="7" fill="1" visible="yes" active="yes"/>
<layer number="153" name="FabDoc1" color="7" fill="1" visible="yes" active="yes"/>
<layer number="154" name="FabDoc2" color="7" fill="1" visible="yes" active="yes"/>
<layer number="155" name="FabDoc3" color="7" fill="1" visible="yes" active="yes"/>
<layer number="199" name="Contour" color="7" fill="1" visible="yes" active="yes"/>
<layer number="200" name="200bmp" color="1" fill="10" visible="yes" active="yes"/>
<layer number="201" name="201bmp" color="2" fill="10" visible="yes" active="yes"/>
<layer number="202" name="202bmp" color="3" fill="10" visible="yes" active="yes"/>
<layer number="203" name="203bmp" color="4" fill="10" visible="yes" active="yes"/>
<layer number="204" name="204bmp" color="5" fill="10" visible="yes" active="yes"/>
<layer number="205" name="205bmp" color="6" fill="10" visible="yes" active="yes"/>
<layer number="206" name="206bmp" color="7" fill="10" visible="yes" active="yes"/>
<layer number="207" name="207bmp" color="8" fill="10" visible="yes" active="yes"/>
<layer number="208" name="208bmp" color="9" fill="10" visible="yes" active="yes"/>
<layer number="209" name="209bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="210" name="210bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="211" name="211bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="212" name="212bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="213" name="213bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="214" name="214bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="215" name="215bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="216" name="216bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="217" name="217bmp" color="18" fill="1" visible="no" active="no"/>
<layer number="218" name="218bmp" color="19" fill="1" visible="no" active="no"/>
<layer number="219" name="219bmp" color="20" fill="1" visible="no" active="no"/>
<layer number="220" name="220bmp" color="21" fill="1" visible="no" active="no"/>
<layer number="221" name="221bmp" color="22" fill="1" visible="no" active="no"/>
<layer number="222" name="222bmp" color="23" fill="1" visible="no" active="no"/>
<layer number="223" name="223bmp" color="24" fill="1" visible="no" active="no"/>
<layer number="224" name="224bmp" color="25" fill="1" visible="no" active="no"/>
<layer number="225" name="225bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="226" name="226bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="227" name="227bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="228" name="228bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="229" name="229bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="230" name="230bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="231" name="231bmp" color="7" fill="1" visible="yes" active="yes"/>
<layer number="232" name="Eagle3D_PG2" color="7" fill="1" visible="yes" active="yes"/>
<layer number="233" name="Eagle3D_PG3" color="7" fill="1" visible="yes" active="yes"/>
<layer number="248" name="Housing" color="7" fill="1" visible="yes" active="yes"/>
<layer number="249" name="Edge" color="7" fill="1" visible="yes" active="yes"/>
<layer number="250" name="Descript" color="3" fill="1" visible="no" active="no"/>
<layer number="251" name="SMDround" color="12" fill="11" visible="no" active="no"/>
<layer number="254" name="cooling" color="7" fill="1" visible="yes" active="yes"/>
<layer number="255" name="routoute" color="7" fill="1" visible="yes" active="yes"/>
</layers>
<schematic xreflabel="%F%N/%S.%C%R" xrefpart="/%S.%C%R">
<libraries>
<library name="BMX055">
<packages>
<package name="BMX055">
<description>BMX055 Small, versatile 9-axis sensor module (accelerometer, gyro, and magnetometer).</description>
<wire x1="-2.286" y1="-1.524" x2="-2.286" y2="1.476" width="0.127" layer="51"/>
<wire x1="-2.286" y1="1.476" x2="2.214" y2="1.476" width="0.127" layer="51"/>
<wire x1="2.214" y1="1.476" x2="2.214" y2="-1.524" width="0.127" layer="51"/>
<wire x1="2.214" y1="-1.524" x2="-2.286" y2="-1.524" width="0.127" layer="51"/>
<smd name="P$1" x="-1.536" y="1.226" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$18" x="-2.051" y="-0.524" dx="0.675" dy="0.25" layer="1"/>
<smd name="P$19" x="-2.051" y="-0.024" dx="0.675" dy="0.25" layer="1"/>
<smd name="P$20" x="-2.051" y="0.476" dx="0.675" dy="0.25" layer="1"/>
<smd name="P$8" x="1.989" y="0.476" dx="0.675" dy="0.25" layer="1"/>
<smd name="P$9" x="1.989" y="-0.024" dx="0.675" dy="0.25" layer="1"/>
<smd name="P$10" x="1.989" y="-0.524" dx="0.675" dy="0.25" layer="1"/>
<smd name="P$2" x="-1.036" y="1.226" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$3" x="-0.536" y="1.226" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$4" x="-0.036" y="1.226" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$5" x="0.464" y="1.226" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$6" x="0.964" y="1.226" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$7" x="1.464" y="1.226" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$17" x="-1.536" y="-1.274" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$16" x="-1.036" y="-1.274" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$15" x="-0.536" y="-1.274" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$14" x="-0.036" y="-1.274" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$13" x="0.464" y="-1.274" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$12" x="0.964" y="-1.274" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<smd name="P$11" x="1.464" y="-1.274" dx="0.675" dy="0.25" layer="1" rot="R90"/>
<rectangle x1="-2.286" y1="0.976" x2="-1.786" y2="1.476" layer="21"/>
<text x="-2.401" y="-2.311" size="0.6096" layer="25" font="vector" ratio="15">>NAME</text>
<text x="-0.254" y="1.701" size="0.6096" layer="27" font="vector" ratio="15">>VALUE</text>
<polygon width="0.127" layer="21">
<vertex x="-1.905" y="2.159"/>
<vertex x="-1.524" y="1.778"/>
<vertex x="-1.143" y="2.159"/>
</polygon>
</package>
</packages>
<symbols>
<symbol name="BMX055">
<description>BMX055 Small, versatile 9-axis sensor module</description>
<wire x1="-12.7" y1="35.56" x2="10.16" y2="35.56" width="0.254" layer="94"/>
<wire x1="10.16" y1="35.56" x2="10.16" y2="-35.56" width="0.254" layer="94"/>
<wire x1="10.16" y1="-35.56" x2="-12.7" y2="-35.56" width="0.254" layer="94"/>
<wire x1="-12.7" y1="-35.56" x2="-12.7" y2="35.56" width="0.254" layer="94"/>
<pin name="VDD" x="-17.78" y="30.48" length="middle" direction="pwr"/>
<pin name="VDDIO" x="-17.78" y="25.4" length="middle" direction="pwr"/>
<pin name="INT1" x="-17.78" y="15.24" length="middle" direction="out"/>
<pin name="INT2" x="-17.78" y="10.16" length="middle" direction="out"/>
<pin name="INT3" x="-17.78" y="5.08" length="middle"/>
<pin name="INT4" x="-17.78" y="0" length="middle"/>
<pin name="GNDA" x="-17.78" y="-15.24" length="middle" direction="pwr"/>
<pin name="GNDIO" x="-17.78" y="-20.32" length="middle" direction="pwr"/>
<pin name="NC@8" x="-17.78" y="-25.4" length="middle" direction="nc"/>
<pin name="NC@18" x="-17.78" y="-30.48" length="middle" direction="nc"/>
<pin name="DRDYM" x="15.24" y="30.48" length="middle" direction="out" rot="R180"/>
<pin name="CSB2" x="15.24" y="-25.4" length="middle" direction="pas" rot="R180"/>
<pin name="PS" x="15.24" y="20.32" length="middle" direction="in" rot="R180"/>
<pin name="SCX" x="15.24" y="10.16" length="middle" direction="in" rot="R180"/>
<pin name="SDX" x="15.24" y="5.08" length="middle" rot="R180"/>
<pin name="SDO2" x="15.24" y="-10.16" length="middle" rot="R180"/>
<pin name="CSB1" x="15.24" y="-20.32" length="middle" direction="pas" rot="R180"/>
<pin name="SDO1" x="15.24" y="-5.08" length="middle" rot="R180"/>
<pin name="CSB3" x="15.24" y="-30.48" length="middle" direction="pas" rot="R180"/>
<pin name="INT5" x="-17.78" y="-5.08" length="middle" direction="out"/>
<text x="-12.7" y="-38.1" size="1.778" layer="95">>NAME</text>
<text x="-12.7" y="36.068" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="BMX055" prefix="U">
<description>BMX055 Small, versatile 9-axis sensor module (accelerometer, gyro, and magnetometer).</description>
<gates>
<gate name="U$1" symbol="BMX055" x="0" y="0"/>
</gates>
<devices>
<device name="" package="BMX055">
<connects>
<connect gate="U$1" pin="CSB1" pad="P$16"/>
<connect gate="U$1" pin="CSB2" pad="P$5"/>
<connect gate="U$1" pin="CSB3" pad="P$20"/>
<connect gate="U$1" pin="DRDYM" pad="P$2"/>
<connect gate="U$1" pin="GNDA" pad="P$4"/>
<connect gate="U$1" pin="GNDIO" pad="P$6"/>
<connect gate="U$1" pin="INT1" pad="P$19"/>
<connect gate="U$1" pin="INT2" pad="P$1"/>
<connect gate="U$1" pin="INT3" pad="P$14"/>
<connect gate="U$1" pin="INT4" pad="P$15"/>
<connect gate="U$1" pin="INT5" pad="P$10"/>
<connect gate="U$1" pin="NC@18" pad="P$18"/>
<connect gate="U$1" pin="NC@8" pad="P$8"/>
<connect gate="U$1" pin="PS" pad="P$7"/>
<connect gate="U$1" pin="SCX" pad="P$9"/>
<connect gate="U$1" pin="SDO1" pad="P$17"/>
<connect gate="U$1" pin="SDO2" pad="P$12"/>
<connect gate="U$1" pin="SDX" pad="P$11"/>
<connect gate="U$1" pin="VDD" pad="P$3"/>
<connect gate="U$1" pin="VDDIO" pad="P$13"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="HDC1000">
<packages>
<package name="HDC1000">
<description>HDC1000 Low Power, High Accuracy Digital Humidity Sensor with Temperature Sensor.</description>
<smd name="D1" x="0.5" y="0.75" dx="0.275" dy="0.275" layer="1" roundness="100" rot="R180"/>
<smd name="C1" x="0.5" y="0.25" dx="0.275" dy="0.275" layer="1" roundness="100" rot="R180"/>
<smd name="B1" x="0.5" y="-0.25" dx="0.275" dy="0.275" layer="1" roundness="100" rot="R180"/>
<smd name="A1" x="0.5" y="-0.75" dx="0.275" dy="0.275" layer="1" roundness="100" rot="R180"/>
<smd name="A2" x="-0.5" y="-0.75" dx="0.275" dy="0.275" layer="1" roundness="100" rot="R180"/>
<smd name="B2" x="-0.5" y="-0.25" dx="0.275" dy="0.275" layer="1" roundness="100" rot="R180"/>
<smd name="C2" x="-0.5" y="0.25" dx="0.275" dy="0.275" layer="1" roundness="100" rot="R180"/>
<smd name="D2" x="-0.5" y="0.75" dx="0.275" dy="0.275" layer="1" roundness="100" rot="R180"/>
<text x="-0.85" y="-1.877" size="0.6096" layer="25" font="vector" ratio="15">>NAME</text>
<text x="-0.85" y="1.475" size="0.6096" layer="27" font="vector" ratio="15">>VALUE</text>
<wire x1="0.8" y1="1" x2="0.8" y2="-1" width="0.127" layer="51"/>
<wire x1="0.8" y1="-1" x2="-0.8" y2="-1" width="0.127" layer="51"/>
<wire x1="-0.8" y1="-1" x2="-0.8" y2="1" width="0.127" layer="51"/>
<wire x1="-0.8" y1="1" x2="0.8" y2="1" width="0.127" layer="51"/>
<wire x1="0.8" y1="-1" x2="-0.8" y2="-1" width="0.127" layer="21"/>
<wire x1="0.8" y1="1" x2="-0.8" y2="1" width="0.127" layer="21"/>
<wire x1="1.125" y1="-0.75" x2="1.375" y2="-0.5" width="0.127" layer="21"/>
<wire x1="1.375" y1="-0.5" x2="1.375" y2="-1" width="0.127" layer="21"/>
<wire x1="1.375" y1="-1" x2="1.125" y2="-0.75" width="0.127" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="HDC1000">
<description>HDC1000 Low Power, High Accuracy Digital Humidity Sensor with Temperature Sensor.</description>
<wire x1="-12.7" y1="20.32" x2="12.7" y2="20.32" width="0.254" layer="94"/>
<wire x1="12.7" y1="20.32" x2="12.7" y2="-20.32" width="0.254" layer="94"/>
<wire x1="12.7" y1="-20.32" x2="-12.7" y2="-20.32" width="0.254" layer="94"/>
<wire x1="-12.7" y1="-20.32" x2="-12.7" y2="20.32" width="0.254" layer="94"/>
<pin name="ADR0" x="17.78" y="15.24" length="middle" direction="in" rot="R180"/>
<pin name="ADR1" x="17.78" y="10.16" length="middle" direction="in" rot="R180"/>
<pin name="!DRDY" x="17.78" y="0" length="middle" direction="out" rot="R180"/>
<pin name="SDA" x="17.78" y="-10.16" length="middle" rot="R180"/>
<pin name="VDD" x="-17.78" y="15.24" length="middle" direction="pwr"/>
<pin name="DNC" x="-17.78" y="0" length="middle" direction="nc"/>
<pin name="SCL" x="17.78" y="-15.24" length="middle" direction="in" rot="R180"/>
<pin name="GND" x="-17.78" y="-15.24" length="middle" direction="pwr"/>
<text x="-12.7" y="-22.86" size="1.778" layer="95">>NAME</text>
<text x="-12.446" y="21.082" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="HDC1000" prefix="U">
<description>HDC1000 Low Power, High Accuracy Digital Humidity Sensor with Temperature Sensor.</description>
<gates>
<gate name="U$1" symbol="HDC1000" x="0" y="0"/>
</gates>
<devices>
<device name="" package="HDC1000">
<connects>
<connect gate="U$1" pin="!DRDY" pad="D2"/>
<connect gate="U$1" pin="ADR0" pad="C1"/>
<connect gate="U$1" pin="ADR1" pad="D1"/>
<connect gate="U$1" pin="DNC" pad="C2"/>
<connect gate="U$1" pin="GND" pad="B2"/>
<connect gate="U$1" pin="SCL" pad="A1"/>
<connect gate="U$1" pin="SDA" pad="A2"/>
<connect gate="U$1" pin="VDD" pad="B1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="L3GD20H">
<packages>
<package name="L3GD20H">
<description>L3GD20H MEMS motion sensor: three-axis digital output gyroscope.</description>
<wire x1="-1.5" y1="1.5" x2="1.5" y2="1.5" width="0.127" layer="51"/>
<wire x1="1.5" y1="1.5" x2="1.5" y2="-1.5" width="0.127" layer="51"/>
<wire x1="1.5" y1="-1.5" x2="-1.5" y2="-1.5" width="0.127" layer="51"/>
<wire x1="-1.5" y1="-1.5" x2="-1.5" y2="1.5" width="0.127" layer="51"/>
<smd name="3" x="0" y="1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="2" x="0.5" y="1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="1" x="1" y="1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="4" x="-0.5" y="1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="5" x="-1" y="1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="13" x="1" y="-1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="12" x="0.5" y="-1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="11" x="0" y="-1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="10" x="-0.5" y="-1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="9" x="-1" y="-1.225" dx="0.45" dy="0.35" layer="1" rot="R270"/>
<smd name="7" x="-1.225" y="0" dx="0.45" dy="0.35" layer="1"/>
<smd name="6" x="-1.225" y="0.5" dx="0.45" dy="0.35" layer="1"/>
<smd name="8" x="-1.225" y="-0.5" dx="0.45" dy="0.35" layer="1"/>
<smd name="16" x="1.225" y="0.5" dx="0.45" dy="0.35" layer="1"/>
<smd name="15" x="1.225" y="0" dx="0.45" dy="0.35" layer="1"/>
<smd name="14" x="1.225" y="-0.5" dx="0.45" dy="0.35" layer="1"/>
<text x="-1.524" y="-2.43" size="0.6096" layer="25" font="vector" ratio="15">>NAME</text>
<text x="-1.574" y="2.324" size="0.6096" layer="27" font="vector" ratio="15">>VALUE</text>
<rectangle x1="1.25" y1="1.2" x2="1.5" y2="1.45" layer="21" rot="R270"/>
<wire x1="0.8" y1="2.1" x2="1" y2="1.8" width="0.127" layer="21"/>
<wire x1="1" y1="1.8" x2="1.2" y2="2.1" width="0.127" layer="21"/>
<wire x1="1.2" y1="2.1" x2="0.8" y2="2.1" width="0.127" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="L3GD20H">
<description>L3GD20H MEMS motion sensor: three-axis digital output gyroscope.</description>
<wire x1="-27.94" y1="27.94" x2="27.94" y2="27.94" width="0.254" layer="94"/>
<wire x1="27.94" y1="27.94" x2="27.94" y2="-27.94" width="0.254" layer="94"/>
<wire x1="27.94" y1="-27.94" x2="-27.94" y2="-27.94" width="0.254" layer="94"/>
<wire x1="-27.94" y1="-27.94" x2="-27.94" y2="27.94" width="0.254" layer="94"/>
<pin name="VDD" x="-33.02" y="22.86" length="middle" direction="pwr"/>
<pin name="VDD_IO" x="-33.02" y="17.78" length="middle" direction="pwr"/>
<pin name="GND@13" x="-33.02" y="-22.86" length="middle" direction="pwr"/>
<pin name="GND@12" x="-33.02" y="-17.78" length="middle" direction="pwr"/>
<pin name="RESERVED@15" x="-33.02" y="-7.62" length="middle" direction="nc"/>
<pin name="RESERVED@11" x="-33.02" y="-2.54" length="middle" direction="nc"/>
<pin name="RESERVED@10" x="-33.02" y="2.54" length="middle" direction="nc"/>
<pin name="RESERVED@9" x="-33.02" y="7.62" length="middle" direction="nc"/>
<pin name="I2C_SCL/SPI_SPC" x="33.02" y="22.86" length="middle" direction="in" rot="R180"/>
<pin name="I2C_SDA/SPI_SDI/SPI3_SDO" x="33.02" y="17.78" length="middle" rot="R180"/>
<pin name="I2C_SA0/SPI_SDO" x="33.02" y="12.7" length="middle" rot="R180"/>
<pin name="I2C_VS_SPI_MODE_SELECT" x="33.02" y="7.62" length="middle" direction="in" rot="R180"/>
<pin name="DRDY/INT2" x="33.02" y="-2.54" length="middle" rot="R180"/>
<pin name="INT1" x="33.02" y="-7.62" length="middle" rot="R180"/>
<pin name="DEN" x="33.02" y="-12.7" length="middle" rot="R180"/>
<pin name="CAP" x="33.02" y="-22.86" length="middle" rot="R180"/>
<text x="-27.94" y="-30.48" size="1.778" layer="95">>NAME</text>
<text x="-27.432" y="28.702" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="L3GD20H" prefix="U">
<description>L3GD20H MEMS motion sensor: three-axis digital output gyroscope.</description>
<gates>
<gate name="U$1" symbol="L3GD20H" x="-12.7" y="0"/>
</gates>
<devices>
<device name="" package="L3GD20H">
<connects>
<connect gate="U$1" pin="CAP" pad="14"/>
<connect gate="U$1" pin="DEN" pad="8"/>
<connect gate="U$1" pin="DRDY/INT2" pad="6"/>
<connect gate="U$1" pin="GND@12" pad="12"/>
<connect gate="U$1" pin="GND@13" pad="13"/>
<connect gate="U$1" pin="I2C_SA0/SPI_SDO" pad="4"/>
<connect gate="U$1" pin="I2C_SCL/SPI_SPC" pad="2"/>
<connect gate="U$1" pin="I2C_SDA/SPI_SDI/SPI3_SDO" pad="3"/>
<connect gate="U$1" pin="I2C_VS_SPI_MODE_SELECT" pad="5"/>
<connect gate="U$1" pin="INT1" pad="7"/>
<connect gate="U$1" pin="RESERVED@10" pad="10"/>
<connect gate="U$1" pin="RESERVED@11" pad="11"/>
<connect gate="U$1" pin="RESERVED@15" pad="15"/>
<connect gate="U$1" pin="RESERVED@9" pad="9"/>
<connect gate="U$1" pin="VDD" pad="16"/>
<connect gate="U$1" pin="VDD_IO" pad="1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="LPS25H">
<packages>
<package name="LPS25H">
<description>LPS25H MEMS pressure sensor: 260-1260 hPa absolute digital output barometer. HCLGA-10L (2.5 x 2.5 x 1.0 mm) package.</description>
<smd name="2" x="-0.92" y="-0.3" dx="0.4" dy="0.55" layer="1" rot="R270"/>
<smd name="1" x="-0.92" y="0.3" dx="0.4" dy="0.55" layer="1" rot="R270"/>
<smd name="3" x="-0.6" y="-0.92" dx="0.4" dy="0.55" layer="1"/>
<smd name="4" x="0" y="-0.92" dx="0.4" dy="0.55" layer="1"/>
<smd name="5" x="0.6" y="-0.92" dx="0.4" dy="0.55" layer="1"/>
<smd name="10" x="-0.6" y="0.92" dx="0.4" dy="0.55" layer="1"/>
<smd name="9" x="0" y="0.92" dx="0.4" dy="0.55" layer="1"/>
<smd name="8" x="0.6" y="0.92" dx="0.4" dy="0.55" layer="1"/>
<smd name="6" x="0.92" y="-0.3" dx="0.4" dy="0.55" layer="1" rot="R270"/>
<smd name="7" x="0.92" y="0.3" dx="0.4" dy="0.55" layer="1" rot="R270"/>
<wire x1="-1.25" y1="-1.25" x2="-1.25" y2="1.25" width="0.127" layer="51"/>
<wire x1="-1.25" y1="1.25" x2="1.25" y2="1.25" width="0.127" layer="51"/>
<wire x1="1.25" y1="1.25" x2="1.25" y2="-1.25" width="0.127" layer="51"/>
<wire x1="1.25" y1="-1.25" x2="-1.25" y2="-1.25" width="0.127" layer="51"/>
<text x="-1.3" y="-2" size="0.6096" layer="25" font="vector" ratio="15">>NAME</text>
<text x="-1.3" y="1.4" size="0.6096" layer="27" font="vector" ratio="15">>VALUE</text>
<polygon width="0.127" layer="21">
<vertex x="-1.878" y="-0.1"/>
<vertex x="-1.497" y="0.281"/>
<vertex x="-1.878" y="0.662"/>
</polygon>
</package>
</packages>
<symbols>
<symbol name="LPS25H">
<description>MEMS pressure sensor: 260-1260 hPa absolute digital output barometer. HCLGA-10L (2.5 x 2.5 x 1.0 mm)</description>
<wire x1="27.94" y1="12.7" x2="-27.94" y2="12.7" width="0.254" layer="94"/>
<wire x1="-27.94" y1="12.7" x2="-27.94" y2="-12.7" width="0.254" layer="94"/>
<wire x1="-27.94" y1="-12.7" x2="27.94" y2="-12.7" width="0.254" layer="94"/>
<wire x1="27.94" y1="-12.7" x2="27.94" y2="12.7" width="0.254" layer="94"/>
<pin name="VDD" x="-30.48" y="10.16" length="short" direction="pwr"/>
<pin name="VDD_IO" x="-30.48" y="5.08" length="short" direction="pwr"/>
<pin name="GND@3" x="-30.48" y="0" length="short" direction="pwr"/>
<pin name="GND@8" x="-30.48" y="-5.08" length="short" direction="pwr"/>
<pin name="GND@9" x="-30.48" y="-10.16" length="short" direction="pwr"/>
<pin name="I2C_SCL/SPI_SPC" x="30.48" y="10.16" length="short" direction="in" rot="R180"/>
<pin name="I2C_SDA/SPI4_SDI/SPI3_SDIO" x="30.48" y="5.08" length="short" rot="R180"/>
<pin name="I2C_SA0/SPI4_SDO" x="30.48" y="0" length="short" rot="R180"/>
<pin name="I2C_VS_SPI_MODE_SELECT/SPI_EN" x="30.48" y="-5.08" length="short" direction="in" rot="R180"/>
<pin name="INT1" x="30.48" y="-10.16" length="short" direction="out" rot="R180"/>
<text x="-27.94" y="-15.24" size="1.778" layer="95">>NAME</text>
<text x="-27.686" y="13.208" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="LPS25H" prefix="U">
<description>LPS25H MEMS pressure sensor: 260-1260 hPa absolute digital output barometer</description>
<gates>
<gate name="U$1" symbol="LPS25H" x="-2.54" y="81.28"/>
</gates>
<devices>
<device name="" package="LPS25H">
<connects>
<connect gate="U$1" pin="GND@3" pad="3"/>
<connect gate="U$1" pin="GND@8" pad="8"/>
<connect gate="U$1" pin="GND@9" pad="9"/>
<connect gate="U$1" pin="I2C_SA0/SPI4_SDO" pad="5"/>
<connect gate="U$1" pin="I2C_SCL/SPI_SPC" pad="2"/>
<connect gate="U$1" pin="I2C_SDA/SPI4_SDI/SPI3_SDIO" pad="4"/>
<connect gate="U$1" pin="I2C_VS_SPI_MODE_SELECT/SPI_EN" pad="6"/>
<connect gate="U$1" pin="INT1" pad="7"/>
<connect gate="U$1" pin="VDD" pad="10"/>
<connect gate="U$1" pin="VDD_IO" pad="1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="MMA8451Q">
<packages>
<package name="MMA8451Q">
<description>MMA8451Q 3-Axis, 14-bit/8-bit Digital Accelerometer.</description>
<wire x1="-1.524" y1="1.524" x2="1.476" y2="1.524" width="0.127" layer="51"/>
<wire x1="1.476" y1="1.524" x2="1.476" y2="-1.476" width="0.127" layer="51"/>
<wire x1="1.476" y1="-1.476" x2="-1.524" y2="-1.476" width="0.127" layer="51"/>
<wire x1="-1.524" y1="-1.476" x2="-1.524" y2="1.524" width="0.127" layer="51"/>
<text x="-1.524" y="2.4" size="0.6096" layer="27" font="vector" ratio="15">>VALUE</text>
<text x="-1.524" y="-2.513" size="0.6096" layer="25" font="vector" ratio="15">>NAME</text>
<smd name="7" x="-1.275" y="0" dx="0.813" dy="0.305" layer="1"/>
<smd name="6" x="-1.275" y="0.5" dx="0.813" dy="0.305" layer="1"/>
<smd name="8" x="-1.275" y="-0.5" dx="0.813" dy="0.305" layer="1"/>
<smd name="16" x="1.275" y="0.5" dx="0.813" dy="0.305" layer="1"/>
<smd name="15" x="1.275" y="0" dx="0.813" dy="0.305" layer="1"/>
<smd name="14" x="1.275" y="-0.5" dx="0.813" dy="0.305" layer="1"/>
<smd name="3" x="0" y="1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="2" x="0.5" y="1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="1" x="1" y="1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="4" x="-0.5" y="1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="5" x="-1" y="1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="9" x="-1" y="-1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="10" x="-0.5" y="-1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="11" x="0" y="-1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="12" x="0.5" y="-1.275" dx="0.813" dy="0.305" layer="1" rot="R90"/>
<smd name="13" x="1" y="-1.275" dx="0.81" dy="0.305" layer="1" rot="R90"/>
<polygon width="0.127" layer="21">
<vertex x="1.35" y="2.127"/>
<vertex x="1.05" y="1.827"/>
<vertex x="0.75" y="2.127"/>
</polygon>
</package>
</packages>
<symbols>
<symbol name="MMA8451Q">
<description>Xtrinsic MMA8451Q 3-Axis, 14-bit/8-bit Digital Accelerometer</description>
<wire x1="-12.7" y1="30.48" x2="12.7" y2="30.48" width="0.254" layer="94"/>
<wire x1="12.7" y1="30.48" x2="12.7" y2="-35.56" width="0.254" layer="94"/>
<wire x1="12.7" y1="-35.56" x2="-12.7" y2="-35.56" width="0.254" layer="94"/>
<wire x1="-12.7" y1="-35.56" x2="-12.7" y2="30.48" width="0.254" layer="94"/>
<pin name="VDD" x="-17.78" y="25.4" length="middle" direction="pwr"/>
<pin name="VDDIO" x="-17.78" y="20.32" length="middle" direction="pwr"/>
<pin name="NC@3" x="-17.78" y="10.16" length="middle" direction="nc"/>
<pin name="NC@8" x="-17.78" y="5.08" length="middle" direction="nc"/>
<pin name="NC@13" x="-17.78" y="0" length="middle" direction="nc"/>
<pin name="NC@15" x="-17.78" y="-5.08" length="middle" direction="nc"/>
<pin name="NC@16" x="-17.78" y="-10.16" length="middle" direction="nc"/>
<pin name="GND@5" x="-17.78" y="-20.32" length="middle" direction="pwr"/>
<pin name="BYP" x="17.78" y="25.4" length="middle" rot="R180"/>
<pin name="GND@10" x="-17.78" y="-25.4" length="middle" direction="pwr"/>
<pin name="GND@12" x="-17.78" y="-30.48" length="middle" direction="pwr"/>
<pin name="SCL" x="17.78" y="-20.32" length="middle" direction="in" rot="R180"/>
<pin name="SDA" x="17.78" y="-25.4" length="middle" rot="R180"/>
<pin name="SA0" x="17.78" y="-30.48" length="middle" rot="R180"/>
<pin name="INT1" x="17.78" y="2.54" length="middle" rot="R180"/>
<pin name="INT2" x="17.78" y="-2.54" length="middle" rot="R180"/>
<text x="-12.7" y="-38.1" size="1.778" layer="95">>NAME</text>
<text x="-12.446" y="31.242" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="MMA8451Q" prefix="U">
<description>MMA8451Q 3-Axis, 14-bit/8-bit Digital Accelerometer.</description>
<gates>
<gate name="U$1" symbol="MMA8451Q" x="0" y="0"/>
</gates>
<devices>
<device name="" package="MMA8451Q">
<connects>
<connect gate="U$1" pin="BYP" pad="2"/>
<connect gate="U$1" pin="GND@10" pad="10"/>
<connect gate="U$1" pin="GND@12" pad="12"/>
<connect gate="U$1" pin="GND@5" pad="5"/>
<connect gate="U$1" pin="INT1" pad="11"/>
<connect gate="U$1" pin="INT2" pad="9"/>
<connect gate="U$1" pin="NC@13" pad="13"/>
<connect gate="U$1" pin="NC@15" pad="15"/>
<connect gate="U$1" pin="NC@16" pad="16"/>
<connect gate="U$1" pin="NC@3" pad="3"/>
<connect gate="U$1" pin="NC@8" pad="8"/>
<connect gate="U$1" pin="SA0" pad="7"/>
<connect gate="U$1" pin="SCL" pad="4"/>
<connect gate="U$1" pin="SDA" pad="6"/>
<connect gate="U$1" pin="VDD" pad="14"/>
<connect gate="U$1" pin="VDDIO" pad="1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SI7021">
<packages>
<package name="SI7021">
<description>I2C HUMIDITY AND TEMPERATURE SENSOR.</description>
<smd name="3" x="-1" y="1.45" dx="0.45" dy="0.85" layer="1" roundness="100"/>
<smd name="2" x="0" y="1.45" dx="0.45" dy="0.85" layer="1" roundness="100"/>
<smd name="1" x="1" y="1.45" dx="0.45" dy="0.85" layer="1"/>
<smd name="4" x="-1" y="-1.45" dx="0.45" dy="0.85" layer="1" roundness="100"/>
<smd name="5" x="0" y="-1.45" dx="0.45" dy="0.85" layer="1" roundness="100"/>
<smd name="6" x="1" y="-1.45" dx="0.45" dy="0.85" layer="1" roundness="100"/>
<smd name="7" x="0" y="0" dx="1.6" dy="2.5" layer="1" rot="R270"/>
<wire x1="-1.5" y1="1.5" x2="1.5" y2="1.5" width="0.127" layer="51"/>
<wire x1="1.5" y1="1.5" x2="1.5" y2="-1.5" width="0.127" layer="51"/>
<wire x1="1.5" y1="-1.5" x2="-1.5" y2="-1.5" width="0.127" layer="51"/>
<wire x1="-1.5" y1="-1.5" x2="-1.5" y2="1.5" width="0.127" layer="51"/>
<text x="-1.627" y="-2.774" size="0.6096" layer="25" font="vector" ratio="15">>NAME</text>
<text x="-1.627" y="2.608" size="0.6096" layer="27" font="vector" ratio="15">>VALUE</text>
<wire x1="1.5" y1="1.5" x2="1.5" y2="-1.5" width="0.127" layer="21"/>
<wire x1="-1.5" y1="1.5" x2="-1.5" y2="-1.5" width="0.127" layer="21"/>
<wire x1="0.8" y1="2.4" x2="1" y2="2.1" width="0.127" layer="21"/>
<wire x1="1" y1="2.1" x2="1.2" y2="2.4" width="0.127" layer="21"/>
<wire x1="1.2" y1="2.4" x2="0.8" y2="2.4" width="0.127" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="SI7021">
<description>Si7021 I2C HUMIDITY AND TEMPERATURE SENSOR.</description>
<wire x1="-10.16" y1="17.78" x2="10.16" y2="17.78" width="0.254" layer="94"/>
<wire x1="10.16" y1="17.78" x2="10.16" y2="-17.78" width="0.254" layer="94"/>
<wire x1="10.16" y1="-17.78" x2="-10.16" y2="-17.78" width="0.254" layer="94"/>
<wire x1="-10.16" y1="-17.78" x2="-10.16" y2="17.78" width="0.254" layer="94"/>
<pin name="VDD" x="-15.24" y="12.7" length="middle" direction="pwr"/>
<pin name="DNC@3" x="-15.24" y="2.54" length="middle" direction="nc"/>
<pin name="DNC@4" x="-15.24" y="-2.54" length="middle" direction="nc"/>
<pin name="SDA" x="15.24" y="12.7" length="middle" rot="R180"/>
<pin name="SCL" x="15.24" y="7.62" length="middle" direction="in" rot="R180"/>
<pin name="GND" x="-15.24" y="-12.7" length="middle" direction="pwr"/>
<text x="-10.16" y="-20.32" size="1.778" layer="95">>NAME</text>
<text x="-9.906" y="18.288" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="SI7021" prefix="U">
<description>I2C HUMIDITY AND TEMPERATURE SENSOR.</description>
<gates>
<gate name="U$1" symbol="SI7021" x="0" y="0"/>
</gates>
<devices>
<device name="" package="SI7021">
<connects>
<connect gate="U$1" pin="DNC@3" pad="3"/>
<connect gate="U$1" pin="DNC@4" pad="4"/>
<connect gate="U$1" pin="GND" pad="2"/>
<connect gate="U$1" pin="SCL" pad="6"/>
<connect gate="U$1" pin="SDA" pad="1"/>
<connect gate="U$1" pin="VDD" pad="5"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="TCS3772">
<packages>
<package name="TCS3772">
<description>TCS3772 COLOR LIGHT-TO-DIGITAL CONVERTER with PROXIMITY SENSING.</description>
<smd name="3" x="-0.65" y="0.75" dx="1.2" dy="0.35" layer="1" roundness="100" rot="R270"/>
<smd name="2" x="0" y="0.75" dx="1.2" dy="0.35" layer="1" roundness="100" rot="R270"/>
<smd name="1" x="0.65" y="0.75" dx="1.2" dy="0.35" layer="1" rot="R270"/>
<smd name="4" x="-0.65" y="-0.75" dx="1.2" dy="0.35" layer="1" roundness="100" rot="R270"/>
<smd name="5" x="0" y="-0.75" dx="1.2" dy="0.35" layer="1" roundness="100" rot="R270"/>
<smd name="6" x="0.65" y="-0.75" dx="1.2" dy="0.35" layer="1" roundness="100" rot="R270"/>
<text x="-1.227" y="-2.258" size="0.6096" layer="25" font="vector" ratio="15">>NAME</text>
<text x="-1.304" y="2.239" size="0.6096" layer="27" font="vector" ratio="15">>VALUE</text>
<wire x1="-1.2" y1="1" x2="1.2" y2="1" width="0.127" layer="51"/>
<wire x1="1.2" y1="1" x2="1.2" y2="-1" width="0.127" layer="51"/>
<wire x1="1.2" y1="-1" x2="-1.2" y2="-1" width="0.127" layer="51"/>
<wire x1="-1.2" y1="-1" x2="-1.2" y2="1" width="0.127" layer="51"/>
<wire x1="1.2" y1="1" x2="1.2" y2="-1" width="0.127" layer="21"/>
<wire x1="-1.2" y1="1" x2="-1.2" y2="-1" width="0.127" layer="21"/>
<wire x1="0.889" y1="1.905" x2="0.635" y2="1.651" width="0.127" layer="21"/>
<wire x1="0.635" y1="1.651" x2="0.381" y2="1.905" width="0.127" layer="21"/>
<wire x1="0.889" y1="1.905" x2="0.381" y2="1.905" width="0.127" layer="21"/>
</package>
</packages>
<symbols>
<symbol name="TCS3772">
<description>TCS3772 COLOR LIGHT-TO-DIGITAL CONVERTER with PROXIMITY SENSING.</description>
<wire x1="10.16" y1="15.24" x2="-12.7" y2="15.24" width="0.254" layer="94"/>
<wire x1="-12.7" y1="15.24" x2="-12.7" y2="-15.24" width="0.254" layer="94"/>
<wire x1="-12.7" y1="-15.24" x2="10.16" y2="-15.24" width="0.254" layer="94"/>
<wire x1="10.16" y1="-15.24" x2="10.16" y2="15.24" width="0.254" layer="94"/>
<pin name="VDD" x="-17.78" y="10.16" length="middle" direction="pwr"/>
<pin name="SCL" x="15.24" y="-10.16" length="middle" direction="in" rot="R180"/>
<pin name="GND" x="-17.78" y="-10.16" length="middle" direction="pwr"/>
<pin name="INT" x="15.24" y="10.16" length="middle" direction="out" rot="R180"/>
<pin name="LDR" x="-17.78" y="0" length="middle" direction="out"/>
<pin name="SDA" x="15.24" y="-5.08" length="middle" rot="R180"/>
<text x="-12.7" y="-17.78" size="1.778" layer="95">>NAME</text>
<text x="-12.446" y="15.748" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="TCS3772" prefix="U">
<description>TCS3772 COLOR LIGHT-TO-DIGITAL CONVERTER with PROXIMITY SENSING.</description>
<gates>
<gate name="U$1" symbol="TCS3772" x="0" y="0"/>
</gates>
<devices>
<device name="" package="TCS3772">
<connects>
<connect gate="U$1" pin="GND" pad="3"/>
<connect gate="U$1" pin="INT" pad="5"/>
<connect gate="U$1" pin="LDR" pad="4"/>
<connect gate="U$1" pin="SCL" pad="2"/>
<connect gate="U$1" pin="SDA" pad="6"/>
<connect gate="U$1" pin="VDD" pad="1"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="ADXL362">
<packages>
<package name="ADXL362">
<description>ADXL362, Micropower, 3-Axis, ±2 g/±4 g/±8 g Digital Output MEMS Accelerometer.</description>
<smd name="P$5" x="1" y="-1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$4" x="0.5" y="-1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$3" x="0" y="-1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$2" x="-0.5" y="-1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$1" x="-1" y="-1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<wire x1="1.55" y1="-1.65" x2="-1.55" y2="-1.65" width="0.127" layer="51"/>
<wire x1="-1.55" y1="-1.65" x2="-1.55" y2="1.65" width="0.127" layer="51"/>
<wire x1="-1.55" y1="1.65" x2="1.55" y2="1.65" width="0.127" layer="51"/>
<wire x1="1.55" y1="1.65" x2="1.55" y2="-1.65" width="0.127" layer="51"/>
<smd name="P$9" x="1" y="1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$10" x="0.5" y="1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$11" x="0" y="1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$12" x="-0.5" y="1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$13" x="-1" y="1.2875" dx="0.3" dy="0.925" layer="1" rot="R180"/>
<smd name="P$7" x="1.275" y="0" dx="0.3" dy="0.8" layer="1" rot="R90"/>
<smd name="P$6" x="1.275" y="-0.5" dx="0.3" dy="0.8" layer="1" rot="R90"/>
<smd name="P$8" x="1.275" y="0.5" dx="0.3" dy="0.8" layer="1" rot="R90"/>
<smd name="P$16" x="-1.275" y="-0.5" dx="0.3" dy="0.8" layer="1" rot="R90"/>
<smd name="P$15" x="-1.275" y="0" dx="0.3" dy="0.8" layer="1" rot="R90"/>
<smd name="P$14" x="-1.275" y="0.5" dx="0.3" dy="0.8" layer="1" rot="R90"/>
<text x="-1.572" y="-3.214" size="0.6096" layer="25" font="vector" ratio="15">>NAME</text>
<text x="-1.551" y="2.163" size="0.6096" layer="27" font="vector" ratio="15">>VALUE</text>
<polygon width="0.127" layer="21">
<vertex x="-1.397" y="-2.344"/>
<vertex x="-1.016" y="-1.963"/>
<vertex x="-0.635" y="-2.344"/>
</polygon>
</package>
</packages>
<symbols>
<symbol name="ADXL362">
<description>Micropower, 3-Axis, ±2 g/±4 g/±8 g Digital Output MEMS Accelerometer</description>
<wire x1="-17.78" y1="33.02" x2="12.7" y2="33.02" width="0.254" layer="94"/>
<wire x1="12.7" y1="33.02" x2="12.7" y2="-33.02" width="0.254" layer="94"/>
<wire x1="12.7" y1="-33.02" x2="-17.78" y2="-33.02" width="0.254" layer="94"/>
<wire x1="-17.78" y1="-33.02" x2="-17.78" y2="33.02" width="0.254" layer="94"/>
<pin name="VS" x="-22.86" y="27.94" length="middle" direction="pwr"/>
<pin name="VDDIO" x="-22.86" y="22.86" length="middle" direction="pwr"/>
<pin name="GND@12" x="-22.86" y="12.7" length="middle" direction="pwr"/>
<pin name="GND@13" x="-22.86" y="7.62" length="middle" direction="pwr"/>
<pin name="NC@2" x="-22.86" y="-7.62" length="middle" direction="nc"/>
<pin name="NC@15" x="-22.86" y="-12.7" length="middle" direction="nc"/>
<pin name="RESERVED@5" x="-22.86" y="-22.86" length="middle" direction="nc"/>
<pin name="RESERVED@3" x="-22.86" y="-17.78" length="middle" direction="nc"/>
<pin name="GND@16" x="-22.86" y="2.54" length="middle" direction="pwr"/>
<pin name="INT1" x="17.78" y="27.94" length="middle" rot="R180"/>
<pin name="INT2" x="17.78" y="22.86" length="middle" rot="R180"/>
<pin name="RESERVED@10" x="-22.86" y="-27.94" length="middle" direction="nc"/>
<pin name="!CS" x="17.78" y="-10.16" length="middle" direction="in" rot="R180"/>
<pin name="MISO" x="17.78" y="-17.78" length="middle" direction="out" rot="R180"/>
<pin name="MOSI" x="17.78" y="-22.86" length="middle" direction="in" rot="R180"/>
<pin name="SCLK" x="17.78" y="-27.94" length="middle" direction="in" rot="R180"/>
<text x="-17.78" y="-35.56" size="1.778" layer="95">>NAME</text>
<text x="-18.034" y="33.528" size="1.778" layer="96">>VALUE</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="ADXL362" prefix="U">
<description>ADXL362, Micropower, 3-Axis, ±2 g/±4 g/±8 g Digital Output MEMS Accelerometer.</description>
<gates>
<gate name="U$1" symbol="ADXL362" x="0" y="0"/>
</gates>
<devices>
<device name="" package="ADXL362">
<connects>
<connect gate="U$1" pin="!CS" pad="P$8"/>
<connect gate="U$1" pin="GND@12" pad="P$12"/>
<connect gate="U$1" pin="GND@13" pad="P$13"/>
<connect gate="U$1" pin="GND@16" pad="P$16"/>
<connect gate="U$1" pin="INT1" pad="P$11"/>
<connect gate="U$1" pin="INT2" pad="P$9"/>
<connect gate="U$1" pin="MISO" pad="P$7"/>
<connect gate="U$1" pin="MOSI" pad="P$6"/>
<connect gate="U$1" pin="NC@15" pad="P$15"/>
<connect gate="U$1" pin="NC@2" pad="P$2"/>
<connect gate="U$1" pin="RESERVED@10" pad="P$10"/>
<connect gate="U$1" pin="RESERVED@3" pad="P$3"/>
<connect gate="U$1" pin="RESERVED@5" pad="P$5"/>
<connect gate="U$1" pin="SCLK" pad="P$4"/>
<connect gate="U$1" pin="VDDIO" pad="P$1"/>
<connect gate="U$1" pin="VS" pad="P$14"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="CM519">
<packages>
<package name="CM519">
<wire x1="-3.1" y1="1.5" x2="-3.1" y2="-1.5" width="0.127" layer="51"/>
<wire x1="-3.1" y1="-1.5" x2="3.1" y2="-1.5" width="0.127" layer="51"/>
<wire x1="3.1" y1="-1.5" x2="3.1" y2="1.5" width="0.127" layer="51"/>
<wire x1="3.1" y1="1.5" x2="-3.1" y2="1.5" width="0.127" layer="51"/>
<smd name="P$1" x="-2.1" y="0" dx="1.3" dy="2.2" layer="1"/>
<smd name="P$2" x="2.1" y="0" dx="1.3" dy="2.2" layer="1"/>
<text x="-3.37" y="-1.27" size="0.6096" layer="21" font="vector" ratio="15" rot="R90">>NAME</text>
</package>
</packages>
<symbols>
<symbol name="CM519">
<wire x1="-2.54" y1="5.08" x2="-2.54" y2="-5.08" width="0.254" layer="94"/>
<wire x1="-2.54" y1="-5.08" x2="2.54" y2="-5.08" width="0.254" layer="94"/>
<wire x1="2.54" y1="-5.08" x2="2.54" y2="5.08" width="0.254" layer="94"/>
<wire x1="2.54" y1="5.08" x2="-2.54" y2="5.08" width="0.254" layer="94"/>
<wire x1="-5.08" y1="5.08" x2="-5.08" y2="-5.08" width="0.254" layer="94"/>
<wire x1="5.08" y1="5.08" x2="5.08" y2="-5.08" width="0.254" layer="94"/>
<text x="-2.286" y="5.842" size="1.778" layer="95">>NAME</text>
<text x="-2.54" y="-7.62" size="1.778" layer="96">>VALUE</text>
<pin name="2" x="10.16" y="0" length="middle" direction="pas" rot="R180"/>
<pin name="1" x="-10.16" y="0" length="middle" direction="pas"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="CM519">
<description>Crystals 32.768 KHz 12.5pF Tuning Fork</description>
<gates>
<gate name="G$1" symbol="CM519" x="0" y="0"/>
</gates>
<devices>
<device name="-SMD" package="CM519">
<connects>
<connect gate="G$1" pin="1" pad="P$1"/>
<connect gate="G$1" pin="2" pad="P$2"/>
</connects>
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="SparkFun-Passives">
<description><h3>SparkFun Electronics' preferred foot prints</h3>
In this library you'll find resistors, capacitors, inductors, test points, jumper pads, etc.<br><br>
We've spent an enormous amount of time creating and checking these footprints and parts, but it is the end user's responsibility to ensure correctness and suitablity for a given componet or application. If you enjoy using this library, please buy one of our products at www.sparkfun.com.
<br><br>
<b>Licensing:</b> Creative Commons ShareAlike 4.0 International - https://creativecommons.org/licenses/by-sa/4.0/
<br><br>
You are welcome to use this library for commercial purposes. For attribution, we ask that when you begin to sell your device using our footprint, you email us with a link to the product being sold. We want bragging rights that we helped (in a very small part) to create your 8th world wonder. We would like the opportunity to feature your device on our homepage.</description>
<packages>
<package name="1206">
<wire x1="-2.473" y1="0.983" x2="2.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="2.473" y1="-0.983" x2="-2.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-2.473" y1="-0.983" x2="-2.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="2.473" y1="0.983" x2="2.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-0.965" y1="0.787" x2="0.965" y2="0.787" width="0.1016" layer="51"/>
<wire x1="-0.965" y1="-0.787" x2="0.965" y2="-0.787" width="0.1016" layer="51"/>
<smd name="1" x="-1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<smd name="2" x="1.4" y="0" dx="1.6" dy="1.8" layer="1"/>
<text x="-1.27" y="1.143" size="0.4064" layer="25">>NAME</text>
<text x="-1.397" y="-1.524" size="0.4064" layer="27">>VALUE</text>
<rectangle x1="-1.7018" y1="-0.8509" x2="-0.9517" y2="0.8491" layer="51"/>
<rectangle x1="0.9517" y1="-0.8491" x2="1.7018" y2="0.8509" layer="51"/>
<rectangle x1="-0.1999" y1="-0.4001" x2="0.1999" y2="0.4001" layer="35"/>
</package>
<package name="AXIAL-0.3">
<wire x1="-2.54" y1="0.762" x2="2.54" y2="0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0.762" x2="2.54" y2="0" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="-0.762" x2="-2.54" y2="-0.762" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="-0.762" x2="-2.54" y2="0" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.54" y2="0.762" width="0.2032" layer="21"/>
<wire x1="2.54" y1="0" x2="2.794" y2="0" width="0.2032" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.794" y2="0" width="0.2032" layer="21"/>
<pad name="P$1" x="-3.81" y="0" drill="0.9" diameter="1.8796"/>
<pad name="P$2" x="3.81" y="0" drill="0.9" diameter="1.8796"/>
<text x="-2.54" y="1.27" size="0.4064" layer="25" font="vector">>Name</text>
<text x="-2.032" y="-0.381" size="1.016" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="R2010">
<description><b>RESISTOR</b><p>
chip</description>
<wire x1="-1.662" y1="1.245" x2="1.662" y2="1.245" width="0.1524" layer="51"/>
<wire x1="-1.637" y1="-1.245" x2="1.687" y2="-1.245" width="0.1524" layer="51"/>
<wire x1="-3.473" y1="1.483" x2="3.473" y2="1.483" width="0.0508" layer="39"/>
<wire x1="3.473" y1="1.483" x2="3.473" y2="-1.483" width="0.0508" layer="39"/>
<wire x1="3.473" y1="-1.483" x2="-3.473" y2="-1.483" width="0.0508" layer="39"/>
<wire x1="-3.473" y1="-1.483" x2="-3.473" y2="1.483" width="0.0508" layer="39"/>
<wire x1="-1.027" y1="1.245" x2="1.027" y2="1.245" width="0.1524" layer="21"/>
<wire x1="-1.002" y1="-1.245" x2="1.016" y2="-1.245" width="0.1524" layer="21"/>
<smd name="1" x="-2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
<smd name="2" x="2.2" y="0" dx="1.8" dy="2.7" layer="1"/>
<text x="-2.54" y="1.5875" size="0.4064" layer="25">>NAME</text>
<text x="-2.54" y="-2.032" size="0.4064" layer="27">>VALUE</text>
<rectangle x1="-2.4892" y1="-1.3208" x2="-1.6393" y2="1.3292" layer="51"/>
<rectangle x1="1.651" y1="-1.3208" x2="2.5009" y2="1.3292" layer="51"/>
</package>
<package name="0805">
<wire x1="-0.3" y1="0.6" x2="0.3" y2="0.6" width="0.1524" layer="21"/>
<wire x1="-0.3" y1="-0.6" x2="0.3" y2="-0.6" width="0.1524" layer="21"/>
<smd name="1" x="-0.9" y="0" dx="0.8" dy="1.2" layer="1"/>
<smd name="2" x="0.9" y="0" dx="0.8" dy="1.2" layer="1"/>
<text x="-0.762" y="0.8255" size="0.4064" layer="25">>NAME</text>
<text x="-1.016" y="-1.397" size="0.4064" layer="27">>VALUE</text>
</package>
<package name="0603-RES">
<wire x1="-1.473" y1="0.983" x2="1.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="1.473" y1="0.983" x2="1.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="1.473" y1="-0.983" x2="-1.473" y2="-0.983" width="0.0508" layer="39"/>
<wire x1="-1.473" y1="-0.983" x2="-1.473" y2="0.983" width="0.0508" layer="39"/>
<wire x1="-0.356" y1="0.432" x2="0.356" y2="0.432" width="0.1016" layer="51"/>
<wire x1="-0.356" y1="-0.419" x2="0.356" y2="-0.419" width="0.1016" layer="51"/>
<smd name="1" x="-0.85" y="0" dx="1.1" dy="1" layer="1"/>
<smd name="2" x="0.85" y="0" dx="1.1" dy="1" layer="1"/>
<text x="-0.889" y="0.762" size="0.4064" layer="25" font="vector">>NAME</text>
<text x="-1.016" y="-1.143" size="0.4064" layer="27" font="vector">>VALUE</text>
<rectangle x1="-0.8382" y1="-0.4699" x2="-0.3381" y2="0.4801" layer="51"/>
<rectangle x1="0.3302" y1="-0.4699" x2="0.8303" y2="0.4801" layer="51"/>
<rectangle x1="-0.1999" y1="-0.3" x2="0.1999" y2="0.3" layer="35"/>
<rectangle x1="-0.2286" y1="-0.381" x2="0.2286" y2="0.381" layer="21"/>
</package>
<package name="0402-RES">
<description><b>CAPACITOR</b><p>
chip</description>
<wire x1="-0.245" y1="0.224" x2="0.245" y2="0.224" width="0.1524" layer="51"/>
<wire x1="0.245" y1="-0.224" x2="-0.245" y2="-0.224" width="0.1524" layer="51"/>
<wire x1="-1.473" y1="0.483" x2="1.473" y2="0.483" width="0.0508" layer="39"/>
<wire x1="1.473" y1="0.483" x2="1.473" y2="-0.483" width="0.0508" layer="39"/>
<wire x1="1.473" y1="-0.483" x2="-1.473" y2="-0.483" width="0.0508" layer="39"/>
<wire x1="-1.473" y1="-0.483" x2="-1.473" y2="0.483" width="0.0508" layer="39"/>
<smd name="1" x="-0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
<smd name="2" x="0.65" y="0" dx="0.7" dy="0.9" layer="1"/>
<text x="-0.889" y="0.6985" size="0.4064" layer="25">>NAME</text>
<text x="-1.0795" y="-1.143" size="0.4064" layer="27">>VALUE</text>
<rectangle x1="-0.554" y1="-0.3048" x2="-0.254" y2="0.2951" layer="51"/>
<rectangle x1="0.2588" y1="-0.3048" x2="0.5588" y2="0.2951" layer="51"/>
<rectangle x1="-0.1999" y1="-0.3" x2="0.1999" y2="0.3" layer="35"/>
<rectangle x1="-0.2032" y1="-0.3556" x2="0.2032" y2="0.3556" layer="21"/>
</package>
<package name="1/6W-RES">
<description>1/6W Thru-hole Resistor - *UNPROVEN*</description>
<wire x1="-1.55" y1="0.85" x2="-1.55" y2="-0.85" width="0.2032" layer="21"/>
<wire x1="-1.55" y1="-0.85" x2="1.55" y2="-0.85" width="0.2032" layer="21"/>
<wire x1="1.55" y1="-0.85" x2="1.55" y2="0.85" width="0.2032" layer="21"/>
<wire x1="1.55" y1="0.85" x2="-1.55" y2="0.85" width="0.2032" layer="21"/>
<pad name="1" x="-2.5" y="0" drill="0.762"/>
<pad name="2" x="2.5" y="0" drill="0.762"/>
<text x="-1.2662" y="0.9552" size="0.6096" layer="25">>NAME</text>
<text x="-1.423" y="-0.4286" size="0.8128" layer="21" ratio="15">>VALUE</text>
</package>
<package name="R2512">
<wire x1="-2.362" y1="1.473" x2="2.387" y2="1.473" width="0.1524" layer="51"/>
<wire x1="-2.362" y1="-1.473" x2="2.387" y2="-1.473" width="0.1524" layer="51"/>
<smd name="1" x="-2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
<smd name="2" x="2.8" y="0" dx="1.8" dy="3.2" layer="1"/>
<text x="-2.54" y="1.905" size="1.27" layer="25">>NAME</text>
<text x="-2.54" y="-3.175" size="1.27" layer="27">>VALUE</text>
<rectangle x1="-3.2004" y1="-1.5494" x2="-2.3505" y2="1.5507" layer="51"/>
<rectangle x1="2.3622" y1="-1.5494" x2="3.2121" y2="1.5507" layer="51"/>
</package>
<package name="AXIAL-0.4">
<description>1/4W Resistor, 0.4" wide<p>

Yageo CFR series <a href="http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf">http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</a></description>
<wire x1="-3.15" y1="-1.2" x2="-3.15" y2="1.2" width="0.2032" layer="21"/>
<wire x1="-3.15" y1="1.2" x2="3.15" y2="1.2" width="0.2032" layer="21"/>
<wire x1="3.15" y1="1.2" x2="3.15" y2="-1.2" width="0.2032" layer="21"/>
<wire x1="3.15" y1="-1.2" x2="-3.15" y2="-1.2" width="0.2032" layer="21"/>
<pad name="P$1" x="-5.08" y="0" drill="0.9" diameter="1.8796"/>
<pad name="P$2" x="5.08" y="0" drill="0.9" diameter="1.8796"/>
<text x="-3.175" y="1.905" size="0.8128" layer="25" font="vector" ratio="15">>Name</text>
<text x="-2.286" y="-0.381" size="0.8128" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="AXIAL-0.5">
<description>1/2W Resistor, 0.5" wide<p>

Yageo CFR series <a href="http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf">http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</a></description>
<wire x1="-4.5" y1="-1.65" x2="-4.5" y2="1.65" width="0.2032" layer="21"/>
<wire x1="-4.5" y1="1.65" x2="4.5" y2="1.65" width="0.2032" layer="21"/>
<wire x1="4.5" y1="1.65" x2="4.5" y2="-1.65" width="0.2032" layer="21"/>
<wire x1="4.5" y1="-1.65" x2="-4.5" y2="-1.65" width="0.2032" layer="21"/>
<pad name="P$1" x="-6.35" y="0" drill="0.9" diameter="1.8796"/>
<pad name="P$2" x="6.35" y="0" drill="0.9" diameter="1.8796"/>
<text x="-4.445" y="2.54" size="0.8128" layer="25" font="vector" ratio="15">>Name</text>
<text x="-3.429" y="-0.381" size="0.8128" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="AXIAL-0.6">
<description>1W Resistor, 0.6" wide<p>

Yageo CFR series <a href="http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf">http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</a></description>
<wire x1="-5.75" y1="-2.25" x2="-5.75" y2="2.25" width="0.2032" layer="21"/>
<wire x1="-5.75" y1="2.25" x2="5.75" y2="2.25" width="0.2032" layer="21"/>
<wire x1="5.75" y1="2.25" x2="5.75" y2="-2.25" width="0.2032" layer="21"/>
<wire x1="5.75" y1="-2.25" x2="-5.75" y2="-2.25" width="0.2032" layer="21"/>
<pad name="P$1" x="-7.62" y="0" drill="1.2" diameter="1.8796"/>
<pad name="P$2" x="7.62" y="0" drill="1.2" diameter="1.8796"/>
<text x="-5.715" y="3.175" size="0.8128" layer="25" font="vector" ratio="15">>Name</text>
<text x="-4.064" y="-0.381" size="0.8128" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="AXIAL-0.8">
<description>2W Resistor, 0.8" wide<p>

Yageo CFR series <a href="http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf">http://www.yageo.com/pdf/yageo/Leaded-R_CFR_2008.pdf</a></description>
<wire x1="-7.75" y1="-2.5" x2="-7.75" y2="2.5" width="0.2032" layer="21"/>
<wire x1="-7.75" y1="2.5" x2="7.75" y2="2.5" width="0.2032" layer="21"/>
<wire x1="7.75" y1="2.5" x2="7.75" y2="-2.5" width="0.2032" layer="21"/>
<wire x1="7.75" y1="-2.5" x2="-7.75" y2="-2.5" width="0.2032" layer="21"/>
<pad name="P$1" x="-10.16" y="0" drill="1.2" diameter="1.8796"/>
<pad name="P$2" x="10.16" y="0" drill="1.2" diameter="1.8796"/>
<text x="-7.62" y="3.175" size="0.8128" layer="25" font="vector" ratio="15">>Name</text>
<text x="-5.969" y="-0.381" size="0.8128" layer="21" font="vector" ratio="15">>Value</text>
</package>
<package name="AXIAL-0.3-KIT">
<description><h3>AXIAL-0.3-KIT</h3>

Commonly used for 1/4W through-hole resistors. 0.3" pitch between holes.<br>
<br>

<b>Warning:</b> This is the KIT version of the AXIAL-0.3 package. This package has a smaller diameter top stop mask, which doesn't cover the diameter of the pad. This means only the bottom side of the pads' copper will be exposed. You'll only be able to solder to the bottom side.</description>
<wire x1="-2.54" y1="1.27" x2="2.54" y2="1.27" width="0.254" layer="21"/>
<wire x1="2.54" y1="1.27" x2="2.54" y2="0" width="0.254" layer="21"/>
<wire x1="2.54" y1="0" x2="2.54" y2="-1.27" width="0.254" layer="21"/>
<wire x1="2.54" y1="-1.27" x2="-2.54" y2="-1.27" width="0.254" layer="21"/>
<wire x1="-2.54" y1="-1.27" x2="-2.54" y2="0" width="0.254" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.54" y2="1.27" width="0.254" layer="21"/>
<wire x1="2.54" y1="0" x2="2.794" y2="0" width="0.254" layer="21"/>
<wire x1="-2.54" y1="0" x2="-2.794" y2="0" width="0.254" layer="21"/>
<pad name="P$1" x="-3.81" y="0" drill="1.016" diameter="2.032" stop="no"/>
<pad name="P$2" x="3.81" y="0" drill="1.016" diameter="2.032" stop="no"/>
<text x="-2.54" y="1.27" size="0.4064" layer="25" font="vector">>Name</text>
<text x="-2.159" y="-0.762" size="1.27" layer="21" font="vector" ratio="15">>Value</text>
<polygon width="0.127" layer="30">
<vertex x="3.8201" y="-0.9449" curve="-90"/>
<vertex x="2.8652" y="-0.0152" curve="-90.011749"/>
<vertex x="3.8176" y="0.9602" curve="-90"/>
<vertex x="4.7676" y="-0.0178" curve="-90.024193"/>
</polygon>
<polygon width="0.127" layer="29">
<vertex x="3.8176" y="-0.4369" curve="-90.012891"/>
<vertex x="3.3731" y="-0.0127" curve="-90"/>
<vertex x="3.8176" y="0.4546" curve="-90"/>
<vertex x="4.2595" y="-0.0025" curve="-90.012967"/>
</polygon>
<polygon width="0.127" layer="30">
<vertex x="-3.8075" y="-0.9525" curve="-90"/>
<vertex x="-4.7624" y="-0.0228" curve="-90.011749"/>
<vertex x="-3.81" y="0.9526" curve="-90"/>
<vertex x="-2.86" y="-0.0254" curve="-90.024193"/>
</polygon>
<polygon width="0.127" layer="29">
<vertex x="-3.81" y="-0.4445" curve="-90.012891"/>
<vertex x="-4.2545" y="-0.0203" curve="-90"/>
<vertex x="-3.81" y="0.447" curve="-90"/>
<vertex x="-3.3681" y="-0.0101" curve="-90.012967"/>
</polygon>
</package>
<package name="CAP-PTH-SMALL">
<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="0.7" diameter="1.651"/>
<pad name="2" x="2.54" y="0" drill="0.7" diameter="1.651"/>
<text x="0.508" y="1.27" size="0.4064" layer="25">>Name</text>
<text x="0.254" y="-1.524" size="0.4064" layer="27">>Value</text>
</package>
<package name="CAP-PTH-SMALL2">
<wire x1="1.27" y1="0.635" x2="1.27" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="1.27" x2="3.81" y2="1.27" width="0.2032" layer="21"/>
<wire x1="3.81" y1="1.27" x2="3.81" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="3.81" y1="-1.27" x2="-1.27" y2="-1.27" width="0.2032" layer="21"/>
<wire x1="-1.27" y1="-1.27" x2="-1.27" y2="1.27" width="0.2032" layer="21"/>
<pad name="1" x="0" y="0" drill="0.7" diameter="1.651"/>
<pad name="2" x="2.54" y="0" drill="0.7" diameter="1.651"/>
<text x="-1.27" y="1.905" size="0.6096" layer="25">>Name</text>
<text x="-1.27" y="-2.54" size="0.6096" layer="27">>Value</text>
</package>
<package name="CAP-PTH-LARGE">
<wire x1="0" y1="0.635" x2="0" y2="0" width="0.2032" layer="21"/>
<wire x1="0" y1="0" x2="0" y2="-0.635" width="0.2032" layer="21"/>
<wire x1="0" y1="0" x2="-2.54" y2="0" width="0.2032" layer="21"/>
<wire x1="0" y1="0" x2="2.54" y2="0" width="0.2032" layer="21"/>
<pad name="1" x="-4.826" y="0" drill="0.9" diameter="1.905"/>
<pad name="2" x="4.572" y="0" drill="0.9" diameter="1.905"/>
<text x="-0.762" y="1.27" size="0.4064" layer="25">>Name</text>
<text x="-1.016" y="-1.524" size="0.4064" layer="27">>Value</text>
</package>
<package name="GRM43D">
<wire x1="2.25" y1="1.6" x2="1.1" y2="1.6" width="0.127" layer="51"/>
<wire x1="1.1" y1="1.6" x2="-1.1" y2="1.6" width="0.127" layer="51"/>
<wire x1="-1.1" y1="1.6" x2="-2.25" y2="1.6" width="0.127" layer="51"/>
<wire x1="-2.25" y1="1.6" x2="-2.25" y2="-1.6" width="0.127" layer="51"/>
<wire x1="-2.25" y1="-1.6" x2="-1.1" y2="-1.6" width="0.127" layer="51"/>
<wire x1="-1.1" y1="-1.6" x2="1.1" y2="-1.6" width="0.127" layer="51"/>
<wire x1="1.1" y1="-1.6" x2="2.25" y2="-1.6" width="0.127" layer="51"/>
<wire x1="2.25" y1="-1.6" x2="2.25" y2="1.6" width="0.127" layer="51"/>
<wire x1="1.1" y1="1.6" x2="1.1" y2="-1.6" width="0.127" layer="51"/>
<wire x1="-1.1" y1="1.6" x2="-1.1" y2="-1.6" width="0.127" layer="51"/>
<wire x1="-2.3" y1="1.8" x2="2.3" y2="1.8" width="0.127" layer="21"/>
<wire x1="-2.3" y1="-1.8" x2="2.3" y2="-1.8" width="0.127" layer="21"/>
<smd name="A" x="1.927" y="0" dx="3.2" dy="1.65" layer="1" rot="R90"/>
<smd name="C" x="-1.927" y="0" dx="3.2" dy="1.65" layer="1" rot="R90"/>
<text x="-2" y="2" size="0.4064" layer="25">>NAME</text>
<text x="0" y="-2" size="0.4064" layer="27" rot="R180">>VALUE</text>
<rectangle x1="-2.2" y1="-1.6" x2="-1.1" y2="1.6" layer="51"/>
<rectangle x1="1.1" y1="-1.6" x2="2.2

repository: physical-computation/Warp-hardware

repo_name: physical-computation/Warp-hardware

branch_name: refs/heads/master

gha_language: SMT

extension: sch