diff --git a/Projects/.gitignore b/Projects/.gitignore deleted file mode 100644 index e10e727..0000000 --- a/Projects/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/.metadata/ diff --git a/Projects/.jxbrowser.userdata/BrowserMetrics-spare.pma b/Projects/.jxbrowser.userdata/BrowserMetrics-spare.pma deleted file mode 100644 index 98fc2c0..0000000 Binary files a/Projects/.jxbrowser.userdata/BrowserMetrics-spare.pma and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Affiliation Database b/Projects/.jxbrowser.userdata/Default/Affiliation Database deleted file mode 100644 index 62c233f..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Affiliation Database and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Affiliation Database-journal b/Projects/.jxbrowser.userdata/Default/Affiliation Database-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/AutofillStrikeDatabase/LOCK b/Projects/.jxbrowser.userdata/Default/AutofillStrikeDatabase/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/AutofillStrikeDatabase/LOG b/Projects/.jxbrowser.userdata/Default/AutofillStrikeDatabase/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/BudgetDatabase/LOCK b/Projects/.jxbrowser.userdata/Default/BudgetDatabase/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/BudgetDatabase/LOG b/Projects/.jxbrowser.userdata/Default/BudgetDatabase/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_0 b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_0 deleted file mode 100644 index a311ffb..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_0 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_1 b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_1 deleted file mode 100644 index 0e06064..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_1 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_2 b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_2 deleted file mode 100644 index 1d2b06a..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_2 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_3 b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_3 deleted file mode 100644 index 80642b2..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/data_3 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000001 b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000001 deleted file mode 100644 index e9f0838..0000000 --- a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000001 +++ /dev/null @@ -1,2821 +0,0 @@ -const BUILD = {"allRenderFn":false,"cmpDidLoad":true,"cmpShouldUpdate":false,"cmpDidUnload":true,"cmpDidUpdate":true,"cmpDidRender":true,"cmpWillLoad":true,"cmpWillUpdate":true,"cmpWillRender":false,"connectedCallback":true,"disconnectedCallback":true,"element":false,"event":true,"hasRenderFn":true,"lifecycle":true,"asyncLoading":true,"hostListener":true,"hostListenerTargetWindow":true,"hostListenerTargetDocument":true,"hostListenerTargetBody":false,"hostListenerTargetParent":false,"hostListenerTarget":true,"member":true,"method":true,"mode":false,"noVdomRender":false,"observeAttribute":true,"prop":true,"propBoolean":true,"propNumber":true,"propString":true,"propMutable":true,"reflect":true,"scoped":false,"shadowDom":true,"shadowDelegatesFocus":false,"slot":true,"slotRelocation":true,"state":true,"style":true,"svg":true,"updatable":true,"vdomAttribute":true,"vdomXlink":true,"vdomClass":true,"vdomFunctional":false,"vdomKey":true,"vdomListener":true,"vdomPropOrAttr":true,"vdomRef":true,"vdomRender":true,"vdomStyle":true,"vdomText":true,"watchCallback":true,"taskQueue":true,"lazyLoad":true,"hydrateServerSide":false,"cssVarShim":true,"initializeNextTick":true,"hydrateClientSide":false,"isDebug":false,"isDev":true,"devTools":true,"profile":true,"hotModuleReplacement":true,"constructableCSS":false,"cssAnnotations":true,"appendChildSlotFix":false,"cloneNodeFix":false,"dynamicImportShim":true,"lifecycleDOMEvents":false,"safari10":true,"shadowDomShim":true,"hydratedAttribute":false,"hydratedClass":true}; -const NAMESPACE = 'gc-components'; - -let queueCongestion = 0; -let queuePending = false; -let i = 0; -let scopeId; -let contentRef; -let hostTagName; -let useNativeShadowDom = false; -let checkSlotFallbackVisibility = false; -let checkSlotRelocate = false; -let isSvgMode = false; -let renderingElement = null; -const win = typeof window !== 'undefined' ? window : {}; -const CSS = BUILD.cssVarShim ? win.CSS : null; -const doc = win.document || { head: {} }; -const H = (win.HTMLElement || class { -}); -const plt = { - $flags$: 0, - $resourcesUrl$: '', - jmp: (h) => h(), - raf: (h) => requestAnimationFrame(h), - ael: (el, eventName, listener, opts) => el.addEventListener(eventName, listener, opts), - rel: (el, eventName, listener, opts) => el.removeEventListener(eventName, listener, opts), -}; -const supportsShadowDom = BUILD.shadowDomShim ? (BUILD.shadowDom) ? /*@__PURE__*/ (() => (doc.head.attachShadow + '').indexOf('[native') > -1)() : false : true; -const supportsListenerOptions = /*@__PURE__*/ (() => { - let supportsListenerOptions = false; - try { - doc.addEventListener('e', null, Object.defineProperty({}, 'passive', { - get() { supportsListenerOptions = true; } - })); - } - catch (e) { } - return supportsListenerOptions; -})(); -const promiseResolve = (v) => Promise.resolve(v); -const supportsConstructibleStylesheets = BUILD.constructableCSS ? /*@__PURE__*/ (() => { - try { - new CSSStyleSheet(); - return true; - } - catch (e) { } - return false; -})() : false; -const Context = {}; -const hostRefs = new WeakMap(); -const getHostRef = (ref) => hostRefs.get(ref); -const registerInstance = (lazyInstance, hostRef) => hostRefs.set(hostRef.$lazyInstance$ = lazyInstance, hostRef); -const registerHost = (elm) => { - const hostRef = { - $flags$: 0, - $hostElement$: elm, - $instanceValues$: new Map() - }; - if (BUILD.isDev) { - hostRef.$renderCount$ = 0; - } - if (BUILD.method && BUILD.lazyLoad) { - hostRef.$onInstancePromise$ = new Promise(r => hostRef.$onInstanceResolve$ = r); - } - if (BUILD.asyncLoading) { - hostRef.$onReadyPromise$ = new Promise(r => hostRef.$onReadyResolve$ = r); - elm['s-p'] = []; - elm['s-rc'] = []; - } - return hostRefs.set(elm, hostRef); -}; -const isMemberInElement = (elm, memberName) => memberName in elm; -const STENCIL_DEV_MODE = ['%c[STENCIL-DEV-MODE]', 'color:#4c47ff;font-weight: bold']; -const consoleDevError = (...m) => console.error(...STENCIL_DEV_MODE, ...m); -const consoleDevWarn = (...m) => console.warn(...STENCIL_DEV_MODE, ...m); -const consoleDevInfo = (...m) => console.info(...STENCIL_DEV_MODE, ...m); -const consoleError = (e) => console.error(e); -const moduleCache = /*@__PURE__*/ new Map(); -const loadModule = (cmpMeta, hostRef, hmrVersionId) => { - // loadModuleImport - const exportName = cmpMeta.$tagName$.replace(/-/g, '_'); - const bundleId = ((BUILD.mode && typeof cmpMeta.$lazyBundleIds$ !== 'string') - ? cmpMeta.$lazyBundleIds$[hostRef.$modeName$] - : cmpMeta.$lazyBundleIds$); - const module = !BUILD.hotModuleReplacement ? moduleCache.get(bundleId) : false; - if (module) { - return module[exportName]; - } - return __sc_import_gc_components( - /* webpackInclude: /\.entry\.js$/ */ - /* webpackExclude: /\.system\.entry\.js$/ */ - /* webpackMode: "lazy" */ - `./${bundleId}.entry.js${BUILD.hotModuleReplacement && hmrVersionId ? '?s-hmr=' + hmrVersionId : ''}`).then(importedModule => { - if (!BUILD.hotModuleReplacement) { - moduleCache.set(bundleId, importedModule); - } - return importedModule[exportName]; - }, consoleError); -}; -const styles = new Map(); -const queueDomReads = []; -const queueDomWrites = []; -const queueDomWritesLow = []; -const queueTask = (queue, write) => (cb) => { - queue.push(cb); - if (!queuePending) { - queuePending = true; - if (write && plt.$flags$ & 4 /* queueSync */) { - nextTick(flush); - } - else { - plt.raf(flush); - } - } -}; -const consume = (queue) => { - for (let i = 0; i < queue.length; i++) { - try { - queue[i](performance.now()); - } - catch (e) { - consoleError(e); - } - } - queue.length = 0; -}; -const consumeTimeout = (queue, timeout) => { - let i = 0; - let ts = 0; - while (i < queue.length && (ts = performance.now()) < timeout) { - try { - queue[i++](ts); - } - catch (e) { - consoleError(e); - } - } - if (i === queue.length) { - queue.length = 0; - } - else if (i !== 0) { - queue.splice(0, i); - } -}; -const flush = () => { - queueCongestion++; - // always force a bunch of medium callbacks to run, but still have - // a throttle on how many can run in a certain time - // DOM READS!!! - consume(queueDomReads); - const timeout = (plt.$flags$ & 6 /* queueMask */) === 2 /* appLoaded */ - ? performance.now() + (10 * Math.ceil(queueCongestion * (1.0 / 22.0))) - : Infinity; - // DOM WRITES!!! - consumeTimeout(queueDomWrites, timeout); - consumeTimeout(queueDomWritesLow, timeout); - if (queueDomWrites.length > 0) { - queueDomWritesLow.push(...queueDomWrites); - queueDomWrites.length = 0; - } - if (queuePending = ((queueDomReads.length + queueDomWrites.length + queueDomWritesLow.length) > 0)) { - // still more to do yet, but we've run out of time - // let's let this thing cool off and try again in the next tick - plt.raf(flush); - } - else { - queueCongestion = 0; - } -}; -const nextTick = /*@__PURE__*/ (cb) => promiseResolve().then(cb); -const readTask = /*@__PURE__*/ queueTask(queueDomReads, false); -const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true); -const Build = { - isDev: BUILD.isDev ? true : false, - isBrowser: true -}; -/** - * Default style mode id - */ -/** - * Reusable empty obj/array - * Don't add values to these!! - */ -const EMPTY_OBJ = {}; -/** - * Namespaces - */ -const SVG_NS = 'http://www.w3.org/2000/svg'; -const HTML_NS = 'http://www.w3.org/1999/xhtml'; -const isDef = (v) => v != null; -const isComplexType = (o) => { - // https://jsperf.com/typeof-fn-object/5 - o = typeof o; - return o === 'object' || o === 'function'; -}; -const getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\s|-/g, '_')}`; -const patchEsm = () => { - // @ts-ignore - if (BUILD.cssVarShim && !(CSS && CSS.supports && CSS.supports('color', 'var(--c)'))) { - // @ts-ignore - return __sc_import_gc_components(/* webpackChunkName: "stencil-polyfills-css-shim" */ './css-shim-8775d9ad-556f0cc2.js').then(() => { - if (plt.$cssShim$ = win.__cssshim) { - return plt.$cssShim$.i(); - } - else { - // for better minification - return 0; - } - }); - } - return promiseResolve(); -}; -const patchBrowser = () => { - // NOTE!! This fn cannot use async/await! - if (BUILD.isDev) { - consoleDevInfo('Stencil is running in the development mode.'); - } - if (BUILD.cssVarShim) { - // shim css vars - plt.$cssShim$ = win.__cssshim; - } - if (BUILD.cloneNodeFix) { - // opted-in to polyfill cloneNode() for slot polyfilled components - patchCloneNodeFix(H.prototype); - } - if (BUILD.profile && !performance.mark) { - // not all browsers support performance.mark/measure (Safari 10) - performance.mark = performance.measure = () => { }; - performance.getEntriesByName = () => []; - } - // @ts-ignore - const scriptElm = (BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim) ? - Array.from(doc.querySelectorAll('script')).find(s => (new RegExp(`\/${NAMESPACE}(\\.esm)?\\.js($|\\?|#)`).test(s.src) || - s.getAttribute('data-stencil-namespace') === NAMESPACE)) : null; - const importMeta = ""; - const opts = BUILD.scriptDataOpts ? scriptElm['data-opts'] || {} : {}; - if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) { - // Safari < v11 support: This IF is true if it's Safari below v11. - // This fn cannot use async/await since Safari didn't support it until v11, - // however, Safari 10 did support modules. Safari 10 also didn't support "nomodule", - // so both the ESM file and nomodule file would get downloaded. Only Safari - // has 'onbeforeload' in the script, and "history.scrollRestoration" was added - // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue. - // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds. - return { then() { } }; - } - if (!BUILD.safari10 && importMeta !== '') { - opts.resourcesUrl = new URL('.', importMeta).href; - } - else if (BUILD.dynamicImportShim || BUILD.safari10) { - opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href; - patchDynamicImport(opts.resourcesUrl, scriptElm); - if (BUILD.dynamicImportShim && !win.customElements) { - // module support, but no custom elements support (Old Edge) - // @ts-ignore - return __sc_import_gc_components(/* webpackChunkName: "stencil-polyfills-dom" */ './dom-76cc7c7d-0a082895.js').then(() => opts); - } - } - return promiseResolve(opts); -}; -const patchDynamicImport = (base, orgScriptElm) => { - const importFunctionName = getDynamicImportFunction(NAMESPACE); - try { - // test if this browser supports dynamic imports - // There is a caching issue in V8, that breaks using import() in Function - // By generating a random string, we can workaround it - // Check https://bugs.chromium.org/p/v8/issues/detail?id=9558 for more info - win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`); - } - catch (e) { - // this shim is specifically for browsers that do support "esm" imports - // however, they do NOT support "dynamic" imports - // basically this code is for old Edge, v18 and below - const moduleMap = new Map(); - win[importFunctionName] = (src) => { - const url = new URL(src, base).href; - let mod = moduleMap.get(url); - if (!mod) { - const script = doc.createElement('script'); - script.type = 'module'; - script.crossOrigin = orgScriptElm.crossOrigin; - script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], { type: 'application/javascript' })); - mod = new Promise(resolve => { - script.onload = () => { - resolve(win[importFunctionName].m); - script.remove(); - }; - }); - moduleMap.set(url, mod); - doc.head.appendChild(script); - } - return mod; - }; - } -}; -const patchCloneNodeFix = (HTMLElementPrototype) => { - const nativeCloneNodeFn = HTMLElementPrototype.cloneNode; - HTMLElementPrototype.cloneNode = function (deep) { - if (this.nodeName === 'TEMPLATE') { - return nativeCloneNodeFn.call(this, deep); - } - const clonedNode = nativeCloneNodeFn.call(this, false); - const srcChildNodes = this.childNodes; - if (deep) { - for (let i = 0; i < srcChildNodes.length; i++) { - // Node.ATTRIBUTE_NODE === 2, and checking because IE11 - if (srcChildNodes[i].nodeType !== 2) { - clonedNode.appendChild(srcChildNodes[i].cloneNode(true)); - } - } - } - return clonedNode; - }; -}; -const CONTENT_REF_ID = 'r'; -const ORG_LOCATION_ID = 'o'; -const SLOT_NODE_ID = 's'; -const TEXT_NODE_ID = 't'; -const HYDRATE_ID = 's-id'; -const HYDRATED_STYLE_ID = 'sty-id'; -const HYDRATE_CHILD_ID = 'c-id'; -const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}'; -const XLINK_NS = 'http://www.w3.org/1999/xlink'; -const createTime = (fnName, tagName = '') => { - if (BUILD.profile) { - const key = `st:${fnName}:${tagName}:${i++}`; - // Start - performance.mark(key); - // End - return () => performance.measure(`[Stencil] ${fnName}() <${tagName}>`, key); - } - else { - return () => { return; }; - } -}; -const uniqueTime = (key, measureText) => { - if (BUILD.profile) { - if (performance.getEntriesByName(key).length === 0) { - performance.mark(key); - } - return () => { - if (performance.getEntriesByName(measureText).length === 0) { - performance.measure(measureText, key); - } - }; - } - else { - return () => { return; }; - } -}; -const inspect = (ref) => { - const hostRef = getHostRef(ref); - if (!hostRef) { - return undefined; - } - const flags = hostRef.$flags$; - const hostElement = hostRef.$hostElement$; - return { - renderCount: hostRef.$renderCount$, - flags: { - hasRendered: !!(flags & 2 /* hasRendered */), - hasConnected: !!(flags & 1 /* hasConnected */), - isWaitingForChildren: !!(flags & 4 /* isWaitingForChildren */), - isConstructingInstance: !!(flags & 8 /* isConstructingInstance */), - isQueuedForUpdate: !!(flags & 16 /* isQueuedForUpdate */), - hasInitializedComponent: !!(flags & 32 /* hasInitializedComponent */), - hasLoadedComponent: !!(flags & 64 /* hasLoadedComponent */), - isWatchReady: !!(flags & 128 /* isWatchReady */), - isListenReady: !!(flags & 256 /* isListenReady */), - needsRerender: !!(flags & 512 /* needsRerender */), - }, - instanceValues: hostRef.$instanceValues$, - ancestorComponent: hostRef.$ancestorComponent$, - hostElement, - lazyInstance: hostRef.$lazyInstance$, - vnode: hostRef.$vnode$, - modeName: hostRef.$modeName$, - onReadyPromise: hostRef.$onReadyPromise$, - onReadyResolve: hostRef.$onReadyResolve$, - onInstancePromise: hostRef.$onInstancePromise$, - onInstanceResolve: hostRef.$onInstanceResolve$, - onRenderResolve: hostRef.$onRenderResolve$, - queuedListeners: hostRef.$queuedListeners$, - rmListeners: hostRef.$rmListeners$, - ['s-id']: hostElement['s-id'], - ['s-cr']: hostElement['s-cr'], - ['s-lr']: hostElement['s-lr'], - ['s-p']: hostElement['s-p'], - ['s-rc']: hostElement['s-rc'], - ['s-sc']: hostElement['s-sc'], - }; -}; -const installDevTools = () => { - if (BUILD.devTools) { - const stencil = win.stencil = win.stencil || {}; - const originalInspect = stencil.inspect; - stencil.inspect = (ref) => { - let result = inspect(ref); - if (!result && typeof originalInspect === 'function') { - result = originalInspect(ref); - } - return result; - }; - } -}; -const rootAppliedStyles = new WeakMap(); -const registerStyle = (scopeId, cssText, allowCS) => { - let style = styles.get(scopeId); - if (supportsConstructibleStylesheets && allowCS) { - style = (style || new CSSStyleSheet()); - style.replace(cssText); - } - else { - style = cssText; - } - styles.set(scopeId, style); -}; -const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => { - let scopeId = BUILD.mode ? getScopeId(cmpMeta.$tagName$, mode) : getScopeId(cmpMeta.$tagName$); - let style = styles.get(scopeId); - // if an element is NOT connected then getRootNode() will return the wrong root node - // so the fallback is to always use the document for the root node in those cases - styleContainerNode = (styleContainerNode.nodeType === 11 /* DocumentFragment */ ? styleContainerNode : doc); - if (BUILD.mode && !style) { - scopeId = getScopeId(cmpMeta.$tagName$); - style = styles.get(scopeId); - } - if (style) { - if (typeof style === 'string') { - styleContainerNode = styleContainerNode.head || styleContainerNode; - let appliedStyles = rootAppliedStyles.get(styleContainerNode); - let styleElm; - if (!appliedStyles) { - rootAppliedStyles.set(styleContainerNode, appliedStyles = new Set()); - } - if (!appliedStyles.has(scopeId)) { - if (BUILD.hydrateClientSide && styleContainerNode.host && (styleElm = styleContainerNode.querySelector(`[${HYDRATED_STYLE_ID}="${scopeId}"]`))) { - // This is only happening on native shadow-dom, do not needs CSS var shim - styleElm.innerHTML = style; - } - else { - if (BUILD.cssVarShim && plt.$cssShim$) { - styleElm = plt.$cssShim$.createHostStyle(hostElm, scopeId, style, !!(cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */)); - const newScopeId = styleElm['s-sc']; - if (newScopeId) { - scopeId = newScopeId; - // we don't want to add this styleID to the appliedStyles Set - // since the cssVarShim might need to apply several different - // stylesheets for the same component - appliedStyles = null; - } - } - else { - styleElm = doc.createElement('style'); - styleElm.innerHTML = style; - } - if (BUILD.hydrateServerSide || BUILD.hotModuleReplacement) { - styleElm.setAttribute(HYDRATED_STYLE_ID, scopeId); - } - styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link')); - } - if (appliedStyles) { - appliedStyles.add(scopeId); - } - } - } - else if (BUILD.constructableCSS && !styleContainerNode.adoptedStyleSheets.includes(style)) { - styleContainerNode.adoptedStyleSheets = [...styleContainerNode.adoptedStyleSheets, style]; - } - } - return scopeId; -}; -const attachStyles = (elm, cmpMeta, mode) => { - const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$); - const scopeId = addStyle((BUILD.shadowDom && supportsShadowDom && elm.shadowRoot) - ? elm.shadowRoot - : elm.getRootNode(), cmpMeta, mode, elm); - if ((BUILD.shadowDom || BUILD.scoped) && BUILD.cssAnnotations && cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */) { - // only required when we're NOT using native shadow dom (slot) - // or this browser doesn't support native shadow dom - // and this host element was NOT created with SSR - // let's pick out the inner content for slot projection - // create a node to represent where the original - // content was first placed, which is useful later on - // DOM WRITE!! - elm['s-sc'] = scopeId; - elm.classList.add(scopeId + '-h'); - if (BUILD.scoped && cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) { - elm.classList.add(scopeId + '-s'); - } - } - endAttachStyles(); -}; -const getScopeId = (tagName, mode) => 'sc-' + ((BUILD.mode && mode) ? tagName + '-' + mode : tagName); -const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g, '$1{'); -/** - * Production h() function based on Preact by - * Jason Miller (@developit) - * Licensed under the MIT License - * https://github.com/developit/preact/blob/master/LICENSE - * - * Modified for Stencil's compiler and vdom - */ -// const stack: any[] = []; -// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, child?: d.ChildType): d.VNode; -// export function h(nodeName: string | d.FunctionalComponent, vnodeData: d.PropsType, ...children: d.ChildType[]): d.VNode; -const h = (nodeName, vnodeData, ...children) => { - let child = null; - let key = null; - let slotName = null; - let simple = false; - let lastSimple = false; - let vNodeChildren = []; - const walk = (c) => { - for (let i = 0; i < c.length; i++) { - child = c[i]; - if (Array.isArray(child)) { - walk(child); - } - else if (child != null && typeof child !== 'boolean') { - if (simple = typeof nodeName !== 'function' && !isComplexType(child)) { - child = String(child); - } - else if (BUILD.isDev && child.$flags$ === undefined) { - consoleDevError(`vNode passed as children has unexpected type. -Make sure it's using the correct h() function. -Empty objects can also be the cause, look for JSX comments that became objects.`); - } - if (simple && lastSimple) { - // If the previous child was simple (string), we merge both - vNodeChildren[vNodeChildren.length - 1].$text$ += child; - } - else { - // Append a new vNode, if it's text, we create a text vNode - vNodeChildren.push(simple ? newVNode(null, child) : child); - } - lastSimple = simple; - } - } - }; - walk(children); - if (vnodeData) { - if (BUILD.isDev && nodeName === 'input') { - validateInputProperties(vnodeData); - } - // normalize class / classname attributes - if (BUILD.vdomKey && vnodeData.key) { - key = vnodeData.key; - } - if (BUILD.slotRelocation && vnodeData.name) { - slotName = vnodeData.name; - } - if (BUILD.vdomClass) { - const classData = vnodeData.className || vnodeData.class; - if (classData) { - vnodeData.class = typeof classData !== 'object' - ? classData - : Object.keys(classData) - .filter(k => classData[k]) - .join(' '); - } - } - } - if (BUILD.isDev && vNodeChildren.some(isHost)) { - consoleDevError(`The must be the single root component. Make sure: -- You are NOT using hostData() and in the same component. -- is used once, and it's the single root component of the render() function.`); - } - if (BUILD.vdomFunctional && typeof nodeName === 'function') { - // nodeName is a functional component - return nodeName(vnodeData, vNodeChildren, vdomFnUtils); - } - const vnode = newVNode(nodeName, null); - vnode.$attrs$ = vnodeData; - if (vNodeChildren.length > 0) { - vnode.$children$ = vNodeChildren; - } - if (BUILD.vdomKey) { - vnode.$key$ = key; - } - if (BUILD.slotRelocation) { - vnode.$name$ = slotName; - } - return vnode; -}; -const newVNode = (tag, text) => { - const vnode = { - $flags$: 0, - $tag$: tag, - $text$: text, - $elm$: null, - $children$: null - }; - if (BUILD.vdomAttribute) { - vnode.$attrs$ = null; - } - if (BUILD.vdomKey) { - vnode.$key$ = null; - } - if (BUILD.slotRelocation) { - vnode.$name$ = null; - } - return vnode; -}; -const Host = {}; -const isHost = (node) => node && node.$tag$ === Host; -const vdomFnUtils = { - 'forEach': (children, cb) => children.map(convertToPublic).forEach(cb), - 'map': (children, cb) => children.map(convertToPublic).map(cb).map(convertToPrivate) -}; -const convertToPublic = (node) => { - return { - vattrs: node.$attrs$, - vchildren: node.$children$, - vkey: node.$key$, - vname: node.$name$, - vtag: node.$tag$, - vtext: node.$text$ - }; -}; -const convertToPrivate = (node) => { - const vnode = newVNode(node.vtag, node.vtext); - vnode.$attrs$ = node.vattrs; - vnode.$children$ = node.vchildren; - vnode.$key$ = node.vkey; - vnode.$name$ = node.vname; - return vnode; -}; -const validateInputProperties = (vnodeData) => { - const props = Object.keys(vnodeData); - const typeIndex = props.indexOf('type'); - const minIndex = props.indexOf('min'); - const maxIndex = props.indexOf('max'); - const stepIndex = props.indexOf('min'); - const value = props.indexOf('value'); - if (value < typeIndex || value < minIndex || value < maxIndex || value < stepIndex) { - consoleDevWarn(`The "value" prop of should be set after "min", "max", "type" and "step"`); - } -}; -/** - * Production setAccessor() function based on Preact by - * Jason Miller (@developit) - * Licensed under the MIT License - * https://github.com/developit/preact/blob/master/LICENSE - * - * Modified for Stencil's compiler and vdom - */ -const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => { - if (oldValue !== newValue) { - let isProp = isMemberInElement(elm, memberName); - let ln = memberName.toLowerCase(); - if (BUILD.vdomClass && memberName === 'class') { - const classList = elm.classList; - const oldClasses = parseClassList(oldValue); - const newClasses = parseClassList(newValue); - classList.remove(...oldClasses.filter(c => c && !newClasses.includes(c))); - classList.add(...newClasses.filter(c => c && !oldClasses.includes(c))); - } - else if (BUILD.vdomStyle && memberName === 'style') { - // update style attribute, css properties and values - if (BUILD.updatable) { - for (const prop in oldValue) { - if (!newValue || newValue[prop] == null) { - if (!BUILD.hydrateServerSide && prop.includes('-')) { - elm.style.removeProperty(prop); - } - else { - elm.style[prop] = ''; - } - } - } - } - for (const prop in newValue) { - if (!oldValue || newValue[prop] !== oldValue[prop]) { - if (!BUILD.hydrateServerSide && prop.includes('-')) { - elm.style.setProperty(prop, newValue[prop]); - } - else { - elm.style[prop] = newValue[prop]; - } - } - } - } - else if (BUILD.vdomKey && memberName === 'key') - ; - else if (BUILD.vdomRef && memberName === 'ref') { - // minifier will clean this up - if (newValue) { - newValue(elm); - } - } - else if (BUILD.vdomListener && - (BUILD.lazyLoad - ? !isProp - : !elm.__lookupSetter__(memberName)) && - memberName[0] === 'o' && memberName[1] === 'n') { - // Event Handlers - // so if the member name starts with "on" and the 3rd characters is - // a capital letter, and it's not already a member on the element, - // then we're assuming it's an event listener - if (memberName[2] === '-') { - // on- prefixed events - // allows to be explicit about the dom event to listen without any magic - // under the hood: - // // listens for "click" - // // listens for "Click" - // // listens for "ionChange" - // // listens for "EVENTS" - memberName = memberName.slice(3); - } - else if (isMemberInElement(win, ln)) { - // standard event - // the JSX attribute could have been "onMouseOver" and the - // member name "onmouseover" is on the window's prototype - // so let's add the listener "mouseover", which is all lowercased - memberName = ln.slice(2); - } - else { - // custom event - // the JSX attribute could have been "onMyCustomEvent" - // so let's trim off the "on" prefix and lowercase the first character - // and add the listener "myCustomEvent" - // except for the first character, we keep the event name case - memberName = ln[2] + memberName.slice(3); - } - if (oldValue) { - plt.rel(elm, memberName, oldValue, false); - } - if (newValue) { - plt.ael(elm, memberName, newValue, false); - } - } - else if (BUILD.vdomPropOrAttr) { - // Set property if it exists and it's not a SVG - const isComplex = isComplexType(newValue); - if ((isProp || (isComplex && newValue !== null)) && !isSvg) { - try { - if (!elm.tagName.includes('-')) { - let n = newValue == null ? '' : newValue; - // Workaround for Safari, moving the caret when re-assigning the same valued - if (memberName === 'list') { - isProp = false; - // tslint:disable-next-line: triple-equals - } - else if (oldValue == null || elm[memberName] != n) { - elm[memberName] = n; - } - } - else { - elm[memberName] = newValue; - } - } - catch (e) { } - } - /** - * Need to manually update attribute if: - * - memberName is not an attribute - * - if we are rendering the host element in order to reflect attribute - * - if it's a SVG, since properties might not work in - * - if the newValue is null/undefined or 'false'. - */ - let xlink = false; - if (BUILD.vdomXlink) { - if (ln !== (ln = ln.replace(/^xlink\:?/, ''))) { - memberName = ln; - xlink = true; - } - } - if (newValue == null || newValue === false) { - if (BUILD.vdomXlink && xlink) { - elm.removeAttributeNS(XLINK_NS, memberName); - } - else { - elm.removeAttribute(memberName); - } - } - else if ((!isProp || (flags & 4 /* isHost */) || isSvg) && !isComplex) { - newValue = newValue === true ? '' : newValue; - if (BUILD.vdomXlink && xlink) { - elm.setAttributeNS(XLINK_NS, memberName, newValue); - } - else { - elm.setAttribute(memberName, newValue); - } - } - } - } -}; -const parseClassListRegex = /\s/; -const parseClassList = (value) => (!value) ? [] : value.split(parseClassListRegex); -const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => { - // if the element passed in is a shadow root, which is a document fragment - // then we want to be adding attrs/props to the shadow root's "host" element - // if it's not a shadow root, then we add attrs/props to the same element - const elm = (newVnode.$elm$.nodeType === 11 /* DocumentFragment */ && newVnode.$elm$.host) ? newVnode.$elm$.host : newVnode.$elm$; - const oldVnodeAttrs = (oldVnode && oldVnode.$attrs$) || EMPTY_OBJ; - const newVnodeAttrs = newVnode.$attrs$ || EMPTY_OBJ; - if (BUILD.updatable) { - // remove attributes no longer present on the vnode by setting them to undefined - for (memberName in oldVnodeAttrs) { - if (!(memberName in newVnodeAttrs)) { - setAccessor(elm, memberName, oldVnodeAttrs[memberName], undefined, isSvgMode, newVnode.$flags$); - } - } - } - // add new & update changed attributes - for (memberName in newVnodeAttrs) { - setAccessor(elm, memberName, oldVnodeAttrs[memberName], newVnodeAttrs[memberName], isSvgMode, newVnode.$flags$); - } -}; -const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => { - // tslint:disable-next-line: prefer-const - let newVNode = newParentVNode.$children$[childIndex]; - let i = 0; - let elm; - let childNode; - let oldVNode; - if (BUILD.slotRelocation && !useNativeShadowDom) { - // remember for later we need to check to relocate nodes - checkSlotRelocate = true; - if (newVNode.$tag$ === 'slot') { - if (scopeId) { - // scoped css needs to add its scoped id to the parent element - parentElm.classList.add(scopeId + '-s'); - } - newVNode.$flags$ |= (newVNode.$children$) - // slot element has fallback content - // still create an element that "mocks" the slot element - ? 2 /* isSlotFallback */ - // slot element does not have fallback content - // create an html comment we'll use to always reference - // where actual slot content should sit next to - : 1 /* isSlotReference */; - } - } - if (BUILD.isDev && newVNode.$elm$) { - consoleError(`The JSX ${newVNode.$text$ !== null ? `"${newVNode.$text$}" text` : `"${newVNode.$tag$}" element`} node should not be shared within the same renderer. The renderer caches element lookups in order to improve performance. However, a side effect from this is that the exact same JSX node should not be reused. For more information please see https://stenciljs.com/docs/templating-jsx#avoid-shared-jsx-nodes`); - } - if (BUILD.vdomText && newVNode.$text$ !== null) { - // create text node - elm = newVNode.$elm$ = doc.createTextNode(newVNode.$text$); - } - else if (BUILD.slotRelocation && newVNode.$flags$ & 1 /* isSlotReference */) { - // create a slot reference node - elm = newVNode.$elm$ = (BUILD.isDebug || BUILD.hydrateServerSide) ? slotReferenceDebugNode(newVNode) : doc.createTextNode(''); - } - else { - if (BUILD.svg && !isSvgMode) { - isSvgMode = newVNode.$tag$ === 'svg'; - } - // create element - elm = newVNode.$elm$ = ((BUILD.svg) - ? doc.createElementNS(isSvgMode ? SVG_NS : HTML_NS, (BUILD.slotRelocation && newVNode.$flags$ & 2 /* isSlotFallback */) ? 'slot-fb' : newVNode.$tag$) - : doc.createElement((BUILD.slotRelocation && newVNode.$flags$ & 2 /* isSlotFallback */) ? 'slot-fb' : newVNode.$tag$)); - if (BUILD.svg && isSvgMode && newVNode.$tag$ === 'foreignObject') { - isSvgMode = false; - } - // add css classes, attrs, props, listeners, etc. - if (BUILD.vdomAttribute) { - updateElement(null, newVNode, isSvgMode); - } - if ((BUILD.shadowDom || BUILD.scoped) && isDef(scopeId) && elm['s-si'] !== scopeId) { - // if there is a scopeId and this is the initial render - // then let's add the scopeId as a css class - elm.classList.add((elm['s-si'] = scopeId)); - } - if (newVNode.$children$) { - for (i = 0; i < newVNode.$children$.length; ++i) { - // create the node - childNode = createElm(oldParentVNode, newVNode, i, elm); - // return node could have been null - if (childNode) { - // append our new node - elm.appendChild(childNode); - } - } - } - if (BUILD.svg) { - if (newVNode.$tag$ === 'svg') { - // Only reset the SVG context when we're exiting element - isSvgMode = false; - } - else if (elm.tagName === 'foreignObject') { - // Reenter SVG context when we're exiting element - isSvgMode = true; - } - } - } - if (BUILD.slotRelocation) { - elm['s-hn'] = hostTagName; - if (newVNode.$flags$ & (2 /* isSlotFallback */ | 1 /* isSlotReference */)) { - // remember the content reference comment - elm['s-sr'] = true; - // remember the content reference comment - elm['s-cr'] = contentRef; - // remember the slot name, or empty string for default slot - elm['s-sn'] = newVNode.$name$ || ''; - // check if we've got an old vnode for this slot - oldVNode = oldParentVNode && oldParentVNode.$children$ && oldParentVNode.$children$[childIndex]; - if (oldVNode && oldVNode.$tag$ === newVNode.$tag$ && oldParentVNode.$elm$) { - // we've got an old slot vnode and the wrapper is being replaced - // so let's move the old slot content back to it's original location - putBackInOriginalLocation(oldParentVNode.$elm$, false); - } - } - } - return elm; -}; -const putBackInOriginalLocation = (parentElm, recursive) => { - plt.$flags$ |= 1 /* isTmpDisconnected */; - const oldSlotChildNodes = parentElm.childNodes; - for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) { - const childNode = oldSlotChildNodes[i]; - if (childNode['s-hn'] !== hostTagName && childNode['s-ol']) { - // // this child node in the old element is from another component - // // remove this node from the old slot's parent - // childNode.remove(); - // and relocate it back to it's original location - parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode)); - // remove the old original location comment entirely - // later on the patch function will know what to do - // and move this to the correct spot in need be - childNode['s-ol'].remove(); - childNode['s-ol'] = undefined; - checkSlotRelocate = true; - } - if (recursive) { - putBackInOriginalLocation(childNode, recursive); - } - } - plt.$flags$ &= ~1 /* isTmpDisconnected */; -}; -const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) => { - let containerElm = ((BUILD.slotRelocation && parentElm['s-cr'] && parentElm['s-cr'].parentNode) || parentElm); - let childNode; - if (BUILD.shadowDom && containerElm.shadowRoot && containerElm.tagName === hostTagName) { - containerElm = containerElm.shadowRoot; - } - for (; startIdx <= endIdx; ++startIdx) { - if (vnodes[startIdx]) { - childNode = createElm(null, parentVNode, startIdx, parentElm); - if (childNode) { - vnodes[startIdx].$elm$ = childNode; - containerElm.insertBefore(childNode, BUILD.slotRelocation ? referenceNode(before) : before); - } - } - } -}; -const removeVnodes = (vnodes, startIdx, endIdx, vnode, elm) => { - for (; startIdx <= endIdx; ++startIdx) { - if (vnode = vnodes[startIdx]) { - elm = vnode.$elm$; - callNodeRefs(vnode); - if (BUILD.slotRelocation) { - // we're removing this element - // so it's possible we need to show slot fallback content now - checkSlotFallbackVisibility = true; - if (elm['s-ol']) { - // remove the original location comment - elm['s-ol'].remove(); - } - else { - // it's possible that child nodes of the node - // that's being removed are slot nodes - putBackInOriginalLocation(elm, true); - } - } - // remove the vnode's element from the dom - elm.remove(); - } - } -}; -const updateChildren = (parentElm, oldCh, newVNode, newCh) => { - let oldStartIdx = 0; - let newStartIdx = 0; - let idxInOld = 0; - let i = 0; - let oldEndIdx = oldCh.length - 1; - let oldStartVnode = oldCh[0]; - let oldEndVnode = oldCh[oldEndIdx]; - let newEndIdx = newCh.length - 1; - let newStartVnode = newCh[0]; - let newEndVnode = newCh[newEndIdx]; - let node; - let elmToMove; - while (oldStartIdx <= oldEndIdx && newStartIdx <= newEndIdx) { - if (oldStartVnode == null) { - // Vnode might have been moved left - oldStartVnode = oldCh[++oldStartIdx]; - } - else if (oldEndVnode == null) { - oldEndVnode = oldCh[--oldEndIdx]; - } - else if (newStartVnode == null) { - newStartVnode = newCh[++newStartIdx]; - } - else if (newEndVnode == null) { - newEndVnode = newCh[--newEndIdx]; - } - else if (isSameVnode(oldStartVnode, newStartVnode)) { - patch(oldStartVnode, newStartVnode); - oldStartVnode = oldCh[++oldStartIdx]; - newStartVnode = newCh[++newStartIdx]; - } - else if (isSameVnode(oldEndVnode, newEndVnode)) { - patch(oldEndVnode, newEndVnode); - oldEndVnode = oldCh[--oldEndIdx]; - newEndVnode = newCh[--newEndIdx]; - } - else if (isSameVnode(oldStartVnode, newEndVnode)) { - // Vnode moved right - if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) { - putBackInOriginalLocation(oldStartVnode.$elm$.parentNode, false); - } - patch(oldStartVnode, newEndVnode); - parentElm.insertBefore(oldStartVnode.$elm$, oldEndVnode.$elm$.nextSibling); - oldStartVnode = oldCh[++oldStartIdx]; - newEndVnode = newCh[--newEndIdx]; - } - else if (isSameVnode(oldEndVnode, newStartVnode)) { - // Vnode moved left - if (BUILD.slotRelocation && (oldStartVnode.$tag$ === 'slot' || newEndVnode.$tag$ === 'slot')) { - putBackInOriginalLocation(oldEndVnode.$elm$.parentNode, false); - } - patch(oldEndVnode, newStartVnode); - parentElm.insertBefore(oldEndVnode.$elm$, oldStartVnode.$elm$); - oldEndVnode = oldCh[--oldEndIdx]; - newStartVnode = newCh[++newStartIdx]; - } - else { - // createKeyToOldIdx - idxInOld = -1; - if (BUILD.vdomKey) { - for (i = oldStartIdx; i <= oldEndIdx; ++i) { - if (oldCh[i] && oldCh[i].$key$ !== null && oldCh[i].$key$ === newStartVnode.$key$) { - idxInOld = i; - break; - } - } - } - if (BUILD.vdomKey && idxInOld >= 0) { - elmToMove = oldCh[idxInOld]; - if (elmToMove.$tag$ !== newStartVnode.$tag$) { - node = createElm(oldCh && oldCh[newStartIdx], newVNode, idxInOld, parentElm); - } - else { - patch(elmToMove, newStartVnode); - oldCh[idxInOld] = undefined; - node = elmToMove.$elm$; - } - newStartVnode = newCh[++newStartIdx]; - } - else { - // new element - node = createElm(oldCh && oldCh[newStartIdx], newVNode, newStartIdx, parentElm); - newStartVnode = newCh[++newStartIdx]; - } - if (node) { - if (BUILD.slotRelocation) { - parentReferenceNode(oldStartVnode.$elm$).insertBefore(node, referenceNode(oldStartVnode.$elm$)); - } - else { - oldStartVnode.$elm$.parentNode.insertBefore(node, oldStartVnode.$elm$); - } - } - } - } - if (oldStartIdx > oldEndIdx) { - addVnodes(parentElm, (newCh[newEndIdx + 1] == null ? null : newCh[newEndIdx + 1].$elm$), newVNode, newCh, newStartIdx, newEndIdx); - } - else if (BUILD.updatable && newStartIdx > newEndIdx) { - removeVnodes(oldCh, oldStartIdx, oldEndIdx); - } -}; -const isSameVnode = (vnode1, vnode2) => { - // compare if two vnode to see if they're "technically" the same - // need to have the same element tag, and same key to be the same - if (vnode1.$tag$ === vnode2.$tag$) { - if (BUILD.slotRelocation && vnode1.$tag$ === 'slot') { - return vnode1.$name$ === vnode2.$name$; - } - if (BUILD.vdomKey) { - return vnode1.$key$ === vnode2.$key$; - } - return true; - } - return false; -}; -const referenceNode = (node) => { - // this node was relocated to a new location in the dom - // because of some other component's slot - // but we still have an html comment in place of where - // it's original location was according to it's original vdom - return (node && node['s-ol']) || node; -}; -const parentReferenceNode = (node) => (node['s-ol'] ? node['s-ol'] : node).parentNode; -const patch = (oldVNode, newVNode) => { - const elm = newVNode.$elm$ = oldVNode.$elm$; - const oldChildren = oldVNode.$children$; - const newChildren = newVNode.$children$; - const tag = newVNode.$tag$; - const text = newVNode.$text$; - let defaultHolder; - if (!BUILD.vdomText || text === null) { - if (BUILD.svg) { - // test if we're rendering an svg element, or still rendering nodes inside of one - // only add this to the when the compiler sees we're using an svg somewhere - isSvgMode = (tag === 'svg') - ? true - : (tag === 'foreignObject') - ? false - : isSvgMode; - } - // element node - if (BUILD.vdomAttribute || BUILD.reflect) { - if (BUILD.slot && tag === 'slot') - ; - else { - // either this is the first render of an element OR it's an update - // AND we already know it's possible it could have changed - // this updates the element's css classes, attrs, props, listeners, etc. - updateElement(oldVNode, newVNode, isSvgMode); - } - } - if (BUILD.updatable && oldChildren !== null && newChildren !== null) { - // looks like there's child vnodes for both the old and new vnodes - updateChildren(elm, oldChildren, newVNode, newChildren); - } - else if (newChildren !== null) { - // no old child vnodes, but there are new child vnodes to add - if (BUILD.updatable && BUILD.vdomText && oldVNode.$text$ !== null) { - // the old vnode was text, so be sure to clear it out - elm.textContent = ''; - } - // add the new vnode children - addVnodes(elm, null, newVNode, newChildren, 0, newChildren.length - 1); - } - else if (BUILD.updatable && oldChildren !== null) { - // no new child vnodes, but there are old child vnodes to remove - removeVnodes(oldChildren, 0, oldChildren.length - 1); - } - if (BUILD.svg && isSvgMode && tag === 'svg') { - isSvgMode = false; - } - } - else if (BUILD.vdomText && BUILD.slotRelocation && (defaultHolder = elm['s-cr'])) { - // this element has slotted content - defaultHolder.parentNode.textContent = text; - } - else if (BUILD.vdomText && oldVNode.$text$ !== text) { - // update the text content for the text only vnode - // and also only if the text is different than before - elm.data = text; - } -}; -const updateFallbackSlotVisibility = (elm) => { - // tslint:disable-next-line: prefer-const - let childNodes = elm.childNodes; - let childNode; - let i; - let ilen; - let j; - let slotNameAttr; - let nodeType; - for (i = 0, ilen = childNodes.length; i < ilen; i++) { - childNode = childNodes[i]; - if (childNode.nodeType === 1 /* ElementNode */) { - if (childNode['s-sr']) { - // this is a slot fallback node - // get the slot name for this slot reference node - slotNameAttr = childNode['s-sn']; - // by default always show a fallback slot node - // then hide it if there are other slots in the light dom - childNode.hidden = false; - for (j = 0; j < ilen; j++) { - if (childNodes[j]['s-hn'] !== childNode['s-hn']) { - // this sibling node is from a different component - nodeType = childNodes[j].nodeType; - if (slotNameAttr !== '') { - // this is a named fallback slot node - if (nodeType === 1 /* ElementNode */ && slotNameAttr === childNodes[j].getAttribute('slot')) { - childNode.hidden = true; - break; - } - } - else { - // this is a default fallback slot node - // any element or text node (with content) - // should hide the default fallback slot node - if (nodeType === 1 /* ElementNode */ || (nodeType === 3 /* TextNode */ && childNodes[j].textContent.trim() !== '')) { - childNode.hidden = true; - break; - } - } - } - } - } - // keep drilling down - updateFallbackSlotVisibility(childNode); - } - } -}; -const relocateNodes = []; -const relocateSlotContent = (elm) => { - // tslint:disable-next-line: prefer-const - let childNode; - let node; - let hostContentNodes; - let slotNameAttr; - let relocateNodeData; - let j; - let i = 0; - let childNodes = elm.childNodes; - let ilen = childNodes.length; - for (; i < ilen; i++) { - childNode = childNodes[i]; - if (childNode['s-sr'] && (node = childNode['s-cr'])) { - // first got the content reference comment node - // then we got it's parent, which is where all the host content is in now - hostContentNodes = node.parentNode.childNodes; - slotNameAttr = childNode['s-sn']; - for (j = hostContentNodes.length - 1; j >= 0; j--) { - node = hostContentNodes[j]; - if (!node['s-cn'] && !node['s-nr'] && node['s-hn'] !== childNode['s-hn']) { - // let's do some relocating to its new home - // but never relocate a content reference node - // that is suppose to always represent the original content location - if (isNodeLocatedInSlot(node, slotNameAttr)) { - // it's possible we've already decided to relocate this node - relocateNodeData = relocateNodes.find(r => r.$nodeToRelocate$ === node); - // made some changes to slots - // let's make sure we also double check - // fallbacks are correctly hidden or shown - checkSlotFallbackVisibility = true; - node['s-sn'] = node['s-sn'] || slotNameAttr; - if (relocateNodeData) { - // previously we never found a slot home for this node - // but turns out we did, so let's remember it now - relocateNodeData.$slotRefNode$ = childNode; - } - else { - // add to our list of nodes to relocate - relocateNodes.push({ - $slotRefNode$: childNode, - $nodeToRelocate$: node, - }); - } - if (node['s-sr']) { - relocateNodes.forEach(relocateNode => { - if (isNodeLocatedInSlot(relocateNode.$nodeToRelocate$, node['s-sn'])) { - relocateNodeData = relocateNodes.find(r => r.$nodeToRelocate$ === node); - if (relocateNodeData) { - relocateNode.$slotRefNode$ = relocateNodeData.$slotRefNode$; - } - } - }); - } - } - else if (!relocateNodes.some(r => r.$nodeToRelocate$ === node)) { - // so far this element does not have a slot home, not setting slotRefNode on purpose - // if we never find a home for this element then we'll need to hide it - relocateNodes.push({ - $nodeToRelocate$: node, - }); - } - } - } - } - if (childNode.nodeType === 1 /* ElementNode */) { - relocateSlotContent(childNode); - } - } -}; -const isNodeLocatedInSlot = (nodeToRelocate, slotNameAttr) => { - if (nodeToRelocate.nodeType === 1 /* ElementNode */) { - if (nodeToRelocate.getAttribute('slot') === null && slotNameAttr === '') { - return true; - } - if (nodeToRelocate.getAttribute('slot') === slotNameAttr) { - return true; - } - return false; - } - if (nodeToRelocate['s-sn'] === slotNameAttr) { - return true; - } - return slotNameAttr === ''; -}; -const callNodeRefs = (vNode) => { - if (BUILD.vdomRef) { - vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null); - vNode.$children$ && vNode.$children$.forEach(callNodeRefs); - } -}; -const renderVdom = (hostElm, hostRef, cmpMeta, renderFnResults) => { - hostTagName = hostElm.tagName; - // runtime check - if (BUILD.isDev && Array.isArray(renderFnResults) && renderFnResults.some(isHost)) { - throw new Error(`The must be the single root component. -Looks like the render() function of "${hostTagName.toLowerCase()}" is returning an array that contains the . - -The render() function should look like this instead: - -render() { - // Do not return an array - return ( - {content} - ); -} -`); - } - const oldVNode = hostRef.$vnode$ || newVNode(null, null); - const rootVnode = isHost(renderFnResults) - ? renderFnResults - : h(null, null, renderFnResults); - if (BUILD.reflect && cmpMeta.$attrsToReflect$) { - rootVnode.$attrs$ = rootVnode.$attrs$ || {}; - cmpMeta.$attrsToReflect$.forEach(([propName, attribute]) => rootVnode.$attrs$[attribute] = hostElm[propName]); - } - rootVnode.$tag$ = null; - rootVnode.$flags$ |= 4 /* isHost */; - hostRef.$vnode$ = rootVnode; - rootVnode.$elm$ = oldVNode.$elm$ = (BUILD.shadowDom ? hostElm.shadowRoot || hostElm : hostElm); - if (BUILD.scoped || BUILD.shadowDom) { - scopeId = hostElm['s-sc']; - } - if (BUILD.slotRelocation) { - contentRef = hostElm['s-cr']; - useNativeShadowDom = supportsShadowDom && (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) !== 0; - // always reset - checkSlotFallbackVisibility = false; - } - // synchronous patch - patch(oldVNode, rootVnode); - if (BUILD.slotRelocation) { - if (checkSlotRelocate) { - relocateSlotContent(rootVnode.$elm$); - let relocateData; - let nodeToRelocate; - let orgLocationNode; - let parentNodeRef; - let insertBeforeNode; - let refNode; - let i = 0; - for (; i < relocateNodes.length; i++) { - relocateData = relocateNodes[i]; - nodeToRelocate = relocateData.$nodeToRelocate$; - if (!nodeToRelocate['s-ol']) { - // add a reference node marking this node's original location - // keep a reference to this node for later lookups - orgLocationNode = (BUILD.isDebug || BUILD.hydrateServerSide) - ? originalLocationDebugNode(nodeToRelocate) - : doc.createTextNode(''); - orgLocationNode['s-nr'] = nodeToRelocate; - nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate); - } - } - // while we're moving nodes around existing nodes, temporarily disable - // the disconnectCallback from working - plt.$flags$ |= 1 /* isTmpDisconnected */; - for (i = 0; i < relocateNodes.length; i++) { - relocateData = relocateNodes[i]; - nodeToRelocate = relocateData.$nodeToRelocate$; - if (relocateData.$slotRefNode$) { - // by default we're just going to insert it directly - // after the slot reference node - parentNodeRef = relocateData.$slotRefNode$.parentNode; - insertBeforeNode = relocateData.$slotRefNode$.nextSibling; - orgLocationNode = nodeToRelocate['s-ol']; - while (orgLocationNode = orgLocationNode.previousSibling) { - refNode = orgLocationNode['s-nr']; - if (refNode && - refNode['s-sn'] === nodeToRelocate['s-sn'] && - parentNodeRef === refNode.parentNode) { - refNode = refNode.nextSibling; - if (!refNode || !refNode['s-nr']) { - insertBeforeNode = refNode; - break; - } - } - } - if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) || - (nodeToRelocate.nextSibling !== insertBeforeNode)) { - // we've checked that it's worth while to relocate - // since that the node to relocate - // has a different next sibling or parent relocated - if (nodeToRelocate !== insertBeforeNode) { - if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) { - // probably a component in the index.html that doesn't have it's hostname set - nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName; - } - // add it back to the dom but in its new home - parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode); - } - } - } - else { - // this node doesn't have a slot home to go to, so let's hide it - if (nodeToRelocate.nodeType === 1 /* ElementNode */) { - nodeToRelocate.hidden = true; - } - } - } - // done moving nodes around - // allow the disconnect callback to work again - plt.$flags$ &= ~1 /* isTmpDisconnected */; - } - if (checkSlotFallbackVisibility) { - updateFallbackSlotVisibility(rootVnode.$elm$); - } - // always reset - relocateNodes.length = 0; - } -}; -// slot comment debug nodes only created with the `--debug` flag -// otherwise these nodes are text nodes w/out content -const slotReferenceDebugNode = (slotVNode) => doc.createComment(` (host=${hostTagName.toLowerCase()})`); -const originalLocationDebugNode = (nodeToRelocate) => doc.createComment(`org-location for ` + - (nodeToRelocate.localName ? - `<${nodeToRelocate.localName}> (host=${nodeToRelocate['s-hn']})` : - `[${nodeToRelocate.textContent}]`)); -const attachToAncestor = (hostRef, ancestorComponent) => { - if (BUILD.asyncLoading && ancestorComponent && !hostRef.$onRenderResolve$) { - ancestorComponent['s-p'].push(new Promise(r => hostRef.$onRenderResolve$ = r)); - } -}; -const scheduleUpdate = (elm, hostRef, cmpMeta, isInitialLoad) => { - if (BUILD.taskQueue && BUILD.updatable) { - hostRef.$flags$ |= 16 /* isQueuedForUpdate */; - } - if (BUILD.asyncLoading && hostRef.$flags$ & 4 /* isWaitingForChildren */) { - hostRef.$flags$ |= 512 /* needsRerender */; - return; - } - const endSchedule = createTime('scheduleUpdate', cmpMeta.$tagName$); - const ancestorComponent = hostRef.$ancestorComponent$; - const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm; - const update = () => updateComponent(elm, hostRef, cmpMeta, instance, isInitialLoad); - attachToAncestor(hostRef, ancestorComponent); - let promise; - if (isInitialLoad) { - if (BUILD.lazyLoad && BUILD.hostListener) { - hostRef.$flags$ |= 256 /* isListenReady */; - if (hostRef.$queuedListeners$) { - hostRef.$queuedListeners$.forEach(([methodName, event]) => safeCall(instance, methodName, event)); - hostRef.$queuedListeners$ = null; - } - } - emitLifecycleEvent(elm, 'componentWillLoad'); - if (BUILD.cmpWillLoad) { - promise = safeCall(instance, 'componentWillLoad'); - } - } - else { - emitLifecycleEvent(elm, 'componentWillUpdate'); - if (BUILD.cmpWillUpdate) { - promise = safeCall(instance, 'componentWillUpdate'); - } - } - emitLifecycleEvent(elm, 'componentWillRender'); - if (BUILD.cmpWillRender) { - promise = then(promise, () => safeCall(instance, 'componentWillRender')); - } - endSchedule(); - // there is no ancestorc omponent or the ancestor component - // has already fired off its lifecycle update then - // fire off the initial update - return then(promise, BUILD.taskQueue - ? () => writeTask(update) - : update); -}; -const updateComponent = (elm, hostRef, cmpMeta, instance, isInitialLoad) => { - // updateComponent - const endUpdate = createTime('update', cmpMeta.$tagName$); - const rc = elm['s-rc']; - if (BUILD.style && isInitialLoad) { - // DOM WRITE! - attachStyles(elm, cmpMeta, hostRef.$modeName$); - } - const endRender = createTime('render', cmpMeta.$tagName$); - if (BUILD.isDev) { - hostRef.$flags$ |= 1024 /* devOnRender */; - } - if (BUILD.hasRenderFn || BUILD.reflect) { - if (BUILD.vdomRender || BUILD.reflect) { - // looks like we've got child nodes to render into this host element - // or we need to update the css class/attrs on the host element - // DOM WRITE! - renderVdom(elm, hostRef, cmpMeta, callRender(instance, elm)); - } - else { - elm.textContent = callRender(instance, elm); - } - } - if (BUILD.cssVarShim && plt.$cssShim$) { - plt.$cssShim$.updateHost(elm); - } - if (BUILD.isDev) { - hostRef.$renderCount$++; - hostRef.$flags$ &= ~1024 /* devOnRender */; - } - if (BUILD.updatable && BUILD.taskQueue) { - hostRef.$flags$ &= ~16 /* isQueuedForUpdate */; - } - if (BUILD.hydrateServerSide) { - try { - // manually connected child components during server-side hydrate - serverSideConnected(elm); - if (isInitialLoad) { - // using only during server-side hydrate - if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) { - elm['s-en'] = ''; - } - else if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) { - elm['s-en'] = 'c'; - } - } - } - catch (e) { - consoleError(e); - } - } - if (BUILD.updatable || BUILD.lazyLoad) { - hostRef.$flags$ |= 2 /* hasRendered */; - } - if (BUILD.asyncLoading && rc) { - // ok, so turns out there are some child host elements - // waiting on this parent element to load - // let's fire off all update callbacks waiting - rc.forEach(cb => cb()); - elm['s-rc'] = undefined; - } - endRender(); - endUpdate(); - if (BUILD.asyncLoading) { - const childrenPromises = elm['s-p']; - const postUpdate = () => postUpdateComponent(elm, hostRef, cmpMeta); - if (childrenPromises.length === 0) { - postUpdate(); - } - else { - Promise.all(childrenPromises).then(postUpdate); - hostRef.$flags$ |= 4 /* isWaitingForChildren */; - childrenPromises.length = 0; - } - } - else { - postUpdateComponent(elm, hostRef, cmpMeta); - } -}; -const callRender = (instance, elm) => { - try { - renderingElement = elm; - instance = (BUILD.allRenderFn) ? instance.render() : (instance.render && instance.render()); - } - catch (e) { - consoleError(e); - } - renderingElement = null; - return instance; -}; -const getRenderingElement = () => renderingElement; -const postUpdateComponent = (elm, hostRef, cmpMeta) => { - const endPostUpdate = createTime('postUpdate', cmpMeta.$tagName$); - const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm; - const ancestorComponent = hostRef.$ancestorComponent$; - if (BUILD.cmpDidRender) { - if (BUILD.isDev) { - hostRef.$flags$ |= 1024 /* devOnRender */; - } - safeCall(instance, 'componentDidRender'); - if (BUILD.isDev) { - hostRef.$flags$ &= ~1024 /* devOnRender */; - } - } - emitLifecycleEvent(elm, 'componentDidRender'); - if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) { - hostRef.$flags$ |= 64 /* hasLoadedComponent */; - if (BUILD.asyncLoading && BUILD.cssAnnotations) { - // DOM WRITE! - addHydratedFlag(elm); - } - if (BUILD.cmpDidLoad) { - if (BUILD.isDev) { - hostRef.$flags$ |= 2048 /* devOnDidLoad */; - } - safeCall(instance, 'componentDidLoad'); - if (BUILD.isDev) { - hostRef.$flags$ &= ~2048 /* devOnDidLoad */; - } - } - emitLifecycleEvent(elm, 'componentDidLoad'); - endPostUpdate(); - if (BUILD.asyncLoading) { - hostRef.$onReadyResolve$(elm); - if (!ancestorComponent) { - appDidLoad(cmpMeta.$tagName$); - } - } - } - else { - if (BUILD.cmpDidUpdate) { - // we've already loaded this component - // fire off the user's componentDidUpdate method (if one was provided) - // componentDidUpdate runs AFTER render() has been called - // and all child components have finished updating - if (BUILD.isDev) { - hostRef.$flags$ |= 1024 /* devOnRender */; - } - safeCall(instance, 'componentDidUpdate'); - if (BUILD.isDev) { - hostRef.$flags$ &= ~1024 /* devOnRender */; - } - } - emitLifecycleEvent(elm, 'componentDidUpdate'); - endPostUpdate(); - } - if (BUILD.hotModuleReplacement) { - elm['s-hmr-load'] && elm['s-hmr-load'](); - } - if (BUILD.method && BUILD.lazyLoad) { - hostRef.$onInstanceResolve$(elm); - } - // load events fire from bottom to top - // the deepest elements load first then bubbles up - if (BUILD.asyncLoading) { - if (hostRef.$onRenderResolve$) { - hostRef.$onRenderResolve$(); - hostRef.$onRenderResolve$ = undefined; - } - if (hostRef.$flags$ & 512 /* needsRerender */) { - nextTick(() => scheduleUpdate(elm, hostRef, cmpMeta, false)); - } - hostRef.$flags$ &= ~(4 /* isWaitingForChildren */ | 512 /* needsRerender */); - } - // ( •_•) - // ( •_•)>âŒâ– -â–  - // (âŒâ– _â– ) -}; -const forceUpdate = (elm, cmpMeta) => { - if (BUILD.updatable) { - const hostRef = getHostRef(elm); - const isConnected = hostRef.$hostElement$.isConnected; - if (isConnected && (hostRef.$flags$ & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) { - scheduleUpdate(elm, hostRef, cmpMeta, false); - } - // Returns "true" when the forced update was successfully scheduled - return isConnected; - } - return false; -}; -const appDidLoad = (who) => { - // on appload - // we have finish the first big initial render - if (BUILD.cssAnnotations) { - addHydratedFlag(doc.documentElement); - } - if (!BUILD.hydrateServerSide) { - plt.$flags$ |= 2 /* appLoaded */; - } - emitLifecycleEvent(doc, 'appload'); - if (BUILD.profile) { - performance.measure(`[Stencil] ${NAMESPACE} initial load (by ${who})`, 'st:app:start'); - } -}; -const safeCall = (instance, method, arg) => { - if (instance && instance[method]) { - try { - return instance[method](arg); - } - catch (e) { - consoleError(e); - } - } - return undefined; -}; -const then = (promise, thenFn) => { - return promise && promise.then ? promise.then(thenFn) : thenFn(); -}; -const emitLifecycleEvent = (elm, lifecycleName) => { - if (BUILD.lifecycleDOMEvents) { - elm.dispatchEvent(new CustomEvent('stencil_' + lifecycleName, { 'bubbles': true, 'composed': true })); - } -}; -const addHydratedFlag = (elm) => BUILD.hydratedClass ? - elm.classList.add('hydrated') : - BUILD.hydratedAttribute ? - elm.setAttribute('hydrated', '') : - undefined; -const serverSideConnected = (elm) => { - const children = elm.children; - if (children != null) { - for (let i = 0, ii = children.length; i < ii; i++) { - const childElm = children[i]; - if (typeof childElm.connectedCallback === 'function') { - childElm.connectedCallback(); - } - serverSideConnected(childElm); - } - } -}; -const cloneNodeFix = (HostElementPrototype) => { - const orgCloneNode = HostElementPrototype.cloneNode; - HostElementPrototype.cloneNode = function (deep) { - const srcNode = this; - const isShadowDom = BUILD.shadowDom ? srcNode.shadowRoot && supportsShadowDom : false; - const clonedNode = orgCloneNode.call(srcNode, isShadowDom ? deep : false); - if (BUILD.slot && !isShadowDom && deep) { - let i = 0; - let slotted; - for (; i < srcNode.childNodes.length; i++) { - slotted = srcNode.childNodes[i]['s-nr']; - if (slotted) { - if (BUILD.appendChildSlotFix && clonedNode.__appendChild) { - clonedNode.__appendChild(slotted.cloneNode(true)); - } - else { - clonedNode.appendChild(slotted.cloneNode(true)); - } - } - } - } - return clonedNode; - }; -}; -const appendChildSlotFix = (HostElementPrototype) => { - HostElementPrototype.__appendChild = HostElementPrototype.appendChild; - HostElementPrototype.appendChild = function (newChild) { - const slotName = newChild['s-sn'] = getSlotName(newChild); - const slotNode = getHostSlotNode(this, slotName); - if (slotNode) { - const slotChildNodes = getHostSlotChildNodes(slotNode, slotName); - const appendAfter = slotChildNodes[slotChildNodes.length - 1]; - return appendAfter.parentNode.insertBefore(newChild, appendAfter.nextSibling); - } - return this.__appendChild(newChild); - }; -}; -const getSlotName = (node) => (node['s-sn']) || - (node.nodeType === 1 && node.getAttribute('slot')) || ''; -const getHostSlotNode = (elm, slotName) => { - let childNodes = elm.childNodes; - let i = 0; - let childNode; - for (; i < childNodes.length; i++) { - childNode = childNodes[i]; - if (childNode['s-sr'] && childNode['s-sn'] === slotName) { - return childNode; - } - childNode = getHostSlotNode(childNode, slotName); - if (childNode) { - return childNode; - } - } - return null; -}; -const getHostSlotChildNodes = (n, slotName) => { - const childNodes = [n]; - while ((n = n.nextSibling) && n['s-sn'] === slotName) { - childNodes.push(n); - } - return childNodes; -}; -const addEventListeners = (elm, hostRef, listeners) => { - hostRef.$queuedListeners$ = hostRef.$queuedListeners$ || []; - const removeFns = listeners.map(([flags, name, method]) => { - const target = (BUILD.hostListenerTarget ? getHostListenerTarget(elm, flags) : elm); - const handler = hostListenerProxy(hostRef, method); - const opts = hostListenerOpts(flags); - plt.ael(target, name, handler, opts); - return () => plt.rel(target, name, handler, opts); - }); - return () => removeFns.forEach(fn => fn()); -}; -const hostListenerProxy = (hostRef, methodName) => { - return (ev) => { - if (BUILD.lazyLoad) { - if (hostRef.$flags$ & 256 /* isListenReady */) { - // instance is ready, let's call it's member method for this event - hostRef.$lazyInstance$[methodName](ev); - } - else { - hostRef.$queuedListeners$.push([methodName, ev]); - } - } - else { - hostRef.$hostElement$[methodName](ev); - } - }; -}; -const getHostListenerTarget = (elm, flags) => { - if (BUILD.hostListenerTargetDocument && flags & 4 /* TargetDocument */) - return doc; - if (BUILD.hostListenerTargetWindow && flags & 8 /* TargetWindow */) - return win; - if (BUILD.hostListenerTargetBody && flags & 32 /* TargetBody */) - return doc.body; - if (BUILD.hostListenerTargetParent && flags & 16 /* TargetParent */) - return elm.parentElement; - return elm; -}; -const hostListenerOpts = (flags) => supportsListenerOptions ? - { - 'passive': (flags & 1 /* Passive */) !== 0, - 'capture': (flags & 2 /* Capture */) !== 0, - } - : (flags & 2 /* Capture */) !== 0; -const initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => { - const endHydrate = createTime('hydrateClient', tagName); - const shadowRoot = hostElm.shadowRoot; - const childRenderNodes = []; - const slotNodes = []; - const shadowRootNodes = (BUILD.shadowDom && shadowRoot ? [] : null); - const vnode = hostRef.$vnode$ = newVNode(tagName, null); - if (!plt.$orgLocNodes$) { - initializeDocumentHydrate(doc.body, plt.$orgLocNodes$ = new Map()); - } - hostElm[HYDRATE_ID] = hostId; - hostElm.removeAttribute(HYDRATE_ID); - clientHydrate(vnode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, hostElm, hostId); - childRenderNodes.forEach(c => { - const orgLocationId = c.$hostId$ + '.' + c.$nodeId$; - const orgLocationNode = plt.$orgLocNodes$.get(orgLocationId); - const node = c.$elm$; - if (orgLocationNode && (supportsShadowDom && orgLocationNode['s-en'] === '')) { - orgLocationNode.parentNode.insertBefore(node, orgLocationNode.nextSibling); - } - if (!shadowRoot) { - node['s-hn'] = tagName; - if (orgLocationNode) { - node['s-ol'] = orgLocationNode; - node['s-ol']['s-nr'] = node; - } - } - plt.$orgLocNodes$.delete(orgLocationId); - }); - if (BUILD.shadowDom && shadowRoot) { - shadowRootNodes.forEach(shadowRootNode => { - if (shadowRootNode) { - shadowRoot.appendChild(shadowRootNode); - } - }); - } - endHydrate(); -}; -const clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node, hostId) => { - let childNodeType; - let childIdSplt; - let childVNode; - let i; - if (node.nodeType === 1 /* ElementNode */) { - childNodeType = node.getAttribute(HYDRATE_CHILD_ID); - if (childNodeType) { - // got the node data from the element's attribute - // `${hostId}.${nodeId}.${depth}.${index}` - childIdSplt = childNodeType.split('.'); - if (childIdSplt[0] === hostId || childIdSplt[0] === '0') { - childVNode = { - $flags$: 0, - $hostId$: childIdSplt[0], - $nodeId$: childIdSplt[1], - $depth$: childIdSplt[2], - $index$: childIdSplt[3], - $tag$: node.tagName.toLowerCase(), - $elm$: node, - $attrs$: null, - $children$: null, - $key$: null, - $name$: null, - $text$: null - }; - childRenderNodes.push(childVNode); - node.removeAttribute(HYDRATE_CHILD_ID); - // this is a new child vnode - // so ensure its parent vnode has the vchildren array - if (!parentVNode.$children$) { - parentVNode.$children$ = []; - } - // add our child vnode to a specific index of the vnode's children - parentVNode.$children$[childVNode.$index$] = childVNode; - // this is now the new parent vnode for all the next child checks - parentVNode = childVNode; - if (shadowRootNodes && childVNode.$depth$ === '0') { - shadowRootNodes[childVNode.$index$] = childVNode.$elm$; - } - } - } - // recursively drill down, end to start so we can remove nodes - for (i = node.childNodes.length - 1; i >= 0; i--) { - clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.childNodes[i], hostId); - } - if (node.shadowRoot) { - // keep drilling down through the shadow root nodes - for (i = node.shadowRoot.childNodes.length - 1; i >= 0; i--) { - clientHydrate(parentVNode, childRenderNodes, slotNodes, shadowRootNodes, hostElm, node.shadowRoot.childNodes[i], hostId); - } - } - } - else if (node.nodeType === 8 /* CommentNode */) { - // `${COMMENT_TYPE}.${hostId}.${nodeId}.${depth}.${index}` - childIdSplt = node.nodeValue.split('.'); - if (childIdSplt[1] === hostId || childIdSplt[1] === '0') { - // comment node for either the host id or a 0 host id - childNodeType = childIdSplt[0]; - childVNode = { - $flags$: 0, - $hostId$: childIdSplt[1], - $nodeId$: childIdSplt[2], - $depth$: childIdSplt[3], - $index$: childIdSplt[4], - $elm$: node, - $attrs$: null, - $children$: null, - $key$: null, - $name$: null, - $tag$: null, - $text$: null - }; - if (childNodeType === TEXT_NODE_ID) { - childVNode.$elm$ = node.nextSibling; - if (childVNode.$elm$ && childVNode.$elm$.nodeType === 3 /* TextNode */) { - childVNode.$text$ = childVNode.$elm$.textContent; - childRenderNodes.push(childVNode); - // remove the text comment since it's no longer needed - node.remove(); - if (!parentVNode.$children$) { - parentVNode.$children$ = []; - } - parentVNode.$children$[childVNode.$index$] = childVNode; - if (shadowRootNodes && childVNode.$depth$ === '0') { - shadowRootNodes[childVNode.$index$] = childVNode.$elm$; - } - } - } - else if (childVNode.$hostId$ === hostId) { - // this comment node is specifcally for this host id - if (childNodeType === SLOT_NODE_ID) { - // `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`; - childVNode.$tag$ = 'slot'; - if (childIdSplt[5]) { - node['s-sn'] = childVNode.$name$ = childIdSplt[5]; - } - else { - node['s-sn'] = ''; - } - node['s-sr'] = true; - if (BUILD.shadowDom && shadowRootNodes) { - // browser support shadowRoot and this is a shadow dom component - // create an actual slot element - childVNode.$elm$ = doc.createElement(childVNode.$tag$); - if (childVNode.$name$) { - // add the slot name attribute - childVNode.$elm$.setAttribute('name', childVNode.$name$); - } - // insert the new slot element before the slot comment - node.parentNode.insertBefore(childVNode.$elm$, node); - // remove the slot comment since it's not needed for shadow - node.remove(); - if (childVNode.$depth$ === '0') { - shadowRootNodes[childVNode.$index$] = childVNode.$elm$; - } - } - slotNodes.push(childVNode); - if (!parentVNode.$children$) { - parentVNode.$children$ = []; - } - parentVNode.$children$[childVNode.$index$] = childVNode; - } - else if (childNodeType === CONTENT_REF_ID) { - // `${CONTENT_REF_ID}.${hostId}`; - if (BUILD.shadowDom && shadowRootNodes) { - // remove the content ref comment since it's not needed for shadow - node.remove(); - } - else if (BUILD.slotRelocation) { - hostElm['s-cr'] = node; - node['s-cn'] = true; - } - } - } - } - } - else if (parentVNode && parentVNode.$tag$ === 'style') { - const vnode = newVNode(null, node.textContent); - vnode.$elm$ = node; - vnode.$index$ = '0'; - parentVNode.$children$ = [vnode]; - } -}; -const initializeDocumentHydrate = (node, orgLocNodes) => { - if (node.nodeType === 1 /* ElementNode */) { - let i = 0; - for (; i < node.childNodes.length; i++) { - initializeDocumentHydrate(node.childNodes[i], orgLocNodes); - } - if (node.shadowRoot) { - for (i = 0; i < node.shadowRoot.childNodes.length; i++) { - initializeDocumentHydrate(node.shadowRoot.childNodes[i], orgLocNodes); - } - } - } - else if (node.nodeType === 8 /* CommentNode */) { - const childIdSplt = node.nodeValue.split('.'); - if (childIdSplt[0] === ORG_LOCATION_ID) { - orgLocNodes.set(childIdSplt[1] + '.' + childIdSplt[2], node); - node.nodeValue = ''; - // useful to know if the original location is - // the root light-dom of a shadow dom component - node['s-en'] = childIdSplt[3]; - } - } -}; -const parsePropertyValue = (propValue, propType) => { - // ensure this value is of the correct prop type - if (propValue != null && !isComplexType(propValue)) { - if (BUILD.propBoolean && propType & 4 /* Boolean */) { - // per the HTML spec, any string value means it is a boolean true value - // but we'll cheat here and say that the string "false" is the boolean false - return (propValue === 'false' ? false : propValue === '' || !!propValue); - } - if (BUILD.propNumber && propType & 2 /* Number */) { - // force it to be a number - return parseFloat(propValue); - } - if (BUILD.propString && propType & 1 /* String */) { - // could have been passed as a number or boolean - // but we still want it as a string - return String(propValue); - } - // redundant return here for better minification - return propValue; - } - // not sure exactly what type we want - // so no need to change to a different type - return propValue; -}; -const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName); -const setValue = (ref, propName, newVal, cmpMeta) => { - // check our new property value against our internal value - const hostRef = getHostRef(ref); - const elm = BUILD.lazyLoad ? hostRef.$hostElement$ : ref; - const oldVal = hostRef.$instanceValues$.get(propName); - const flags = hostRef.$flags$; - const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm; - newVal = parsePropertyValue(newVal, cmpMeta.$members$[propName][0]); - if (newVal !== oldVal && (!BUILD.lazyLoad || !(flags & 8 /* isConstructingInstance */) || oldVal === undefined)) { - // gadzooks! the property's value has changed!! - // set our new value! - hostRef.$instanceValues$.set(propName, newVal); - if (BUILD.isDev) { - if (hostRef.$flags$ & 1024 /* devOnRender */) { - consoleDevWarn(`The state/prop "${propName}" changed during rendering. This can potentially lead to infinite-loops and other bugs.`, '\nElement', elm, '\nNew value', newVal, '\nOld value', oldVal); - } - else if (hostRef.$flags$ & 2048 /* devOnDidLoad */) { - consoleDevWarn(`The state/prop "${propName}" changed during "componentDidLoad()", this triggers extra re-renders, try to setup on "componentWillLoad()"`, '\nElement', elm, '\nNew value', newVal, '\nOld value', oldVal); - } - } - if (!BUILD.lazyLoad || instance) { - // get an array of method names of watch functions to call - if (BUILD.watchCallback && cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) { - const watchMethods = cmpMeta.$watchers$[propName]; - if (watchMethods) { - // this instance is watching for when this property changed - watchMethods.forEach(watchMethodName => { - try { - // fire off each of the watch methods that are watching this property - instance[watchMethodName](newVal, oldVal, propName); - } - catch (e) { - consoleError(e); - } - }); - } - } - if (BUILD.updatable && (flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) { - if (BUILD.cmpShouldUpdate && instance.componentShouldUpdate) { - if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) { - return; - } - } - // looks like this value actually changed, so we've got work to do! - // but only if we've already rendered, otherwise just chill out - // queue that we need to do an update, but don't worry about queuing - // up millions cuz this function ensures it only runs once - scheduleUpdate(elm, hostRef, cmpMeta, false); - } - } - } -}; -const proxyComponent = (Cstr, cmpMeta, flags) => { - if (BUILD.member && cmpMeta.$members$) { - if (BUILD.watchCallback && Cstr.watchers) { - cmpMeta.$watchers$ = Cstr.watchers; - } - // It's better to have a const than two Object.entries() - const members = Object.entries(cmpMeta.$members$); - const prototype = Cstr.prototype; - members.forEach(([memberName, [memberFlags]]) => { - if ((BUILD.prop || BUILD.state) && ((memberFlags & 31 /* Prop */) || - ((!BUILD.lazyLoad || flags & 2 /* proxyState */) && - (memberFlags & 32 /* State */)))) { - // proxyComponent - prop - Object.defineProperty(prototype, memberName, { - get() { - // proxyComponent, get value - return getValue(this, memberName); - }, - set(newValue) { - if ( - // only during dev time - (BUILD.isDev) && - // we are proxing the instance (not element) - (flags & 1 /* isElementConstructor */) === 0 && - // the member is a non-mutable prop - (memberFlags & (31 /* Prop */ | 1024 /* Mutable */)) === 31 /* Prop */) { - consoleDevWarn(`@Prop() "${memberName}" on "${cmpMeta.$tagName$}" cannot be modified.\nFurther information: https://stenciljs.com/docs/properties#prop-mutability`); - } - // proxyComponent, set value - setValue(this, memberName, newValue, cmpMeta); - }, - configurable: true, - enumerable: true - }); - } - else if (BUILD.lazyLoad && BUILD.method && (flags & 1 /* isElementConstructor */) && (memberFlags & 64 /* Method */)) { - // proxyComponent - method - Object.defineProperty(prototype, memberName, { - value(...args) { - const ref = getHostRef(this); - return ref.$onInstancePromise$.then(() => ref.$lazyInstance$[memberName](...args)); - } - }); - } - }); - if (BUILD.observeAttribute && (!BUILD.lazyLoad || flags & 1 /* isElementConstructor */)) { - const attrNameToPropName = new Map(); - prototype.attributeChangedCallback = function (attrName, _oldValue, newValue) { - plt.jmp(() => { - const propName = attrNameToPropName.get(attrName); - this[propName] = newValue === null && typeof this[propName] === 'boolean' - ? false - : newValue; - }); - }; - // create an array of attributes to observe - // and also create a map of html attribute name to js property name - Cstr.observedAttributes = members - .filter(([_, m]) => m[0] & 15 /* HasAttribute */) // filter to only keep props that should match attributes - .map(([propName, m]) => { - const attrName = m[1] || propName; - attrNameToPropName.set(attrName, propName); - if (BUILD.reflect && m[0] & 512 /* ReflectAttr */) { - cmpMeta.$attrsToReflect$.push([propName, attrName]); - } - return attrName; - }); - } - } - return Cstr; -}; -const modeResolutionChain = []; -const computeMode = (elm) => modeResolutionChain.map(h => h(elm)).find(m => !!m); -// Public -const setMode = (handler) => modeResolutionChain.push(handler); -const getMode = (ref) => getHostRef(ref).$modeName$; -const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) => { - // initializeComponent - if ((BUILD.lazyLoad || BUILD.style) && (hostRef.$flags$ & 32 /* hasInitializedComponent */) === 0) { - // we haven't initialized this element yet - hostRef.$flags$ |= 32 /* hasInitializedComponent */; - if (BUILD.mode && hostRef.$modeName$ == null) { - // initializeComponent - // looks like mode wasn't set as a property directly yet - // first check if there's an attribute - // next check the app's global - hostRef.$modeName$ = typeof cmpMeta.$lazyBundleIds$ !== 'string' ? computeMode(elm) : ''; - } - if (BUILD.hydrateServerSide && hostRef.$modeName$) { - elm.setAttribute('s-mode', hostRef.$modeName$); - } - if (BUILD.lazyLoad) { - // lazy loaded components - // request the component's implementation to be - // wired up with the host element - Cstr = loadModule(cmpMeta, hostRef, hmrVersionId); - if (Cstr.then) { - // Await creates a micro-task avoid if possible - const endLoad = uniqueTime(`st:load:${cmpMeta.$tagName$}:${hostRef.$modeName$}`, `[Stencil] Load module for <${cmpMeta.$tagName$}>`); - Cstr = await Cstr; - endLoad(); - } - if ((BUILD.isDev || BUILD.isDebug) && !Cstr) { - throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`); - } - if (BUILD.member && !Cstr.isProxied) { - // we'eve never proxied this Constructor before - // let's add the getters/setters to its prototype before - // the first time we create an instance of the implementation - if (BUILD.watchCallback) { - cmpMeta.$watchers$ = Cstr.watchers; - } - proxyComponent(Cstr, cmpMeta, 2 /* proxyState */); - Cstr.isProxied = true; - } - const endNewInstance = createTime('createInstance', cmpMeta.$tagName$); - // ok, time to construct the instance - // but let's keep track of when we start and stop - // so that the getters/setters don't incorrectly step on data - if (BUILD.member) { - hostRef.$flags$ |= 8 /* isConstructingInstance */; - } - // construct the lazy-loaded component implementation - // passing the hostRef is very important during - // construction in order to directly wire together the - // host element and the lazy-loaded instance - try { - new Cstr(hostRef); - } - catch (e) { - consoleError(e); - } - if (BUILD.member) { - hostRef.$flags$ &= ~8 /* isConstructingInstance */; - } - if (BUILD.watchCallback) { - hostRef.$flags$ |= 128 /* isWatchReady */; - } - endNewInstance(); - fireConnectedCallback(hostRef.$lazyInstance$); - } - else { - Cstr = elm.constructor; - } - const scopeId = BUILD.mode ? getScopeId(cmpMeta.$tagName$, hostRef.$modeName$) : getScopeId(cmpMeta.$tagName$); - if (BUILD.style && !styles.has(scopeId) && Cstr.style) { - const endRegisterStyles = createTime('registerStyles', cmpMeta.$tagName$); - // this component has styles but we haven't registered them yet - let style = Cstr.style; - if (BUILD.mode && typeof style !== 'string') { - style = style[hostRef.$modeName$]; - } - if (!BUILD.hydrateServerSide && BUILD.shadowDom && BUILD.shadowDomShim && cmpMeta.$flags$ & 8 /* needsShadowDomShim */) { - style = await __sc_import_gc_components('./shadow-css-d7d058ec-d59cb009.js').then(m => m.scopeCss(style, scopeId, false)); - } - registerStyle(scopeId, style, !!(cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */)); - endRegisterStyles(); - } - } - // we've successfully created a lazy instance - const ancestorComponent = hostRef.$ancestorComponent$; - const schedule = () => scheduleUpdate(elm, hostRef, cmpMeta, true); - if (BUILD.asyncLoading && ancestorComponent && ancestorComponent['s-rc']) { - // this is the intial load and this component it has an ancestor component - // but the ancestor component has NOT fired its will update lifecycle yet - // so let's just cool our jets and wait for the ancestor to continue first - // this will get fired off when the ancestor component - // finally gets around to rendering its lazy self - // fire off the initial update - ancestorComponent['s-rc'].push(schedule); - } - else { - schedule(); - } -}; -const fireConnectedCallback = (instance) => { - if (BUILD.lazyLoad && BUILD.connectedCallback) { - safeCall(instance, 'connectedCallback'); - } -}; -const connectedCallback = (elm, cmpMeta) => { - if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) { - const endConnected = createTime('connectedCallback', cmpMeta.$tagName$); - // connectedCallback - const hostRef = getHostRef(elm); - if (BUILD.hostListener && cmpMeta.$listeners$) { - // initialize our event listeners on the host element - // we do this now so that we can listening to events that may - // have fired even before the instance is ready - hostRef.$rmListeners$ = addEventListeners(elm, hostRef, cmpMeta.$listeners$); - } - if (!(hostRef.$flags$ & 1 /* hasConnected */)) { - // first time this component has connected - hostRef.$flags$ |= 1 /* hasConnected */; - let hostId; - if (BUILD.hydrateClientSide) { - hostId = elm.getAttribute(HYDRATE_ID); - if (hostId) { - if (BUILD.shadowDom && supportsShadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) { - const scopeId = BUILD.mode ? addStyle(elm.shadowRoot, cmpMeta, elm.getAttribute('s-mode')) : addStyle(elm.shadowRoot, cmpMeta); - elm.classList.remove(scopeId + '-h', scopeId + '-s'); - } - initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef); - } - } - if (BUILD.slotRelocation && !hostId) { - // initUpdate - // if the slot polyfill is required we'll need to put some nodes - // in here to act as original content anchors as we move nodes around - // host element has been connected to the DOM - if ((BUILD.hydrateServerSide) || - (BUILD.slot && cmpMeta.$flags$ & 4 /* hasSlotRelocation */) || - (BUILD.shadowDom && cmpMeta.$flags$ & 8 /* needsShadowDomShim */)) { - setContentReference(elm); - } - } - if (BUILD.asyncLoading) { - // find the first ancestor component (if there is one) and register - // this component as one of the actively loading child components for its ancestor - let ancestorComponent = elm; - while ((ancestorComponent = (ancestorComponent.parentNode || ancestorComponent.host))) { - // climb up the ancestors looking for the first - // component that hasn't finished its lifecycle update yet - if ((BUILD.hydrateClientSide && ancestorComponent.nodeType === 1 /* ElementNode */ && ancestorComponent.hasAttribute('s-id')) || - (ancestorComponent['s-p'])) { - // we found this components first ancestor component - // keep a reference to this component's ancestor component - attachToAncestor(hostRef, (hostRef.$ancestorComponent$ = ancestorComponent)); - break; - } - } - } - // Lazy properties - // https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties - if (BUILD.prop && BUILD.lazyLoad && !BUILD.hydrateServerSide && cmpMeta.$members$) { - Object.entries(cmpMeta.$members$).forEach(([memberName, [memberFlags]]) => { - if (memberFlags & 31 /* Prop */ && elm.hasOwnProperty(memberName)) { - const value = elm[memberName]; - delete elm[memberName]; - elm[memberName] = value; - } - }); - } - if (BUILD.initializeNextTick) { - // connectedCallback, taskQueue, initialLoad - // angular sets attribute AFTER connectCallback - // https://github.com/angular/angular/issues/18909 - // https://github.com/angular/angular/issues/19940 - nextTick(() => initializeComponent(elm, hostRef, cmpMeta)); - } - else { - initializeComponent(elm, hostRef, cmpMeta); - } - } - fireConnectedCallback(hostRef.$lazyInstance$); - endConnected(); - } -}; -const setContentReference = (elm) => { - // only required when we're NOT using native shadow dom (slot) - // or this browser doesn't support native shadow dom - // and this host element was NOT created with SSR - // let's pick out the inner content for slot projection - // create a node to represent where the original - // content was first placed, which is useful later on - const contentRefElm = elm['s-cr'] = doc.createComment(BUILD.isDebug - ? `content-ref (host=${elm.localName})` - : ''); - contentRefElm['s-cn'] = true; - elm.insertBefore(contentRefElm, elm.firstChild); -}; -const disconnectedCallback = (elm) => { - if ((plt.$flags$ & 1 /* isTmpDisconnected */) === 0) { - const hostRef = getHostRef(elm); - const instance = BUILD.lazyLoad ? hostRef.$lazyInstance$ : elm; - if (BUILD.hostListener) { - if (hostRef.$rmListeners$) { - hostRef.$rmListeners$(); - hostRef.$rmListeners$ = undefined; - } - } - // clear CSS var-shim tracking - if (BUILD.cssVarShim && plt.$cssShim$) { - plt.$cssShim$.removeHost(elm); - } - if (BUILD.lazyLoad && BUILD.disconnectedCallback) { - safeCall(instance, 'disconnectedCallback'); - } - if (BUILD.cmpDidUnload) { - safeCall(instance, 'componentDidUnload'); - } - } -}; -function hmrStart(elm, cmpMeta, hmrVersionId) { - // ¯\_(ツ)_/¯ - const hostRef = getHostRef(elm); - // reset state flags to only have been connected - hostRef.$flags$ = 1 /* hasConnected */; - // TODO - // detatch any event listeners that may have been added - // because we're not passing an exact event name it'll - // remove all of this element's event, which is good - // create a callback for when this component finishes hmr - elm['s-hmr-load'] = () => { - // finished hmr for this element - delete elm['s-hmr-load']; - }; - // re-initialize the component - initializeComponent(elm, hostRef, cmpMeta, hmrVersionId); -} -const bootstrapLazy = (lazyBundles, options = {}) => { - if (BUILD.profile) { - performance.mark('st:app:start'); - } - installDevTools(); - const endBootstrap = createTime('bootstrapLazy'); - const cmpTags = []; - const exclude = options.exclude || []; - const customElements = win.customElements; - const head = doc.head; - const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]'); - const visibilityStyle = /*@__PURE__*/ doc.createElement('style'); - const deferredConnectedCallbacks = []; - const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`); - let appLoadFallback; - let isBootstrapping = true; - let i = 0; - Object.assign(plt, options); - plt.$resourcesUrl$ = new URL(options.resourcesUrl || './', doc.baseURI).href; - if (options.syncQueue) { - plt.$flags$ |= 4 /* queueSync */; - } - if (BUILD.hydrateClientSide) { - // If the app is already hydrated there is not point to disable the - // async queue. This will improve the first input delay - plt.$flags$ |= 2 /* appLoaded */; - } - if (BUILD.hydrateClientSide && BUILD.shadowDom) { - for (; i < styles.length; i++) { - registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true); - } - } - lazyBundles.forEach(lazyBundle => lazyBundle[1].forEach(compactMeta => { - const cmpMeta = { - $flags$: compactMeta[0], - $tagName$: compactMeta[1], - $members$: compactMeta[2], - $listeners$: compactMeta[3], - }; - if (BUILD.member) { - cmpMeta.$members$ = compactMeta[2]; - } - if (BUILD.hostListener) { - cmpMeta.$listeners$ = compactMeta[3]; - } - if (BUILD.reflect) { - cmpMeta.$attrsToReflect$ = []; - } - if (BUILD.watchCallback) { - cmpMeta.$watchers$ = {}; - } - if (BUILD.shadowDom && !supportsShadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) { - cmpMeta.$flags$ |= 8 /* needsShadowDomShim */; - } - const tagName = cmpMeta.$tagName$; - const HostElement = class extends HTMLElement { - // StencilLazyHost - constructor(self) { - // @ts-ignore - super(self); - self = this; - registerHost(self); - if (BUILD.shadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) { - // this component is using shadow dom - // and this browser supports shadow dom - // add the read-only property "shadowRoot" to the host element - // adding the shadow root build conditionals to minimize runtime - if (supportsShadowDom) { - if (BUILD.shadowDelegatesFocus) { - self.attachShadow({ - mode: 'open', - delegatesFocus: !!(cmpMeta.$flags$ & 16 /* shadowDelegatesFocus */), - }); - } - else { - self.attachShadow({ mode: 'open' }); - } - } - else if (!BUILD.hydrateServerSide && !('shadowRoot' in self)) { - self.shadowRoot = self; - } - } - } - connectedCallback() { - if (appLoadFallback) { - clearTimeout(appLoadFallback); - appLoadFallback = null; - } - if (isBootstrapping) { - // connectedCallback will be processed once all components have been registered - deferredConnectedCallbacks.push(this); - } - else { - plt.jmp(() => connectedCallback(this, cmpMeta)); - } - } - disconnectedCallback() { - plt.jmp(() => disconnectedCallback(this)); - } - forceUpdate() { - forceUpdate(this, cmpMeta); - } - componentOnReady() { - return getHostRef(this).$onReadyPromise$; - } - }; - if (BUILD.cloneNodeFix) { - cloneNodeFix(HostElement.prototype); - } - if (BUILD.appendChildSlotFix) { - appendChildSlotFix(HostElement.prototype); - } - if (BUILD.hotModuleReplacement) { - HostElement.prototype['s-hmr'] = function (hmrVersionId) { - hmrStart(this, cmpMeta, hmrVersionId); - }; - } - cmpMeta.$lazyBundleIds$ = lazyBundle[0]; - if (!exclude.includes(tagName) && !customElements.get(tagName)) { - cmpTags.push(tagName); - customElements.define(tagName, proxyComponent(HostElement, cmpMeta, 1 /* isElementConstructor */)); - } - })); - if (BUILD.hydratedClass || BUILD.hydratedAttribute) { - visibilityStyle.innerHTML = cmpTags + HYDRATED_CSS; - visibilityStyle.setAttribute('data-styles', ''); - head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild); - } - // Process deferred connectedCallbacks now all components have been registered - isBootstrapping = false; - if (deferredConnectedCallbacks.length > 0) { - deferredConnectedCallbacks.forEach(host => host.connectedCallback()); - } - else { - if (BUILD.profile) { - plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30, 'timeout')); - } - else { - plt.jmp(() => appLoadFallback = setTimeout(appDidLoad, 30)); - } - } - // Fallback appLoad event - endBootstrap(); -}; -const defineCustomElement = (Cstr, compactMeta) => { - customElements.define(compactMeta[1], proxyCustomElement(Cstr, compactMeta)); -}; -const proxyCustomElement = (Cstr, compactMeta) => { - const cmpMeta = { - $flags$: compactMeta[0], - $tagName$: compactMeta[1], - }; - if (BUILD.member) { - cmpMeta.$members$ = compactMeta[2]; - } - if (BUILD.hostListener) { - cmpMeta.$listeners$ = compactMeta[3]; - } - if (BUILD.watchCallback) { - cmpMeta.$watchers$ = Cstr.$watchers$; - } - if (BUILD.reflect) { - cmpMeta.$attrsToReflect$ = []; - } - if (BUILD.shadowDom && !supportsShadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) { - cmpMeta.$flags$ |= 8 /* needsShadowDomShim */; - } - Object.assign(Cstr.prototype, { - forceUpdate() { - forceUpdate(this, cmpMeta); - }, - connectedCallback() { - connectedCallback(this, cmpMeta); - }, - disconnectedCallback() { - disconnectedCallback(this); - } - }); - return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */); -}; -const attachShadow = (el) => { - if (supportsShadowDom) { - el.attachShadow({ mode: 'open' }); - } - else { - el.shadowRoot = el; - } -}; -const proxyNative = (Cstr, compactMeta) => { - const cmpMeta = { - $flags$: compactMeta[0], - $tagName$: compactMeta[1], - $members$: compactMeta[2], - $listeners$: compactMeta[3], - $watchers$: Cstr.$watchers$ - }; - if (BUILD.reflect) { - cmpMeta.$attrsToReflect$ = []; - } - if (BUILD.shadowDom && !supportsShadowDom && cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) { - cmpMeta.$flags$ |= 8 /* needsShadowDomShim */; - } - Object.assign(Cstr.prototype, { - forceUpdate() { - forceUpdate(this, cmpMeta); - }, - connectedCallback() { - connectedCallback(this, cmpMeta); - }, - disconnectedCallback() { - disconnectedCallback(this); - } - }); - return proxyComponent(Cstr, cmpMeta, 1 /* isElementConstructor */ | 2 /* proxyState */); -}; -const createEvent = (ref, name, flags) => { - const elm = getElement(ref); - return { - emit: (detail) => { - if (BUILD.isDev && !elm.isConnected) { - consoleDevWarn(`The "${name}" event was emitted, but the dispatcher node is no longer connected to the dom.`); - } - const ev = new (BUILD.hydrateServerSide ? win.CustomEvent : CustomEvent)(name, { - bubbles: !!(flags & 4 /* Bubbles */), - composed: !!(flags & 2 /* Composed */), - cancelable: !!(flags & 1 /* Cancellable */), - detail - }); - elm.dispatchEvent(ev); - return ev; - } - }; -}; -const getAssetPath = (path) => { - const assetUrl = new URL(path, plt.$resourcesUrl$); - return (assetUrl.origin !== win.location.origin) - ? assetUrl.href - : assetUrl.pathname; -}; -const getConnect = (_ref, tagName) => { - const componentOnReady = () => { - let elm = doc.querySelector(tagName); - if (!elm) { - elm = doc.createElement(tagName); - doc.body.appendChild(elm); - } - return typeof elm.componentOnReady === 'function' ? elm.componentOnReady() : Promise.resolve(elm); - }; - const create = (...args) => { - return componentOnReady() - .then(el => el.create(...args)); - }; - return { - create, - componentOnReady, - }; -}; -const getContext = (_elm, context) => { - if (context in Context) { - return Context[context]; - } - else if (context === 'window') { - return win; - } - else if (context === 'document') { - return doc; - } - else if (context === 'isServer' || context === 'isPrerender') { - return BUILD.hydrateServerSide ? true : false; - } - else if (context === 'isClient') { - return BUILD.hydrateServerSide ? false : true; - } - else if (context === 'resourcesUrl' || context === 'publicPath') { - return getAssetPath('.'); - } - else if (context === 'queue') { - return { - write: writeTask, - read: readTask, - tick: { - then(cb) { - return nextTick(cb); - } - } - }; - } - return undefined; -}; -const getElement = (ref) => BUILD.lazyLoad ? getHostRef(ref).$hostElement$ : ref; -const insertVdomAnnotations = (doc) => { - if (doc != null) { - const docData = { - hostIds: 0, - rootLevelIds: 0 - }; - const orgLocationNodes = []; - parseVNodeAnnotations(doc, doc.body, docData, orgLocationNodes); - orgLocationNodes.forEach(orgLocationNode => { - if (orgLocationNode != null) { - const nodeRef = orgLocationNode['s-nr']; - let hostId = nodeRef['s-host-id']; - let nodeId = nodeRef['s-node-id']; - let childId = `${hostId}.${nodeId}`; - if (hostId == null) { - hostId = 0; - docData.rootLevelIds++; - nodeId = docData.rootLevelIds; - childId = `${hostId}.${nodeId}`; - if (nodeRef.nodeType === 1 /* ElementNode */) { - nodeRef.setAttribute(HYDRATE_CHILD_ID, childId); - } - else if (nodeRef.nodeType === 3 /* TextNode */) { - if (hostId === 0) { - const textContent = nodeRef.nodeValue.trim(); - if (textContent === '') { - // useless whitespace node at the document root - orgLocationNode.remove(); - return; - } - } - const commentBeforeTextNode = doc.createComment(childId); - commentBeforeTextNode.nodeValue = `${TEXT_NODE_ID}.${childId}`; - nodeRef.parentNode.insertBefore(commentBeforeTextNode, nodeRef); - } - } - let orgLocationNodeId = `${ORG_LOCATION_ID}.${childId}`; - const orgLocationParentNode = orgLocationNode.parentElement; - if (orgLocationParentNode) { - if (orgLocationParentNode['s-en'] === '') { - // ending with a "." means that the parent element - // of this node's original location is a SHADOW dom element - // and this node is apart of the root level light dom - orgLocationNodeId += `.`; - } - else if (orgLocationParentNode['s-en'] === 'c') { - // ending with a ".c" means that the parent element - // of this node's original location is a SCOPED element - // and this node is apart of the root level light dom - orgLocationNodeId += `.c`; - } - } - orgLocationNode.nodeValue = orgLocationNodeId; - } - }); - } -}; -const parseVNodeAnnotations = (doc, node, docData, orgLocationNodes) => { - if (node == null) { - return; - } - if (node['s-nr'] != null) { - orgLocationNodes.push(node); - } - if (node.nodeType === 1 /* ElementNode */) { - node.childNodes.forEach(childNode => { - const hostRef = getHostRef(childNode); - if (hostRef != null) { - const cmpData = { - nodeIds: 0 - }; - insertVNodeAnnotations(doc, childNode, hostRef.$vnode$, docData, cmpData); - } - parseVNodeAnnotations(doc, childNode, docData, orgLocationNodes); - }); - } -}; -const insertVNodeAnnotations = (doc, hostElm, vnode, docData, cmpData) => { - if (vnode != null) { - const hostId = ++docData.hostIds; - hostElm.setAttribute(HYDRATE_ID, hostId); - if (hostElm['s-cr'] != null) { - hostElm['s-cr'].nodeValue = `${CONTENT_REF_ID}.${hostId}`; - } - if (vnode.$children$ != null) { - const depth = 0; - vnode.$children$.forEach((vnodeChild, index) => { - insertChildVNodeAnnotations(doc, vnodeChild, cmpData, hostId, depth, index); - }); - } - } -}; -const insertChildVNodeAnnotations = (doc, vnodeChild, cmpData, hostId, depth, index) => { - const childElm = vnodeChild.$elm$; - if (childElm == null) { - return; - } - const nodeId = cmpData.nodeIds++; - const childId = `${hostId}.${nodeId}.${depth}.${index}`; - childElm['s-host-id'] = hostId; - childElm['s-node-id'] = nodeId; - if (childElm.nodeType === 1 /* ElementNode */) { - childElm.setAttribute(HYDRATE_CHILD_ID, childId); - } - else if (childElm.nodeType === 3 /* TextNode */) { - const parentNode = childElm.parentNode; - if (parentNode.nodeName !== 'STYLE') { - const textNodeId = `${TEXT_NODE_ID}.${childId}`; - const commentBeforeTextNode = doc.createComment(textNodeId); - parentNode.insertBefore(commentBeforeTextNode, childElm); - } - } - else if (childElm.nodeType === 8 /* CommentNode */) { - if (childElm['s-sr']) { - const slotName = (childElm['s-sn'] || ''); - const slotNodeId = `${SLOT_NODE_ID}.${childId}.${slotName}`; - childElm.nodeValue = slotNodeId; - } - } - if (vnodeChild.$children$ != null) { - const childDepth = depth + 1; - vnodeChild.$children$.forEach((vnode, index) => { - insertChildVNodeAnnotations(doc, vnode, cmpData, hostId, childDepth, index); - }); - } -}; - -const globals = () => { -}; - -export { Host as H, patchEsm as a, bootstrapLazy as b, getElement as c, createEvent as d, getAssetPath as e, globals as g, h, patchBrowser as p, registerInstance as r }; diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000002 b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000002 deleted file mode 100644 index 6580d3a..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000002 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000003 b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000003 deleted file mode 100644 index 3e3e555..0000000 --- a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000003 +++ /dev/null @@ -1,430 +0,0 @@ -import { h } from './core-800e68f4.js'; -import { TiUtils } from '../ti-core-assets/lib/TiUtils'; -import '../ti-core-assets/lib/TiFiles'; -import { TiConsole } from '../ti-core-assets/lib/TiConsole'; -import { TiLocalStorage } from '../ti-core-assets/lib/TiLocalStorage'; - -const style = document.createElement('style'); -style.innerHTML = ` - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 300; - src: local('Roboto Light'), local('Roboto-Light'), url(components/assets/fonts/font-roboto/Roboto_300_normal.woff) format('woff'); - } - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 400; - src: local('Roboto'), local('Roboto-Regular'), url(components/assets/fonts/font-roboto/Roboto_400_normal.woff) format('woff'); - } - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 500; - src: local('Roboto Medium'), local('Roboto-Medium'), url(components/assets/fonts/font-roboto/Roboto_500_normal.woff) format('woff'); - } - @font-face { - font-family: 'Roboto'; - font-style: normal; - font-weight: 700; - src: local('Roboto Bold'), local('Roboto-Bold'), url(components/assets/fonts/font-roboto/Roboto_700_normal.woff) format('woff'); - } - @font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 300; - src: local('Roboto Light Italic'), local('Roboto-LightItalic'), url(components/assets/fonts/font-roboto/Roboto_300_italic.woff) format('woff'); - } - @font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 400; - src: local('Roboto Italic'), local('Roboto-Italic'), url(components/assets/fonts/font-roboto/Roboto_400_italic.woff) format('woff'); - } - @font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 500; - src: local('Roboto Medium Italic'), local('Roboto-MediumItalic'), url(components/assets/fonts/font-roboto/Roboto_500_italic.woff) format('woff'); - } - @font-face { - font-family: 'Roboto'; - font-style: italic; - font-weight: 700; - src: local('Roboto Bold Italic'), local('Roboto-BoldItalic'), url(components/assets/fonts/font-roboto/Roboto_700_italic.woff) format('woff'); - } -`; -document.head.appendChild(style); - -/** - * Copyright (c) 2019, Texas Instruments Incorporated - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Texas Instruments Incorporated nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS 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. - */ -/** -* Theme css switching using MutationObserver to the body attribute change. -* Only loaded once when added to the dom. -*/ -//create ti-widget-theme-stylesheet on load, append to document -const style$1 = document.createElement('style'); -style$1.setAttribute('title', 'ti-widget-theme-stylesheet'); -const element = document.head || document.body; -element.appendChild(style$1); -style$1.sheet.insertRule('html {}', 0); -const styleSheet = style$1.sheet.cssRules[0].style; -// modify stylesheet/css variables on theme attribute change in body -const observer = new MutationObserver((mutations) => { - mutations.forEach(function (mutation) { - switch (document.body.getAttribute('theme')) { - case 'ti-theme': - styleSheet.setProperty('--theme-primary-color', '#cc0000'); - styleSheet.setProperty('--theme-secondary-color', '#115566'); - styleSheet.setProperty('--theme-alternative-color', '#990000'); - styleSheet.setProperty('--theme-background-color', '#fff'); - styleSheet.setProperty('--theme-font-color', '#231F20'); - styleSheet.setProperty('--theme-header-font-color', '#231F20'); - break; - case 'ti-dark': - styleSheet.setProperty('--theme-primary-color', '#990000'); - styleSheet.setProperty('--theme-secondary-color', '#115566'); - styleSheet.setProperty('--theme-alternative-color', '#990000'); - styleSheet.setProperty('--theme-background-color', '#2f2f2f'); - styleSheet.setProperty('--theme-font-color', '#f2f2f2'); - styleSheet.setProperty('--theme-header-font-color', '#f2f2f2'); - break; - } - }); -}); -observer.observe(document.body, { - attributes: true, - attributeFilter: ['theme'] -}); - -/** - * Copyright (c) 2019-2020, Texas Instruments Incorporated - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Texas Instruments Incorporated nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS 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. - */ -/** - * `TiElementBase` provides the base implementation for TI elements. - * - * @customElement - * @isHidden - */ -class TiElementBase { - constructor(parent) { - this.parent = parent; - } - /** - * Returns true if the element is hosted in the designer, otherwise false. - * - * @return {boolean} - */ - isDesignerHosted() { - return !!TiUtils.rootWin.TIDesigner; - } - /** - * Parse the delimited string into an array. - * - * @param {undefined|string|Array} text the input text - * @param delimiter the delimiter character - * @return {Array} the array - */ - parseArray(text, delimiter) { - text = text || ''; - // support arrays as well - if (text instanceof Array) { - return text; - } - // support using terminating character as a delimiter if one of [,;|]. - // this means that if you want a blank element at the end of the list, you have to use a double terminator; for example, A|B|C|| - if (!delimiter && text.length > 1) { - const lastCharacter = text.charAt(text.length - 1); - if (lastCharacter === '|' || lastCharacter === ',' || lastCharacter === ';') { - delimiter = lastCharacter; - text = text.substring(0, text.length - 1); - } - } - // support comma-separated values, semi-colon separated, or | separated fields. - let fields = text.split(delimiter || '|'); - if (!delimiter) { - let altFields = text.split(';'); - if (altFields.length > fields.length) { - fields = altFields; - } - altFields = text.split(','); - if (altFields.length > fields.length && (altFields.length !== fields.length + 1 || fields.length === 1)) { - fields = altFields; - } - } - for (let i = fields.length; i-- > 0;) { - fields[i] = fields[i].trim(); - } - if (fields.length === 1 && fields[0].length === 0) { - return []; - } - return fields; - } - /** - * Returns the cookie value. - * - * @param {string} name the name of the cookie - * @return {string} the cookie value - */ - static getCookie(name) { - const value = '; ' + document.cookie; - const parts = value.split('; ' + name + '='); - if (parts.length === 2) { - const item = parts.pop(); - if (item !== null) { - return item.split(';').shift() || ''; - } - } - return ''; - } - /** - * Helper method to log trace message to the console. - * - * @param {string} logtype trace type, can be log|info|warn|debug - * @param {function|string} message the message to log - */ - trace(logType, message) { - const output = typeof message === 'object' ? JSON.stringify(message) : message; - const id = this.element.id ? this.element.id : 'no-id'; - switch (logType) { - case 'error': - TiConsole.error('[' + this.element.localName + ': ' + id + ']', output); - break; - case 'warning': - TiConsole.warning('[' + this.element.localName + ': ' + id + ']', output); - break; - case 'info': - TiConsole.info('[' + this.element.localName + ': ' + id + ']', output); - break; - case 'log': - TiConsole.log('[' + this.element.localName + ': ' + id + ']', output); - break; - case 'debug': - TiConsole.debug('[' + this.element.localName + ': ' + id + ']', output); - break; - } - } - /** - * Saves the setting to local storage. - * - * @param {string} name the setting name - * @param {string} value the value - */ - saveSetting(name, value) { - const id = this.element.tagName.toLowerCase(); - const root = JSON.parse(TiLocalStorage.getItem(TiElementBase.STORAGE_ROOT) || '{}'); - if (!root[id]) { - root[id] = {}; - } - root[id][name] = value; - TiLocalStorage.setItem(TiElementBase.STORAGE_ROOT, JSON.stringify(root)); - } - /** - * Loads the setting from local storage. - * - * @param {string} name the setting name - * @return {object} the setting JSON object - */ - loadSetting(name) { - const id = this.element.tagName.toLowerCase(); - const root = JSON.parse(TiLocalStorage.getItem(TiElementBase.STORAGE_ROOT) || '{}'); - const element = root[id] || {}; - return element[name]; - } -} -TiElementBase.STORAGE_ROOT = 'GC-SETTINGS'; - -/** - * Copyright (c) 2019-2020, Texas Instruments Incorporated - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Texas Instruments Incorporated nor the names of - * its contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS 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. - */ -/** - * `TiWidgetBase` provides the base implementation for TI widgets. - */ -class TiWidgetBase extends TiElementBase { - constructor(parent) { - super(parent); - this.parent = parent; - } - /* Widget that response to CSS property change should override this method to re-render */ - onCSSPropertyChanged(name, value) { } - ; - renderInfoText(infoText) { - if (infoText) { - // JSXON - return (h("div", { class: "help-text icon" }, - h("ti-widget-tooltip", { text: infoText }, - h("ti-widget-icon", { appearance: "secondary", icon: "help", size: "s" })))); - // JSXOFF - } - else { - return null; - } - } - render(element, options) { - if (options && (options.caption || options.infoText)) { - // JSXON - return (h("div", { class: "root-container", onClick: (e) => this.onClickHandler(e, e.target) }, - (options === null || options === void 0 ? void 0 : options.caption) ? h("div", { class: "header-container top" }, - (options === null || options === void 0 ? void 0 : options.caption) ? h("div", { class: "caption" }, options.caption) : null, - this.renderInfoText(options === null || options === void 0 ? void 0 : options.infoText)) : null, - this.parent.tooltip ? (h("div", { id: "elementWrapper" }, - element, - h("ti-widget-tooltip", { class: "tooltip", text: this.parent.tooltip, anchorId: "elementWrapper" }))) : h("div", { id: "elementWrapper" }, element), - (options === null || options === void 0 ? void 0 : options.infoText) && !(options === null || options === void 0 ? void 0 : options.caption) ? h("div", { class: "header-container side" }, this.renderInfoText(options === null || options === void 0 ? void 0 : options.infoText)) : null)); - // JSXOFF - } - else { - // JSXON - return (h("div", { id: "elementWrapper" }, - element, - this.parent.tooltip ? h("ti-widget-tooltip", { class: "tooltip", text: this.parent.tooltip, anchorId: "elementWrapper" }) : null)); - // JSXOFF - } - } - onClickHandler(event, element) { - if (element) { - const parent = element.parentElement; - if (parent && parent.id === 'elementWrapper') { - return; - } - else if (!element.classList.contains('root-container')) { - this.onClickHandler(event, element.parentElement); - } - else { - event.stopPropagation(); - } - } - } - fire(eventName, detail) { - const obj = this.parent; - for (const x in obj) { - if (TiUtils.camelToDashCase(x) === eventName) { - return obj[x].emit(detail); - } - } - } - setCSSProperty(name, value) { - value = value.replace(/^[ ]+|[ ]+$/g, ''); - this.element.style.setProperty(name, value); - this.parent.cssPropertyChanged.emit({ name: name, value: value }); - } - getCSSProperty(name) { - return getComputedStyle(this.element).getPropertyValue(name); - } - refresh() { - return this.element['forceUpdate'](); - } - /** - * Add the class name to the element. - * - * @param {string} name the class name - * @param {HTMLElement} element the element - * @protected - */ - addClassName(name, element) { - this.modifyClassName(true, name, element); - } - /** - * Remove the class name from the element. - * - * @param {string} name the class name - * @param {HTMLElement} element the element - * @protected - */ - removeClassName(name, element) { - this.modifyClassName(false, name, element); - } - modifyClassName(isAdd, name, element = this.element) { - if (element.className.indexOf(name) < 0) { - if (isAdd) { - // add because it doesn't exist yet and should - element.className = (element.className + ' ' + name).trim(); - } - } - else if (!isAdd) { - // remove because it does exist and shouldn't - element.className = element.className.replace(name, '').trim(); - } - } -} - -export { TiWidgetBase as T }; - -//# sourceMappingURL=ti-widget-base-fe722328.js.map \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000004 b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000004 deleted file mode 100644 index 5930560..0000000 --- a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/f_000004 +++ /dev/null @@ -1,126 +0,0 @@ -import { r as registerInstance, h, H as Host, c as getElement } from './core-800e68f4.js'; - -var SvgIconColor; -(function (SvgIconColor) { - SvgIconColor["error"] = "error"; - SvgIconColor["primary"] = "primary"; - SvgIconColor["secondary"] = "secondary"; - SvgIconColor["success"] = "success"; - SvgIconColor["tertiary"] = "tertiary"; - SvgIconColor["warn"] = "warn"; - SvgIconColor["reversed"] = "reversed"; -})(SvgIconColor || (SvgIconColor = {})); -; -const SvgIconColorValues = [ - SvgIconColor.error, - SvgIconColor.primary, - SvgIconColor.secondary, - SvgIconColor.success, - SvgIconColor.tertiary, - SvgIconColor.warn, - SvgIconColor.reversed -]; - -const SvgIcon = class { - constructor(hostRef) { - registerInstance(this, hostRef); - /** - * Property for icon color and style. - * Can be one of: `primary`, `secondary`, `tertiary`, `success`, `warn`, `error`. It is `tertiary` by default. - * Also, `reversed` can be added as in `primary reversed`. This inverts the foreground and background colors. - * - * @type {string} - * @memberof SvgIcon - */ - this.appearance = 'tertiary'; - /** - * Set the icon to look disabled. - * - * @type {boolean} - * @memberof SvgIcon - */ - this.disabled = false; - /** - * Place the icon in a circle wrapper. - * - * @type {boolean} - * @memberof SvgIcon - */ - this.circle = false; - /** - * Path to the assets folder, including any common svg prefix for the icon sets. - * NOTE: do not append a trailing slash. Use forward slashes (URI format) - * - * @type {string} - * @memberof SvgIcon - */ - this.pathPrefix = 'assets/icons/ti_icons-'; - /** - * Set true if the .svg file contains multiple icons, and should use #iconName suffix to access an icon from the set - * - * @type {boolean} - * @memberOf SvgIcon - */ - this.multiIconFile = false; - /** - * The icon set. There are two sets of icons - `actions` and `objects`. The default is `objects`. - * - * @type {('actions' | 'objects')} - * @memberof SvgIcon - */ - this.iconSet = 'objects'; - /** - * Icon size - one of `xxs` (12x12), `xs` (14x14), `s` (18x18), `m` (24x24), `l` (36x36), or `xl` (48x48). Default is `m`. - * - * @type {('xxs' | 'xs' | 's' | 'm' | 'l' | 'xl')} - * @memberof SvgIcon - */ - this.size = 'm'; - } - componentWillLoad() { - // get the icon name from the text inside the element if icon name is not defined - if (!this.iconName) { - this.iconName = this.hostElement.textContent ? this.hostElement.textContent.trim() : 'info-circle'; - } - this.updateIconUrl(); - this.handleAppearanceChange(); - } - handleAppearanceChange() { - // transform appearance string into an array of options - const appearances = this.appearance.toLowerCase().split(/\s+/); - if (!appearances.some(color => { - if ((SvgIconColorValues).indexOf(color) >= 0) { - this._color = color; - return true; - } - return false; - })) { - this._color = SvgIconColor.tertiary; // default color - } - } - updateIconUrl() { - this._iconUrl = `${this.pathPrefix}${this.iconSet}${this.multiIconFile ? '.svg#' + this.iconName : '/' + this.iconName + '.svg'}`; - } - render() { - return (h(Host, { class: ` - ti-svg-icon-${this._color} - ti-svg-icon-size-${this.size} - ${this.circle && 'ti-svg-icon-circle'} - ${this.disabled && 'ti-svg-icon-disabled'} - ` }, this.multiIconFile ? [ - h("svg", { role: "img" }, h("use", { xlinkHref: this._iconUrl })), - h("span", { style: { 'display': 'none' } }, h("slot", null)) - ] : (h("div", { class: "ti-svg-icon-bg", style: { backgroundImage: `url('${this._iconUrl}')` } }, h("span", { style: { 'display': 'none' } }, h("slot", null)))))); - } - get hostElement() { return getElement(this); } - static get watchers() { return { - "appearance": ["handleAppearanceChange"], - "iconName": ["updateIconUrl"], - "pathPrefix": ["updateIconUrl"], - "iconSet": ["updateIconUrl"], - "multiIconFile": ["updateIconUrl"] - }; } - static get style() { return "/*\n* ==========================================================================\n* _polaris.colors.scss\n* This file imports the Polaris color palette.\n* ==========================================================================\n*/\n/*\n* --------------------------------------------------------------------------\n* color palette\n* --------------------------------------------------------------------------\n*/\n/*\n* ==========================================================================\n* _polaris.mixins.scss\n* This file contains Polaris mixins\n* prefix with mix-\n* ==========================================================================\n*/\n/*\n* ==========================================================================\n* _polaris-variables.scss\n* This file contains global-css variables and is using component based naming.\n*\n* Naming structure: [application(namespacing)]-[type]-[function]-[property]\n* ==========================================================================\n*/\n/*\n* --------------------------------------------------------------------------\n* Color variables\n* --------------------------------------------------------------------------\n*/\n/*\n* Polaris Component color definitions\n*/\n/*\n* Polaris Card Background color definitions\n* Ref: (http://polaris/01-ui-style-foundations.html#02-style-principles.03-background-color)\n*/\n/*\n* --------------------------------------------------------------------------\n* shape variables\n* --------------------------------------------------------------------------\n*/\n/*\n* Polaris border radius definitions\n* Ref: (http://polaris/01-ui-style-foundations.html#02-style-principles.05-border-radius)\n*/\n/*\n* Polaris box shadow definitions\n* Ref: (http://polaris/01-ui-style-foundations.html#02-style-principles.06-box-shadow)\n*/\n/*\n* --------------------------------------------------------------------------\n* font variables\n* Ref: (http://polaris/01-ui-style-foundations.html#07-typography-fundamentals)\n* --------------------------------------------------------------------------\n*/\n/*\n* Font stack definitions\n*/\n/*\n* Font families\n*/\n/*\n* Root HTML and BODY tag values\n*/\n/*\n* Font size cadence values\n*/\n/*\n* Standard Paragraph font sizes\n*/\n/*\n* Header tag font sizes\n*/\n/*\n* Line height cadence values\n*/\n/*\n* Font weight values\n*/\n/*\n* --------------------------------------------------------------------------\n* spacing values variables\n* --------------------------------------------------------------------------\n*/\n/*\n* Base spacing cadence values\n* (base grid size x multiplier) / root font size = rem value\n*/\n/*\n* Component/element specific spacing\n*/\n/*\n* --------------------------------------------------------------------------\n* page layout variables\n* --------------------------------------------------------------------------\n*/\n/*\n* --------------------------------------------------------------------------\n* animation variables\n* ref: (http://polaris/01-ui-style-foundations.html#04-motion)\n* --------------------------------------------------------------------------\n*/\n/*\n* Animation easing types\n*/\n/*\n* Animation timings\n*/\n/*\n* --------------------------------------------------------------------------\n* icon size variables\n* --------------------------------------------------------------------------\n*/\n/*\n* --------------------------------------------------------------------------\n* legacy variable names\n* - May still be used in other component repos\n* --------------------------------------------------------------------------\n*/\n/* Font variables */\n/* Space size variables */\n/*\n* ==========================================================================\n* _ti-core.scss\n*\n* This files contains mixins uses within TI Webcomponents\n* ==========================================================================\n*/\n/*\n * Base style for trigger element\n */\n/*\n* Tooltip trigger main mixin.\n* Use to add style to trigger tooltip display.\n* For example:\n*\n* .tooltip-trigger:hover {\n* \@include ti-tooltip-trigger();\n* }\n*\n* Typically not used directly, but via the other mixins below.\n*/\n/*\n* Mixin for adding style to trigger tooltip display to\n* an element selector on hover, focus and checked.\n* For example:\n*\n* .tooltip-trigger {\n \@include ti-tooltip-trigger-element();\n* }\n*/\n/*\n* Mixin for adding style to trigger tooltip display to\n* a web component shadow host on hover, focus and checked.\n* Use in the web component style sheet outside of :host{}.\n* For example:\n*\n* \@include ti-tooltip-trigger-host();\n* :host {\n* ...\n* }\n*\n* The optional $selector parameter allows a CSS selector\n* which will be added to the :host selector to allow control\n* over the host trigger via a style class or another selector.\n* For example:\n*\n* \@include ti-tooltip-trigger-host(\'.ti-tooltip-trigger\');\n*\n* creates code like\n*\n* :host(.ti-tooltip-trigger:hover) {\n* ...\n* }\n*\n* instead of\n*\n* :host(:hover) {\n* ...\n* }\n*/\n:host {\n display: -ms-inline-flexbox;\n display: inline-flex;\n vertical-align: text-bottom;\n fill: #555555;\n width: 24px;\n height: 24px;\n}\n:host svg {\n display: block;\n width: 24px;\n height: 24px;\n stroke-width: 0;\n}\n:host .ti-svg-icon-bg {\n background-repeat: no-repeat;\n background-position: 0 0;\n width: 24px;\n height: 24px;\n}\n\n:host(.ti-svg-icon-circle) {\n border-radius: 100%;\n}\n:host(.ti-svg-icon-circle) svg,\n:host(.ti-svg-icon-circle) .ti-svg-icon-bg {\n -webkit-transform: scale(0.75);\n transform: scale(0.75);\n}\n\n/* svg icon size modifiers */\n:host(.ti-svg-icon-size-xxs) {\n width: 12px;\n height: 12px;\n}\n:host(.ti-svg-icon-size-xxs) svg {\n width: 12px;\n height: 12px;\n}\n:host(.ti-svg-icon-size-xxs) .ti-svg-icon-bg {\n background-size: 12px;\n width: 12px;\n height: 12px;\n line-height: 12px;\n}\n\n:host(.ti-svg-icon-size-xs) {\n width: 14px;\n height: 14px;\n}\n:host(.ti-svg-icon-size-xs) svg {\n width: 14px;\n height: 14px;\n}\n:host(.ti-svg-icon-size-xs) .ti-svg-icon-bg {\n background-size: 14px;\n width: 14px;\n height: 14px;\n line-height: 14px;\n}\n\n:host(.ti-svg-icon-size-s) {\n width: 18px;\n height: 18px;\n}\n:host(.ti-svg-icon-size-s) svg {\n width: 18px;\n height: 18px;\n}\n:host(.ti-svg-icon-size-s) .ti-svg-icon-bg {\n background-size: 18px;\n width: 18px;\n height: 18px;\n line-height: 18px;\n}\n\n:host(.ti-svg-icon-size-m) {\n width: 24px;\n height: 24px;\n}\n:host(.ti-svg-icon-size-m) svg {\n width: 24px;\n height: 24px;\n}\n:host(.ti-svg-icon-size-m) .ti-svg-icon-bg {\n background-size: 24px;\n width: 24px;\n height: 24px;\n line-height: 24px;\n}\n\n:host(.ti-svg-icon-size-l) {\n width: 36px;\n height: 36px;\n}\n:host(.ti-svg-icon-size-l) svg {\n width: 36px;\n height: 36px;\n}\n:host(.ti-svg-icon-size-l) .ti-svg-icon-bg {\n background-size: 36px;\n width: 36px;\n height: 36px;\n line-height: 36px;\n}\n\n:host(.ti-svg-icon-size-xl) {\n width: 48px;\n height: 48px;\n}\n:host(.ti-svg-icon-size-xl) svg {\n width: 48px;\n height: 48px;\n}\n:host(.ti-svg-icon-size-xl) .ti-svg-icon-bg {\n background-size: 48px;\n width: 48px;\n height: 48px;\n line-height: 48px;\n}\n\n/* svg icon color modifiers */\n:host(.ti-svg-icon-tertiary) {\n fill: #555555;\n}\n\n:host(.ti-svg-icon-tertiary.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #555555;\n}\n\n:host(.ti-svg-icon-secondary) {\n fill: #115566;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #115566;\n}\n\n:host(.ti-svg-icon-primary) {\n fill: #cc0000;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #cc0000;\n}\n\n:host(.ti-svg-icon-disabled) {\n fill: #cccccc;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #cccccc;\n}\n\n:host(.ti-svg-icon-reversed) {\n fill: #ffffff;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #ffffff;\n}\n\n:host(.ti-svg-icon-error) {\n fill: #990000;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #990000;\n}\n\n:host(.ti-svg-icon-success) {\n fill: #44bb55;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #44bb55;\n}\n\n:host(.ti-svg-icon-warn) {\n fill: #ff9933;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #ff9933;\n}\n\n/* bg icon color modifiers - position adjust */\n:host(.ti-svg-icon-tertiary.ti-svg-icon-size-xxs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-xxs) .ti-svg-icon-bg {\n background-position: 0 -12px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-xxs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-xxs) .ti-svg-icon-bg {\n background-position: 0 -24px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-xxs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-xxs) .ti-svg-icon-bg {\n background-position: 0 -36px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-xxs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-xxs) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-xxs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-xxs) .ti-svg-icon-bg {\n background-position: 0 -60px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-xxs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-xxs) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-xxs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-xxs) .ti-svg-icon-bg {\n background-position: 0 -84px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-xxs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-tertiary.ti-svg-icon-size-xs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-xs) .ti-svg-icon-bg {\n background-position: 0 -14px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-xs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-xs) .ti-svg-icon-bg {\n background-position: 0 -28px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-xs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-xs) .ti-svg-icon-bg {\n background-position: 0 -42px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-xs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-xs) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-xs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-xs) .ti-svg-icon-bg {\n background-position: 0 -70px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-xs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-xs) .ti-svg-icon-bg {\n background-position: 0 -84px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-xs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-xs) .ti-svg-icon-bg {\n background-position: 0 -98px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-xs.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -56px;\n}\n\n:host(.ti-svg-icon-tertiary.ti-svg-icon-size-s.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-s) .ti-svg-icon-bg {\n background-position: 0 -18px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-s.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-s) .ti-svg-icon-bg {\n background-position: 0 -36px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-s.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-s) .ti-svg-icon-bg {\n background-position: 0 -54px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-s.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-s) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-s.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-s) .ti-svg-icon-bg {\n background-position: 0 -90px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-s.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-s) .ti-svg-icon-bg {\n background-position: 0 -108px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-s.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-s) .ti-svg-icon-bg {\n background-position: 0 -126px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-s.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-tertiary.ti-svg-icon-size-m.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-m) .ti-svg-icon-bg {\n background-position: 0 -24px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-m.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-m) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-m.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-m) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-m.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-m) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-m.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-m) .ti-svg-icon-bg {\n background-position: 0 -120px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-m.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-m) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-m.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-m) .ti-svg-icon-bg {\n background-position: 0 -168px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-m.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-tertiary.ti-svg-icon-size-l.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-l) .ti-svg-icon-bg {\n background-position: 0 -36px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-l.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-l) .ti-svg-icon-bg {\n background-position: 0 -72px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-l.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-l) .ti-svg-icon-bg {\n background-position: 0 -108px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-l.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-l) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-l.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-l) .ti-svg-icon-bg {\n background-position: 0 -180px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-l.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-l) .ti-svg-icon-bg {\n background-position: 0 -216px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-l.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-l) .ti-svg-icon-bg {\n background-position: 0 -252px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-l.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-tertiary.ti-svg-icon-size-xl.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-xl) .ti-svg-icon-bg {\n background-position: 0 -48px;\n}\n\n:host(.ti-svg-icon-secondary.ti-svg-icon-size-xl.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-xl) .ti-svg-icon-bg {\n background-position: 0 -96px;\n}\n\n:host(.ti-svg-icon-primary.ti-svg-icon-size-xl.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-xl) .ti-svg-icon-bg {\n background-position: 0 -144px;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-size-xl.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-xl) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n:host(.ti-svg-icon-reversed.ti-svg-icon-size-xl.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-xl) .ti-svg-icon-bg {\n background-position: 0 -240px;\n}\n\n:host(.ti-svg-icon-error.ti-svg-icon-size-xl.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-xl) .ti-svg-icon-bg {\n background-position: 0 -288px;\n}\n\n:host(.ti-svg-icon-success.ti-svg-icon-size-xl.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-xl) .ti-svg-icon-bg {\n background-position: 0 -336px;\n}\n\n:host(.ti-svg-icon-warn.ti-svg-icon-size-xl.ti-svg-icon-circle) .ti-svg-icon-bg {\n background-position: 0 -192px;\n}\n\n/* modifier for disabled icon */\n:host(.ti-svg-icon-disabled) {\n fill: #cccccc;\n}\n\n:host(.ti-svg-icon-disabled.ti-svg-icon-circle) {\n fill: #ffffff;\n background-color: #cccccc;\n}"; } -}; - -export { SvgIcon as ti_svg_icon }; diff --git a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/index b/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/index deleted file mode 100644 index e120e2c..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Cache/Cache_Data/index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Code Cache/js/index b/Projects/.jxbrowser.userdata/Default/Code Cache/js/index deleted file mode 100644 index 79bd403..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Code Cache/js/index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Code Cache/js/index-dir/the-real-index b/Projects/.jxbrowser.userdata/Default/Code Cache/js/index-dir/the-real-index deleted file mode 100644 index 3393cb4..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Code Cache/js/index-dir/the-real-index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Code Cache/wasm/index b/Projects/.jxbrowser.userdata/Default/Code Cache/wasm/index deleted file mode 100644 index 79bd403..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Code Cache/wasm/index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Code Cache/wasm/index-dir/the-real-index b/Projects/.jxbrowser.userdata/Default/Code Cache/wasm/index-dir/the-real-index deleted file mode 100644 index cd04e5f..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Code Cache/wasm/index-dir/the-real-index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/DawnCache/data_0 b/Projects/.jxbrowser.userdata/Default/DawnCache/data_0 deleted file mode 100644 index d76fb77..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/DawnCache/data_0 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/DawnCache/data_1 b/Projects/.jxbrowser.userdata/Default/DawnCache/data_1 deleted file mode 100644 index 195001d..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/DawnCache/data_1 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/DawnCache/data_2 b/Projects/.jxbrowser.userdata/Default/DawnCache/data_2 deleted file mode 100644 index c7e2eb9..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/DawnCache/data_2 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/DawnCache/data_3 b/Projects/.jxbrowser.userdata/Default/DawnCache/data_3 deleted file mode 100644 index 5eec973..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/DawnCache/data_3 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/DawnCache/index b/Projects/.jxbrowser.userdata/Default/DawnCache/index deleted file mode 100644 index c8aa648..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/DawnCache/index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Download Service/EntryDB/LOCK b/Projects/.jxbrowser.userdata/Default/Download Service/EntryDB/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Download Service/EntryDB/LOG b/Projects/.jxbrowser.userdata/Default/Download Service/EntryDB/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Extension Scripts/000003.log b/Projects/.jxbrowser.userdata/Default/Extension Scripts/000003.log deleted file mode 100644 index 4acb4c8..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Extension Scripts/000003.log and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Extension Scripts/CURRENT b/Projects/.jxbrowser.userdata/Default/Extension Scripts/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/Extension Scripts/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/Extension Scripts/LOCK b/Projects/.jxbrowser.userdata/Default/Extension Scripts/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Extension Scripts/LOG b/Projects/.jxbrowser.userdata/Default/Extension Scripts/LOG deleted file mode 100644 index 25c4b41..0000000 --- a/Projects/.jxbrowser.userdata/Default/Extension Scripts/LOG +++ /dev/null @@ -1,2 +0,0 @@ -2023/08/23-16:25:51.604 5740 Creating DB D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Extension Scripts since it was missing. -2023/08/23-16:25:51.616 5740 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Extension Scripts/MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/Extension Scripts/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/Extension Scripts/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Extension Scripts/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Extension State/000003.log b/Projects/.jxbrowser.userdata/Default/Extension State/000003.log deleted file mode 100644 index b248f53..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Extension State/000003.log and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Extension State/CURRENT b/Projects/.jxbrowser.userdata/Default/Extension State/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/Extension State/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/Extension State/LOCK b/Projects/.jxbrowser.userdata/Default/Extension State/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Extension State/LOG b/Projects/.jxbrowser.userdata/Default/Extension State/LOG deleted file mode 100644 index 668cd27..0000000 --- a/Projects/.jxbrowser.userdata/Default/Extension State/LOG +++ /dev/null @@ -1,3 +0,0 @@ -2023/08/23-16:27:58.688 2320 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Extension State/MANIFEST-000001 -2023/08/23-16:27:58.688 2320 Recovering log #3 -2023/08/23-16:27:58.688 2320 Reusing old log D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Extension State/000003.log diff --git a/Projects/.jxbrowser.userdata/Default/Extension State/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/Extension State/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Extension State/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Favicons b/Projects/.jxbrowser.userdata/Default/Favicons deleted file mode 100644 index b17fbe1..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Favicons and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Favicons-journal b/Projects/.jxbrowser.userdata/Default/Favicons-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Feature Engagement Tracker/AvailabilityDB/LOCK b/Projects/.jxbrowser.userdata/Default/Feature Engagement Tracker/AvailabilityDB/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Feature Engagement Tracker/AvailabilityDB/LOG b/Projects/.jxbrowser.userdata/Default/Feature Engagement Tracker/AvailabilityDB/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Feature Engagement Tracker/EventDB/LOCK b/Projects/.jxbrowser.userdata/Default/Feature Engagement Tracker/EventDB/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Feature Engagement Tracker/EventDB/LOG b/Projects/.jxbrowser.userdata/Default/Feature Engagement Tracker/EventDB/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/000003.log b/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/000003.log deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/CURRENT b/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/LOCK b/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/LOG b/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/LOG deleted file mode 100644 index 47f8c8a..0000000 --- a/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/LOG +++ /dev/null @@ -1,2 +0,0 @@ -2023/08/23-16:28:07.692 3940 Creating DB D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\GCM Store\Encryption since it was missing. -2023/08/23-16:28:08.152 3940 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\GCM Store\Encryption/MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/GCM Store/Encryption/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/GPUCache/data_0 b/Projects/.jxbrowser.userdata/Default/GPUCache/data_0 deleted file mode 100644 index d76fb77..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/GPUCache/data_0 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/GPUCache/data_1 b/Projects/.jxbrowser.userdata/Default/GPUCache/data_1 deleted file mode 100644 index eeab186..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/GPUCache/data_1 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/GPUCache/data_2 b/Projects/.jxbrowser.userdata/Default/GPUCache/data_2 deleted file mode 100644 index c7e2eb9..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/GPUCache/data_2 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/GPUCache/data_3 b/Projects/.jxbrowser.userdata/Default/GPUCache/data_3 deleted file mode 100644 index 5eec973..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/GPUCache/data_3 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/GPUCache/index b/Projects/.jxbrowser.userdata/Default/GPUCache/index deleted file mode 100644 index cc22f2f..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/GPUCache/index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/History b/Projects/.jxbrowser.userdata/Default/History deleted file mode 100644 index 2e32ddc..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/History and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/History-journal b/Projects/.jxbrowser.userdata/Default/History-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/LOCK b/Projects/.jxbrowser.userdata/Default/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/LOG b/Projects/.jxbrowser.userdata/Default/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/000003.log b/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/000003.log deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/CURRENT b/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/LOCK b/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/LOG b/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/LOG deleted file mode 100644 index 810ea17..0000000 --- a/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/LOG +++ /dev/null @@ -1,3 +0,0 @@ -2023/08/23-16:27:58.798 5668 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Local Storage\leveldb/MANIFEST-000001 -2023/08/23-16:27:58.800 5668 Recovering log #3 -2023/08/23-16:27:58.800 5668 Reusing old log D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Local Storage\leveldb/000003.log diff --git a/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Local Storage/leveldb/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Login Data b/Projects/.jxbrowser.userdata/Default/Login Data deleted file mode 100644 index 2c93b0d..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Login Data and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Login Data For Account b/Projects/.jxbrowser.userdata/Default/Login Data For Account deleted file mode 100644 index 2c93b0d..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Login Data For Account and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Login Data For Account-journal b/Projects/.jxbrowser.userdata/Default/Login Data For Account-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Login Data-journal b/Projects/.jxbrowser.userdata/Default/Login Data-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Network Action Predictor b/Projects/.jxbrowser.userdata/Default/Network Action Predictor deleted file mode 100644 index 4e8b0db..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Network Action Predictor and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Network Action Predictor-journal b/Projects/.jxbrowser.userdata/Default/Network Action Predictor-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Network/Cookies b/Projects/.jxbrowser.userdata/Default/Network/Cookies deleted file mode 100644 index 7f36871..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Network/Cookies and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Network/Cookies-journal b/Projects/.jxbrowser.userdata/Default/Network/Cookies-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Network/Network Persistent State b/Projects/.jxbrowser.userdata/Default/Network/Network Persistent State deleted file mode 100644 index c52773c..0000000 --- a/Projects/.jxbrowser.userdata/Default/Network/Network Persistent State +++ /dev/null @@ -1 +0,0 @@ -{"net":{"http_server_properties":{"servers":[{"anonymization":[],"server":"https://optimizationguide-pa.googleapis.com","supports_spdy":true}],"version":5},"network_qualities":{"CAESABiAgICA+P////8B":"4G"}}} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Default/Network/NetworkDataMigrated b/Projects/.jxbrowser.userdata/Default/Network/NetworkDataMigrated deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Preferences b/Projects/.jxbrowser.userdata/Default/Preferences deleted file mode 100644 index 4a95c00..0000000 --- a/Projects/.jxbrowser.userdata/Default/Preferences +++ /dev/null @@ -1 +0,0 @@ -{"account_tracker_service_last_update":"13337270751609216","alternate_error_pages":{"backup":true},"announcement_notification_service_first_run_time":"13337270751600729","autocomplete":{"retention_policy_last_version":108},"autofill":{"orphan_rows_removed":true},"browser":{"enable_spellchecking":true,"has_seen_welcome_page":false,"window_placement":{"bottom":914,"left":0,"maximized":false,"right":1893,"top":0,"work_area_bottom":1040,"work_area_left":0,"work_area_right":1920,"work_area_top":0}},"cloud_print":{"submit_enabled":false},"commerce_daily_metrics_last_update_time":"13337270751608814","countryid_at_install":21077,"default_apps_install_state":3,"domain_diversity":{"last_reporting_timestamp":"13337270751609016"},"extensions":{"alerts":{"initialized":true},"chrome_url_overrides":{},"last_chrome_version":"108.0.5359.125","settings":{"ahfgeienlihckogmohjhadlkjgocpleb":{"active_permissions":{"api":["management","system.display","system.storage","webstorePrivate","system.cpu","system.memory","system.network"],"explicit_host":[],"manifest_permissions":[],"scriptable_host":[]},"app_launcher_ordinal":"t","commands":{},"content_settings":[],"creation_flags":1,"events":[],"from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"install_time":"13337270751602641","location":5,"manifest":{"app":{"launch":{"web_url":"https://chrome.google.com/webstore"},"urls":["https://chrome.google.com/webstore"]},"description":"Широкий выбор приложений, игр, раÑширений и тем Ð´Ð»Ñ Chromium.","icons":{"128":"webstore_icon_128.png","16":"webstore_icon_16.png"},"key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCtl3tO0osjuzRsf6xtD2SKxPlTfuoy7AWoObysitBPvH5fE1NaAA1/2JkPWkVDhdLBWLaIBPYeXbzlHp3y4Vv/4XG+aN5qFE3z+1RU/NqkzVYHtIpVScf3DjTYtKVL66mzVGijSoAIwbFCC3LpGdaoe6Q1rSRDp76wR6jjFzsYwQIDAQAB","name":"Интернет-магазин Chrome","permissions":["webstorePrivate","management","system.cpu","system.display","system.memory","system.network","system.storage"],"version":"0.2"},"needs_sync":true,"page_ordinal":"n","path":"C:\\ti\\ccs1230\\ccs\\eclipse\\configuration\\.jxbrowser.bin\\7.29\\resources\\web_store","preferences":{},"regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false},"mhjfbmdgcfjbbpaeojofohoefgiehjai":{"active_permissions":{"api":["contentSettings","fileSystem","fileSystem.write","metricsPrivate","tabs","resourcesPrivate"],"explicit_host":["chrome://resources/*","chrome://webui-test/*"],"manifest_permissions":[],"scriptable_host":[]},"commands":{},"content_settings":[],"creation_flags":1,"events":[],"from_webstore":false,"incognito_content_settings":[],"incognito_preferences":{},"install_time":"13337270751603344","location":5,"manifest":{"content_security_policy":"script-src 'self' 'wasm-eval' blob: filesystem: chrome://resources chrome://webui-test; object-src * blob: externalfile: file: filesystem: data:","description":"","incognito":"split","key":"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDN6hM0rsDYGbzQPQfOygqlRtQgKUXMfnSjhIBL7LnReAVBEd7ZmKtyN2qmSasMl4HZpMhVe2rPWVVwBDl6iyNE/Kok6E6v6V3vCLGsOpQAuuNVye/3QxzIldzG/jQAdWZiyXReRVapOhZtLjGfywCvlWq7Sl/e3sbc0vWybSDI2QIDAQAB","manifest_version":2,"mime_types":["application/pdf"],"mime_types_handler":"index.html","name":"Chromium PDF Viewer","offline_enabled":true,"permissions":["chrome://resources/","chrome://webui-test/","contentSettings","metricsPrivate","resourcesPrivate","tabs",{"fileSystem":["write"]}],"version":"1"},"path":"C:\\ti\\ccs1230\\ccs\\eclipse\\configuration\\.jxbrowser.bin\\7.29\\resources\\pdf","preferences":{},"regular_only_preferences":{},"state":1,"was_installed_by_default":false,"was_installed_by_oem":false}}},"gcm":{"product_category_for_subtypes":"org.chromium.windows"},"google":{"services":{"signin_scoped_device_id":"83c96504-70ac-451e-88a3-28a17fda9f1e"}},"intl":{"selected_languages":"ru-RU,ru,en-US,en"},"invalidation":{"per_sender_topics_to_handler":{"1013309121859":{},"8181035976":{}}},"media":{"device_id_salt":"073DF7B980EE26594CCDF32976332ED8","engagement":{"schema_version":5}},"ntp":{"num_personal_suggestions":2},"optimization_guide":{"hintsfetcher":{"last_fetch_attempt":"13337271006113108"},"predictionmodelfetcher":{"last_fetch_attempt":"13337271069264107"},"previously_registered_optimization_types":{"HISTORY_CLUSTERS":true},"store_file_paths_to_delete":{}},"pinned_tabs":[],"plugins":{"plugins_list":[]},"profile":{"avatar_index":26,"content_settings":{"enable_quiet_permission_ui_enabling_method":{"notifications":1},"exceptions":{"accessibility_events":{},"app_banner":{},"ar":{},"auto_select_certificate":{},"automatic_downloads":{},"autoplay":{},"background_sync":{},"bluetooth_chooser_data":{},"bluetooth_guard":{},"bluetooth_scanning":{},"camera_pan_tilt_zoom":{},"client_hints":{},"clipboard":{},"cookies":{},"durable_storage":{},"fedcm_active_session":{},"fedcm_share":{},"file_system_access_chooser_data":{},"file_system_last_picked_directory":{},"file_system_read_guard":{},"file_system_write_guard":{},"formfill_metadata":{},"geolocation":{},"get_display_media_set_select_all_screens":{},"hid_chooser_data":{},"hid_guard":{},"http_allowed":{},"idle_detection":{},"images":{},"important_site_info":{},"insecure_private_network":{},"intent_picker_auto_display":{},"javascript":{},"javascript_jit":{},"legacy_cookie_access":{},"local_fonts":{},"media_engagement":{"http://127.0.0.1:62207,*":{"expiration":"13345046765149866","last_modified":"13337270765149874","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}},"http://127.0.0.1:62370,*":{"expiration":"13345046889780240","last_modified":"13337270889780247","setting":{"hasHighScore":false,"lastMediaPlaybackTime":0.0,"mediaPlaybacks":0,"visits":1}}},"media_stream_camera":{},"media_stream_mic":{},"midi_sysex":{},"mixed_script":{},"nfc_devices":{},"notification_interactions":{},"notification_permission_review":{},"notifications":{},"password_protection":{},"payment_handler":{},"permission_autoblocking_data":{},"permission_autorevocation_data":{},"popups":{},"protected_media_identifier":{},"protocol_handler":{},"reduced_accept_language":{},"safe_browsing_url_check_data":{},"sensors":{},"serial_chooser_data":{},"serial_guard":{},"site_engagement":{"http://127.0.0.1:62207,*":{"last_modified":"13337270752727771","setting":{"lastEngagementTime":1.3337270752727762e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":3.0,"rawScore":3.0}},"http://127.0.0.1:62370,*":{"last_modified":"13337270879616334","setting":{"lastEngagementTime":1.3337270879616328e+16,"lastShortcutLaunchTime":0.0,"pointsAddedToday":3.0,"rawScore":3.0}}},"sound":{},"ssl_cert_decisions":{},"storage_access":{},"subresource_filter":{},"subresource_filter_data":{},"usb_chooser_data":{},"usb_guard":{},"vr":{},"webid_api":{},"window_placement":{}},"pref_version":1},"created_by_version":"108.0.5359.125","creation_time":"13337270751568680","exit_type":"Normal","last_engagement_time":"13337270879616327","last_time_obsolete_http_credentials_removed":1692797338.645473,"last_time_password_store_metrics_reported":1692797308.647653,"managed_user_id":"","name":"Пользователь 1","were_old_google_logins_removed":true},"protection":{"macs":{"browser":{"show_home_button":"706998A2D548136395001F48D5E840EFE92E500FFF049C88BFBF37010D622827"},"default_search_provider_data":{"template_url_data":"1A0B2C6B99C2026015A12AA120BA6A502F78667FB7563B3BE86EDADC906588D9"},"extensions":{"settings":{"ahfgeienlihckogmohjhadlkjgocpleb":"9957C2A4FA05F32BDB60A827FF44DFA53F6557A92BFC69367F82B19A99F8B9A0","mhjfbmdgcfjbbpaeojofohoefgiehjai":"BB12FF7FFC298F5F20180DA523D96365FB0B2A8BC958667735F4BECE04B005F9"}},"google":{"services":{"account_id":"2A7D996B8198F8A6A0A6A3FDDD5C47FE7E7D49D46DC2EB03E3858BDF082F43B4","last_account_id":"456BDA1F3F51366EF03CBD964DEBCCB279ECE61BE1E775A36669D9C4D573B247","last_username":"7D14B2C59EF3926E8617CF6044C2970B2A361569DB5F3890949F048BFECCBD92"}},"homepage":"550D4BF3FBEBE80CA27CA107BED9FBC719AC38EADEA8C4BE1907823DCC9ABB3F","homepage_is_newtabpage":"B9B12CF87DBDA924F972EECB03AD26EEF43A01DB7BA04F64F3352A16FC1B91B5","media":{"cdm":{"origin_data":"B51240B592730432A3A022F4CC6290996FBC846B217AC7576F2C40F6E8DA5AD8"},"storage_id_salt":"BE4D4A3145763224FE7E4D797CE51C260D5D4914B92DE1A6933F61E77D351F01"},"pinned_tabs":"A0DA4A8077685468D811581BE7F20395C8A2EEF2E8A7343DA4084078E0DF15F1","prefs":{"preference_reset_time":"58C5C2CCAB2736276F91F4234BD9F80687F19D8AC2B98A7667AC86CA32CB0A93"},"safebrowsing":{"incidents_sent":"ACC053467E8D17958CB07708831E58E0BDC54FBB5D2FD77F610189C6F0EE9306"},"search_provider_overrides":"0FCB61CFC67F7FF3DF62304D77229FAF83C9385920526296C96D80F0B637CF71","session":{"restore_on_startup":"A2713FCB325F44477C62CCBDDBFC7819D8525B8B073F20A7DDAF02EFF642A72A","startup_urls":"59D66E82573020249673A3EAA693649898AFD662B7939FA3BE1324E1B589C2FB"},"settings_reset_prompt":{"last_triggered_for_default_search":"BA17506D1AD9A85192C5739494B7C4554E838969EF7FFDAA072DD1D3DED4B73D","last_triggered_for_homepage":"EEB8BF5A0CA46F50C24ECA5BA77E9E7054C3A4FC782FDF40476F1DDDE71DFA6C","last_triggered_for_startup_urls":"0A020865B1A7B1B5FC981494D04C45E2B551D417B3A8251D41B83DA9F85CF5A5","prompt_wave":"3AC17356EFFACEC90A5F05FE7C252C09360A4406A1A02FDC8377140C2AADEEF3"},"software_reporter":{"prompt_seed":"611325DA54474A76D521CC6C8C6740D42605764426010C1F43D9819130A8B783","prompt_version":"DBBFA4D55E62E0177C07D37303F3BDA8AC028AE0F73780EC12CF19503668739D","reporting":"99552BE60C767BAFB52234D5C5860FB0E5A9BB194CAF6A6ACDC14BCAA7F8B8AC"}}},"safebrowsing":{"enabled":false,"event_timestamps":{},"metrics_last_log_time":"13337270751"},"search":{"suggest_enabled":false},"segmentation_platform":{"last_db_compaction_time":"13337135999000000"},"sessions":{"event_log":[{"crashed":false,"time":"13337270751599579","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":0,"time":"13337270765187959","type":2,"window_count":1},{"crashed":false,"time":"13337270878640910","type":0},{"did_schedule_command":true,"first_session_service":true,"tab_count":0,"time":"13337270889791072","type":2,"window_count":1}],"session_data_status":3},"settings":{"a11y":{"apply_page_colors_only_on_increased_contrast":true}},"signin":{"allowed":false},"spellcheck":{"dictionaries":[],"dictionary":"","use_spelling_service":false},"sync":{"requested":false},"translate_site_blacklist":[],"translate_site_blocklist_with_time":{},"unified_consent":{"migration_state":10},"web_apps":{"did_migrate_default_chrome_apps":["MigrateDefaultChromeAppToWebAppsGSuite","MigrateDefaultChromeAppToWebAppsNonGSuite"],"last_preinstall_synchronize_version":"108"}} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Default/PreferredApps b/Projects/.jxbrowser.userdata/Default/PreferredApps deleted file mode 100644 index 7d3a425..0000000 --- a/Projects/.jxbrowser.userdata/Default/PreferredApps +++ /dev/null @@ -1 +0,0 @@ -{"preferred_apps":[],"version":1} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Default/README b/Projects/.jxbrowser.userdata/Default/README deleted file mode 100644 index 545cc62..0000000 --- a/Projects/.jxbrowser.userdata/Default/README +++ /dev/null @@ -1 +0,0 @@ -Chromium settings and storage represent user-selected preferences and information and MUST not be extracted, overwritten or modified except through Chromium defined APIs. \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Default/Safe Browsing Network/NetworkDataMigrated b/Projects/.jxbrowser.userdata/Default/Safe Browsing Network/NetworkDataMigrated deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Safe Browsing Network/Safe Browsing Cookies b/Projects/.jxbrowser.userdata/Default/Safe Browsing Network/Safe Browsing Cookies deleted file mode 100644 index 7f36871..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Safe Browsing Network/Safe Browsing Cookies and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Safe Browsing Network/Safe Browsing Cookies-journal b/Projects/.jxbrowser.userdata/Default/Safe Browsing Network/Safe Browsing Cookies-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Secure Preferences b/Projects/.jxbrowser.userdata/Default/Secure Preferences deleted file mode 100644 index d3ca90b..0000000 --- a/Projects/.jxbrowser.userdata/Default/Secure Preferences +++ /dev/null @@ -1 +0,0 @@ -{"protection":{"super_mac":"71E708B0D78F2DB2E2D1BEF3F81E64A28FE7DC148F4194B1F65F73855DA89EC7"}} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SegmentInfoDB/LOCK b/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SegmentInfoDB/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SegmentInfoDB/LOG b/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SegmentInfoDB/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SignalDB/LOCK b/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SignalDB/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SignalDB/LOG b/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SignalDB/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SignalStorageConfigDB/LOCK b/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SignalStorageConfigDB/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SignalStorageConfigDB/LOG b/Projects/.jxbrowser.userdata/Default/Segmentation Platform/SignalStorageConfigDB/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Session Storage/000003.log b/Projects/.jxbrowser.userdata/Default/Session Storage/000003.log deleted file mode 100644 index ded89ad..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Session Storage/000003.log and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Session Storage/CURRENT b/Projects/.jxbrowser.userdata/Default/Session Storage/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/Session Storage/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/Session Storage/LOCK b/Projects/.jxbrowser.userdata/Default/Session Storage/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Session Storage/LOG b/Projects/.jxbrowser.userdata/Default/Session Storage/LOG deleted file mode 100644 index 77bd92a..0000000 --- a/Projects/.jxbrowser.userdata/Default/Session Storage/LOG +++ /dev/null @@ -1,3 +0,0 @@ -2023/08/23-16:27:59.632 5668 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Session Storage/MANIFEST-000001 -2023/08/23-16:27:59.679 5668 Recovering log #3 -2023/08/23-16:27:59.680 5668 Reusing old log D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Session Storage/000003.log diff --git a/Projects/.jxbrowser.userdata/Default/Session Storage/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/Session Storage/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Session Storage/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Shortcuts b/Projects/.jxbrowser.userdata/Default/Shortcuts deleted file mode 100644 index ca2c742..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Shortcuts and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Shortcuts-journal b/Projects/.jxbrowser.userdata/Default/Shortcuts-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/000003.log b/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/000003.log deleted file mode 100644 index 4145bb2..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/000003.log and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/CURRENT b/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/LOCK b/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/LOG b/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/LOG deleted file mode 100644 index 7e8f624..0000000 --- a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/LOG +++ /dev/null @@ -1,3 +0,0 @@ -2023/08/23-16:27:58.629 660 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Site Characteristics Database/MANIFEST-000001 -2023/08/23-16:27:58.630 660 Recovering log #3 -2023/08/23-16:27:58.630 660 Reusing old log D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Site Characteristics Database/000003.log diff --git a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Site Characteristics Database/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/000003.log b/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/000003.log deleted file mode 100644 index 2b778f4..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/000003.log and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/CURRENT b/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/LOCK b/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/LOG b/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/LOG deleted file mode 100644 index 1cc25fd..0000000 --- a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/LOG +++ /dev/null @@ -1,3 +0,0 @@ -2023/08/23-16:27:58.648 2770 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Sync Data\LevelDB/MANIFEST-000001 -2023/08/23-16:27:58.657 2770 Recovering log #3 -2023/08/23-16:27:58.657 2770 Reusing old log D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\Sync Data\LevelDB/000003.log diff --git a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Sync Data/LevelDB/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Top Sites b/Projects/.jxbrowser.userdata/Default/Top Sites deleted file mode 100644 index 7811247..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Top Sites and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Top Sites-journal b/Projects/.jxbrowser.userdata/Default/Top Sites-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/Visited Links b/Projects/.jxbrowser.userdata/Default/Visited Links deleted file mode 100644 index 65b7207..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Visited Links and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Web Data b/Projects/.jxbrowser.userdata/Default/Web Data deleted file mode 100644 index ff56fff..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/Web Data and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/Web Data-journal b/Projects/.jxbrowser.userdata/Default/Web Data-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/commerce_subscription_db/LOCK b/Projects/.jxbrowser.userdata/Default/commerce_subscription_db/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/commerce_subscription_db/LOG b/Projects/.jxbrowser.userdata/Default/commerce_subscription_db/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/coupon_db/LOCK b/Projects/.jxbrowser.userdata/Default/coupon_db/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/coupon_db/LOG b/Projects/.jxbrowser.userdata/Default/coupon_db/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/heavy_ad_intervention_opt_out.db b/Projects/.jxbrowser.userdata/Default/heavy_ad_intervention_opt_out.db deleted file mode 100644 index 99819e9..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/heavy_ad_intervention_opt_out.db and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/heavy_ad_intervention_opt_out.db-journal b/Projects/.jxbrowser.userdata/Default/heavy_ad_intervention_opt_out.db-journal deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/optimization_guide_hint_cache_store/LOCK b/Projects/.jxbrowser.userdata/Default/optimization_guide_hint_cache_store/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/optimization_guide_hint_cache_store/LOG b/Projects/.jxbrowser.userdata/Default/optimization_guide_hint_cache_store/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/optimization_guide_model_metadata_store/LOCK b/Projects/.jxbrowser.userdata/Default/optimization_guide_model_metadata_store/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/optimization_guide_model_metadata_store/LOG b/Projects/.jxbrowser.userdata/Default/optimization_guide_model_metadata_store/LOG deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/000003.log b/Projects/.jxbrowser.userdata/Default/shared_proto_db/000003.log deleted file mode 100644 index 5a8d0dc..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/shared_proto_db/000003.log and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/CURRENT b/Projects/.jxbrowser.userdata/Default/shared_proto_db/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/shared_proto_db/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/LOCK b/Projects/.jxbrowser.userdata/Default/shared_proto_db/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/LOG b/Projects/.jxbrowser.userdata/Default/shared_proto_db/LOG deleted file mode 100644 index d407559..0000000 --- a/Projects/.jxbrowser.userdata/Default/shared_proto_db/LOG +++ /dev/null @@ -1,3 +0,0 @@ -2023/08/23-16:27:58.691 5468 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\shared_proto_db/MANIFEST-000001 -2023/08/23-16:27:58.725 5468 Recovering log #3 -2023/08/23-16:27:58.725 5468 Reusing old log D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\shared_proto_db/000003.log diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/shared_proto_db/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/shared_proto_db/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/000003.log b/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/000003.log deleted file mode 100644 index 9475d94..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/000003.log and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/CURRENT b/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/CURRENT deleted file mode 100644 index 7ed683d..0000000 --- a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/CURRENT +++ /dev/null @@ -1 +0,0 @@ -MANIFEST-000001 diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/LOCK b/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/LOCK deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/LOG b/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/LOG deleted file mode 100644 index 1470337..0000000 --- a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/LOG +++ /dev/null @@ -1,3 +0,0 @@ -2023/08/23-16:27:58.683 5468 Reusing MANIFEST D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\shared_proto_db\metadata/MANIFEST-000001 -2023/08/23-16:27:58.684 5468 Recovering log #3 -2023/08/23-16:27:58.684 5468 Reusing old log D:\MotorControlModuleSDFM_TMS320F28388D\MotorControlModuleSDFM_TMS320F28388D\Projects\.jxbrowser.userdata\Default\shared_proto_db\metadata/000003.log diff --git a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/MANIFEST-000001 b/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/MANIFEST-000001 deleted file mode 100644 index 18e5cab..0000000 Binary files a/Projects/.jxbrowser.userdata/Default/shared_proto_db/metadata/MANIFEST-000001 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/First Run b/Projects/.jxbrowser.userdata/First Run deleted file mode 100644 index e69de29..0000000 diff --git a/Projects/.jxbrowser.userdata/GrShaderCache/data_0 b/Projects/.jxbrowser.userdata/GrShaderCache/data_0 deleted file mode 100644 index d76fb77..0000000 Binary files a/Projects/.jxbrowser.userdata/GrShaderCache/data_0 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/GrShaderCache/data_1 b/Projects/.jxbrowser.userdata/GrShaderCache/data_1 deleted file mode 100644 index 2de6f55..0000000 Binary files a/Projects/.jxbrowser.userdata/GrShaderCache/data_1 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/GrShaderCache/data_2 b/Projects/.jxbrowser.userdata/GrShaderCache/data_2 deleted file mode 100644 index c7e2eb9..0000000 Binary files a/Projects/.jxbrowser.userdata/GrShaderCache/data_2 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/GrShaderCache/data_3 b/Projects/.jxbrowser.userdata/GrShaderCache/data_3 deleted file mode 100644 index 5eec973..0000000 Binary files a/Projects/.jxbrowser.userdata/GrShaderCache/data_3 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/GrShaderCache/index b/Projects/.jxbrowser.userdata/GrShaderCache/index deleted file mode 100644 index 04764c2..0000000 Binary files a/Projects/.jxbrowser.userdata/GrShaderCache/index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Last Browser b/Projects/.jxbrowser.userdata/Last Browser deleted file mode 100644 index 43894e1..0000000 Binary files a/Projects/.jxbrowser.userdata/Last Browser and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Last Version b/Projects/.jxbrowser.userdata/Last Version deleted file mode 100644 index 3f1eaa4..0000000 --- a/Projects/.jxbrowser.userdata/Last Version +++ /dev/null @@ -1 +0,0 @@ -108.0.5359.125 \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Local State b/Projects/.jxbrowser.userdata/Local State deleted file mode 100644 index cdc371c..0000000 --- a/Projects/.jxbrowser.userdata/Local State +++ /dev/null @@ -1 +0,0 @@ -{"browser":{"shortcut_migration_version":"108.0.5359.125"},"hardware_acceleration_mode_previous":true,"invalidation":{"per_sender_topics_to_handler":{}},"legacy":{"profile":{"name":{"migrated":true}}},"management":{"platform":{"azure_active_directory":0,"enterprise_mdm_win":0}},"os_crypt":{"encrypted_key":"RFBBUEkBAAAA0Iyd3wEV0RGMegDAT8KX6wEAAAAWBJ6Cb28TQ7JH+wTL+Ye/AAAAAAIAAAAAAANmAADAAAAAEAAAAMBx8csTMQ3LXwWAgHnB3asAAAAABIAAAKAAAAAQAAAASqJkUp0liGNfDNr8JEGa0ygAAACJVcqb47Xz+yFY1UHlDTPRhLudnvIgHS7BszMfzHBkzFDN2oFADf3KFAAAAJ9bEITTLcyMoLpRepJv1B/46GhB"},"policy":{"last_statistics_update":"13337270751565792","native_window_occlusion_enabled":false},"profile":{"info_cache":{"Default":{"avatar_icon":"chrome://theme/IDR_PROFILE_AVATAR_26","background_apps":false,"force_signin_profile_locked":false,"gaia_given_name":"","gaia_id":"","gaia_name":"","hosted_domain":"","is_consented_primary_account":false,"is_ephemeral":false,"is_using_default_avatar":true,"is_using_default_name":true,"managed_user_id":"","name":"Пользователь 1","signin.with_credential_provider":false,"user_name":""}},"last_active_profiles":[],"profile_counts_reported":"13337270751568596"},"profile_network_context_service":{"http_cache_finch_experiment_groups":"None None None None"},"session_id_generator_last_value":"786988389","shutdown":{"num_processes":0,"num_processes_slow":0,"type":0},"subresource_filter":{"ruleset_version":{"checksum":235137280,"content":"9.47.0","format":35}},"tab_stats":{"discards_external":0,"discards_urgent":0,"last_daily_sample":"13337270751607277","max_tabs_per_window":1,"reloads_external":0,"reloads_urgent":0,"total_tab_count_max":1,"window_count_max":1},"ukm":{"persisted_logs":[]},"uninstall_metrics":{"installation_date2":"1692797151"},"updateclientdata":{"apps":{"dhlpobdgcjafebgbbhjdnapejmpkgiie":{"cohort":"1:z9x:","cohortname":"Auto","dlrc":6078,"installdate":6078,"pf":"3192574f-034b-433c-9793-68eba0f5b1bd"},"dnhnnofocefcglhjeigmkhcgfoaipbaa":{"cohort":"1:16j3:","cohortname":"Stable","dlrc":6078,"installdate":6078,"pf":"20e41acb-6a7b-41b3-83f4-a8432bd4bd10"},"eeigpngbgcognadeebkilcpcaedhellh":{"cohort":"1:w59:","cohortname":"Auto","dlrc":6078,"installdate":6078,"pf":"d499566e-ae82-46db-a048-01f17329aca6"},"efniojlnjndmcbiieegkicadnoecjjef":{"cohort":"1:18ql:","cohortname":"Auto Stage3","dlrc":6078,"installdate":6078,"pf":"0b40e913-af5b-44f1-8af9-db3f2b78820a"},"gcmjkmgdlgnkkcocmoeiminaijmmjnii":{"cohort":"1:bm1:","cohortname":"M54AndUp","dlrc":6078,"fp":"1.4c67e9ab7c30c48322e5f6fe5acbd64132c054ebb91bd510b414b1506167ffc9","installdate":6078,"pf":"9dac096d-af28-4e95-8abc-406453603339","pv":"9.47.0"},"ggkkehgbnfjpeggfpleeakpidbkibbmn":{"cohort":"1:ut9/1a0f:","cohortname":"108-and-above-all-users","dlrc":6078,"installdate":6078,"pf":"0889e1b6-a367-4ae6-870b-6ee1894cfd43"},"giekcmmlnklenlaomppkphknjmnnpneh":{"cohort":"1:j5l:","cohortname":"Auto","dlrc":6078,"fp":"1.fd515ec0dc30d25a09641b8b83729234bc50f4511e35ce17d24fd996252eaace","installdate":6078,"pf":"c25d73bf-c961-410e-92da-d2a5be46e476","pv":"7"},"gonpemdgkjcecdgbnaabipppbmgfggbe":{"cohort":"1:z1x:","cohortname":"Auto","dlrc":6078,"installdate":6078,"pf":"d4e40841-c43a-4f65-afd9-62468ed0b701"},"hfnkpimlhhgieaddgfemjhofmfblmnib":{"cohort":"1:jcl:","cohortname":"Auto","dlrc":6078,"installdate":6078,"pf":"6144e0ca-cc55-4c57-ac12-06eba75c0d81"},"imefjhfbkmcmebodilednhmaccmincoa":{"cohort":"1:1iaf:","cohortname":"windows_flatbuffers","dlrc":6078,"installdate":6078,"pf":"afdf604f-86e9-4998-b9de-eaf434006aa7"},"jamhcnnkihinmdlkakkaopbjbbcngflc":{"cohort":"1:wvr:1x1x@0.1","cohortname":"Auto","dlrc":6078,"installdate":6078,"pf":"779fe73f-5b28-4ed2-884f-1f8da3d27041"},"jflookgnkcckhobaglndicnbbgbonegd":{"cohort":"1:s7x:","cohortname":"Auto","dlrc":6078,"installdate":6078,"pf":"01b21aae-d3c6-48a7-bb1b-0a47cc79f800"},"khaoiebndkojlmppeemjhbpbandiljpe":{"cohort":"1:cux:","cohortname":"Auto","dlrc":6078,"fp":"1.a2abb5cf57d3ad529ade67df01567446c6c6a5225b29715119e17c0e0aea6c03","installdate":6078,"pf":"fb064176-db44-41ed-81ec-5d93e33ce810","pv":"62"},"laoigpblnllgcgjnjnllmfolckpjlhki":{"cohort":"1:10zr:","cohortname":"Auto","dlrc":6078,"installdate":6078,"pf":"9e00b564-2754-42a2-8263-68ad4f7942e5"},"llkgjffcdpffmhiakmfcdcblohccpfmo":{"cohort":"1::","cohortname":"","dlrc":6078,"installdate":6078,"pf":"990623a2-ae2e-4ed2-a40e-8ef96c7d795c"},"lmelglejhemejginpboagddgdfbepgmp":{"cohort":"1:lwl:1x43@0.025","cohortname":"Auto","dlrc":6078,"fp":"1.10e773e5fb568810c033464e3e821898761e94b7e0ffadcf01dea71e27642e43","installdate":6078,"pf":"4ff4eeae-0bb2-4bae-9908-1debd512635f","pv":"408"},"obedbbhbpmojnkanicioggnmelmoomoc":{"cohort":"1:s6f:","cohortname":"Auto","dlrc":6078,"fp":"1.6fab330a2747ddb3d59e7fdcc3a0fa888a061d5ee77dedefa1a5e5ae476aac4c","installdate":6078,"pf":"e2e2d1b5-4efb-47af-91bd-ad3710bf23d4","pv":"20230808.558397806.14"},"oimompecagnajdejgnnjijobebaeigek":{"cohort":"1:1bk9:","cohortname":"Chrome 95+","dlrc":6078,"fp":"1.b880ccaf1ce7fd85e6fe7b6846d54de8cc0ea2afd9865cdb444fb4c6db124d9d","installdate":6078,"pf":"cdb120ef-102f-4ccc-927d-d10d1ec411a7","pv":"4.10.2557.0"},"ojhpjlocmbogdgmfpkhlaaeamibhnphh":{"cohort":"1:w0x:","cohortname":"All users","dlrc":6078,"installdate":6078,"pf":"ea9572d1-adbc-4b39-a4d1-46ecd289082f"}}},"user_experience_metrics":{"low_entropy_source3":4518,"machine_id":11032476,"pseudo_low_entropy_source":2523,"session_id":1,"stability":{"browser_last_live_timestamp":"13337271071351887","exited_cleanly":true,"stats_buildtime":"1670868460","stats_version":"108.0.5359.125-64-devel","system_crash_count":0}},"was":{"restarted":false}} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Local Storage - EXT/http_127.0.0.1.localstorage b/Projects/.jxbrowser.userdata/Local Storage - EXT/http_127.0.0.1.localstorage deleted file mode 100644 index 0fe1c76..0000000 --- a/Projects/.jxbrowser.userdata/Local Storage - EXT/http_127.0.0.1.localstorage +++ /dev/null @@ -1 +0,0 @@ -#Wed Aug 23 16:28:09 MSK 2023 diff --git a/Projects/.jxbrowser.userdata/Module Info Cache b/Projects/.jxbrowser.userdata/Module Info Cache deleted file mode 100644 index 7b941f1..0000000 Binary files a/Projects/.jxbrowser.userdata/Module Info Cache and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/_metadata/verified_contents.json b/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/_metadata/verified_contents.json deleted file mode 100644 index c385608..0000000 --- a/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/_metadata/verified_contents.json +++ /dev/null @@ -1 +0,0 @@ -[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJjcl9ydV8yMDIzLTA4LTA4XzU1ODM5NzgwNl81MDAwMDBfaW5kZXguYmluIiwicm9vdF9oYXNoIjoiaFRKNTFVY3l3eU0wbHNnaWQ2V2I1UDJBY1BoX3J0eEdTN3JmMmprYTNodyJ9LHsicGF0aCI6Im1hbmlmZXN0Lmpzb24iLCJyb290X2hhc2giOiJ1aDlkSS0tVnFWZEhUNHp5bTlXMERQNWhqbXdlaGZhYjZWTkZEdThYZnV3In1dLCJmb3JtYXQiOiJ0cmVlaGFzaCIsImhhc2hfYmxvY2tfc2l6ZSI6NDA5Nn1dLCJpdGVtX2lkIjoib2JlZGJiaGJwbW9qbmthbmljaW9nZ25tZWxtb29tb2MiLCJpdGVtX3ZlcnNpb24iOiIyMDIzMDgwOC41NTgzOTc4MDYuMTQiLCJwcm90b2NvbF92ZXJzaW9uIjoxfQ","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"l2LYHME05BtwOvplrXh4QIEo68CjpPTdNz9PyxSg2_kHZTE5AynyjGnJMcF4k2Hfa9NiF85T1D3ioRl7gYwPyGQiZDzUjBIRdGvWT-TFBgPg2H1leHk66KjBp_aczlqignqx0ZMxyhi-9BdIMUJP2tIAYmBIiIOmcriqaYKOGoi9EAdVihhA4XHuiKkiOb-5POz3x145GovFgcHiEcCEgEPkQSYkHzdLlcDDzvXUv30jrjhXzH25ZJ2t7QSMjJOWB7jxWgVq_NDkQDML4Y3U23l49CQ_feNbN_CzpI_aEWGb5c7c1wJpf6b4_rljl7yCkHdrVie4k2WOJNVWQ8fSXTJFR_gnE7gF036tYarNGg5-xyB4uYGRJ1BR5tveqMwsKIEdNSeAkFqbQVCw-PVIK-99IFxczxQhw-15lolP-3fsXNveURppNPR44IAQJxpFzoAG5fVYAZ3zmnlJhBF3F1AwDO69z-hZJFwukWal_xFohRJ4dKrvhA-JOK_6tbLbV2WYxi3y_DTcyUaHtzMsNYjyLt4GPZFO3BHGQAxGlBOxSZKzwWs99Ri1ZZaGYZ4va1XKDhg0PqxxeUN_ItOpM34h7M7VpBU18z3QngLNjpzOkXsMyvp_6WTdR20X3CvYdOVmGx95ImYOjQ0VQmpATL3qwDRt9FxRMVg4LzLUZ5o"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"TrD6Wzk9k0IOAQxHQjjR1t9if4ElR_owW6wjXjpk4GvrlnFMsLamdIg7DgYZjYfR4aFUJDOz_nRPryq0SIeodPy6WINUO_DXcV6Q-qaH4CUN4PM1M2dEZbvOr2gmlBEgZiSw_a9y_-2cPw6uHJVmX0ukgLQelndJ4Zl9QF8y3h-zCrkA37kixEQVgyu8qGVNxLZjAjdO82HPfJXm-TjZ_gM6PRFtFgyDzEIMd4x9ESRtaRoldSZI_-O6Tb2CTv1RtKnvlNgjBZZGEeZLGnt4PnZ6aFKseAdjrpXkwvLrnpM0JSsZ5zQfiVGxUVVmA8mu2Dxe4MZHqeqIP92t_npfbw"}]}}] \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/cr_ru_2023-08-08_558397806_500000_index.bin b/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/cr_ru_2023-08-08_558397806_500000_index.bin deleted file mode 100644 index f2375c5..0000000 Binary files a/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/cr_ru_2023-08-08_558397806_500000_index.bin and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/manifest.fingerprint b/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/manifest.fingerprint deleted file mode 100644 index 4113c7d..0000000 --- a/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/manifest.fingerprint +++ /dev/null @@ -1 +0,0 @@ -1.6fab330a2747ddb3d59e7fdcc3a0fa888a061d5ee77dedefa1a5e5ae476aac4c \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/manifest.json b/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/manifest.json deleted file mode 100644 index a95fc4b..0000000 --- a/Projects/.jxbrowser.userdata/OnDeviceHeadSuggestModel/20230808.558397806.14/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "manifest_version": 2, - "name": "OnDeviceHeadSuggestRU500000", - "version": "20230808.558397806.14" -} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/OptimizationHints/408/_metadata/verified_contents.json b/Projects/.jxbrowser.userdata/OptimizationHints/408/_metadata/verified_contents.json deleted file mode 100644 index 0936ee5..0000000 --- a/Projects/.jxbrowser.userdata/OptimizationHints/408/_metadata/verified_contents.json +++ /dev/null @@ -1 +0,0 @@ -[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJtYW5pZmVzdC5qc29uIiwicm9vdF9oYXNoIjoiemM0ajBCcVRDOVV6cERoRXdwUkI2VUZHdWRNeWhpc00yOTdoT0YweUNJQSJ9LHsicGF0aCI6Im9wdGltaXphdGlvbi1oaW50cy5wYiIsInJvb3RfaGFzaCI6Ii11NGgwbXU3RXFobDE0Ry1MdXdGdGxHWVBrendvaDJIbFd0TFRVcS00dlEifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJsbWVsZ2xlamhlbWVqZ2lucGJvYWdkZGdkZmJlcGdtcCIsIml0ZW1fdmVyc2lvbiI6IjQwOCIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"JeHpLcKORF5QMOqODXpIWgkcJcVH6YxrMDCxdYPRV3i6V8T84qZU1J9-FRaR8Y21s2ct1rrdAcDsXc2GXRpgQgHEuC1NB8UBaFjfVo5EVu_LrXVpQ4p5ifG9zGQFxIWB7gdaUXhaNo31nzSEu3USZjDdTyn9tM68m_9Km9ioDYQ5IZ_I4P1noHHmpfN9yNhFOs2qitIq6NhD66BJkA8e48JP3Dj6wlaC4DUu_12BInK02a37F-xFdZCrBodW8Ighxa3QZMyQCoebdJA6_IyO_HmkPNRLbjMx-LzQZpNmTk8_7696YnWAjDJgzyTcNIO8HGpn--zUaIiJJJukK5SrPpBkxxycfTE9otk5aUYYqeqGLl60siTunou9lcTn2Vo67Bmij82aJyXVIDY5SA3jMXMsQfuPzWgZDesgoDrIqtEOyvY2oxO7aiaKY1c8nzzVoVeL6Q3uUmJ6qvD_mTdwWDkNbMrGcb0OnOaUWd-ENydsLRH_gpnxvMw2TEb7I3l9t_60sygs1QWVh57A38R7g7BdoDdCoG-RbX9AU4i3vDLYQSoBMfbEWue7AHvJ3ofn3-ZWIo1KFm6a45YVWwOUgb2bwjwQsk9RIChssQVFfOqbLrvivycioGaK0GqyrfB3kPlmtaYT1I3_2InJIn9kCenCizI-kgyQAdn38EJgFUc"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"LnYK8_nO99AOj3vDanaQg-gZ85E_yuJgvyV5XZqE1oMkbQp5BD7CXsFi288vhALyMXsILEF48Vqu_Yjve_5lXiafjPKpgp5mvwRbuZ1aga_9j5Mfz1XCGwc-MPTCizasskAvRx9IiSTvKV5JwUZHIUVa4pRy8tWFrc99wPy7EoTsf124dY1ZmtuwsTFdSTvmDRRY-wT8eHJxUOF0sbQrWoYoj6yMElP5EntaY0KahkXfWIL__rlTPFwfHFm1xYbCFP2ddHTfbF5aOE7bWhxp7ix1jS5xyhsZBz-l-wU1Z1qZUvZmeOwzhfrUq2IimYOA29cT4XAfM1yn2tKOsCpAEQ"}]}}] \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/OptimizationHints/408/manifest.fingerprint b/Projects/.jxbrowser.userdata/OptimizationHints/408/manifest.fingerprint deleted file mode 100644 index 696af2e..0000000 --- a/Projects/.jxbrowser.userdata/OptimizationHints/408/manifest.fingerprint +++ /dev/null @@ -1 +0,0 @@ -1.10e773e5fb568810c033464e3e821898761e94b7e0ffadcf01dea71e27642e43 \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/OptimizationHints/408/manifest.json b/Projects/.jxbrowser.userdata/OptimizationHints/408/manifest.json deleted file mode 100644 index 79a48b1..0000000 --- a/Projects/.jxbrowser.userdata/OptimizationHints/408/manifest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "manifest_version": 2, - "name": "Optimization Hints", - "version": "408", - "ruleset_format": "1.0.0" -} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/OptimizationHints/408/optimization-hints.pb b/Projects/.jxbrowser.userdata/OptimizationHints/408/optimization-hints.pb deleted file mode 100644 index b6dcc26..0000000 Binary files a/Projects/.jxbrowser.userdata/OptimizationHints/408/optimization-hints.pb and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/_metadata/verified_contents.json b/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/_metadata/verified_contents.json deleted file mode 100644 index 9cc5f75..0000000 --- a/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/_metadata/verified_contents.json +++ /dev/null @@ -1 +0,0 @@ -[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJtYW5pZmVzdC5qc29uIiwicm9vdF9oYXNoIjoiSUxrUllPSmhIVEZacllLRmN5UC12SkJrVjNWbWVLdHo4d1hEb2VPWjBZMCJ9LHsicGF0aCI6InNzbF9lcnJvcl9hc3Npc3RhbnQucGIiLCJyb290X2hhc2giOiJyRFZLUnlPcXBQQnI3RGhkM2VTazBKZzYxUlJXOVNzeHFBYU95WDFiWHFjIn1dLCJmb3JtYXQiOiJ0cmVlaGFzaCIsImhhc2hfYmxvY2tfc2l6ZSI6NDA5Nn1dLCJpdGVtX2lkIjoiZ2lla2NtbWxua2xlbmxhb21wcGtwaGtuam1ubnBuZWgiLCJpdGVtX3ZlcnNpb24iOiI3IiwicHJvdG9jb2xfdmVyc2lvbiI6MX0","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"nBdNk-7bgnEftAs4hWaHwF1Lk9pt7Eh6pcqe2gyNsE7VnVRp-H27tm1RFAF4htCUlXNJxX6YY-MUiK2DqJpQ3c73KDaFV8DcnadQfcXO3Lbrw7jLYSUaSdzujPkTyhuFcq_BhK0KWiIJ0aJgh7nVOBfAa5AbE6oFlLKMB2Ls0gmzS1-a5hUIu4rw2h9r9jkr6gLYbein5Jk2hdwW3u-1GNjyki4dftG2iZNAI8VhUf5gnCiF4AHCnYSGJsM0RGkmO_HJIzgwpQpP3RDsG2ioeKgxL-kcHhjXWOj3uVGyxpp1FkyHGkeGuqpFZMAxx3CEBiOtFj7i3iQxkgEW-E3uMKI3yA3fSVFqw-GihlLhx9v8S79kDny_JtYvAv9LzphJ34090JUMrBG_hVeuIpeOG3Z3LcI1KIV7mKS7IfXl-ZAMb5qsL3YzHD7KCMPyKlHrrw5ZJ_oJxMBZqQC_qZLC36_5wmnRxtfzej34HpzP1HvkR4vkofN5BXZ5p0Xq774l0b0A-N-giOuvcbLNFBrY47L17HJbrjMbB3ZpWKlL5dyOylYgQNU0nmvBd_r8gTBg9X16_z5Ib-W8-FoJBRFLDD0EqEDp6H2CWuBcGWc80dZCH9nA6w8ZAQtqHZOqdbX2YDdJ8Xg64MVvPer2hNbC5ZyI5mVcCr2lR7O-wt2DBD8"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"eU4ORDVSV8PBvRKcnzbrqQ-HyUkwslGv1NfXKybzBh8IA31azpRYidoTBWgBV1m-apgBUlm846hM9XSPtDEec0VGgWWSCHrCOsDHF5Jb_SEpAm1dhxrKITWvjk1KuNnvQBezUjlszJKBw-ZVGQ0-FeS1rHMg-auzxsWcOYhG57ac0v4L4nazraZO_Q3ykiSjBCGpHG3WXa7WAL1mbe0TY5BSNzccSTVUVo182OEuRR3Napu_6hNoarZ4EZOw-BtaFGmKoswmrVvIu7FJKO61ar54iX5M1qy185pdiFuTxqzQN75I7KgD6yZ-RfCuyAbO7B0gDfjnegDr1iEeUcf_ig"}]}}] \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/manifest.fingerprint b/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/manifest.fingerprint deleted file mode 100644 index b01bf01..0000000 --- a/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/manifest.fingerprint +++ /dev/null @@ -1 +0,0 @@ -1.fd515ec0dc30d25a09641b8b83729234bc50f4511e35ce17d24fd996252eaace \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/manifest.json b/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/manifest.json deleted file mode 100644 index 51f082a..0000000 --- a/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "manifest_version": 2, - "name": "sslErrorAssistant", - "version": "7" -} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/ssl_error_assistant.pb b/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/ssl_error_assistant.pb deleted file mode 100644 index 254d873..0000000 --- a/Projects/.jxbrowser.userdata/SSLErrorAssistant/7/ssl_error_assistant.pb +++ /dev/null @@ -1,54 +0,0 @@ -5 -3sha256/fjZPHewEHTrMDX3I1ecEIeoy3WFxHyGplOLv28kIbtI=5 -3sha256/m/nBiLhStttu1YmOz7Y3D2u1iB1dV2CbIfFa3R2YW5M=5 -3sha256/8Iuf4xRbVCmCMQTJn3rxlglIO1IOKoyuSUgmXyfaIKs=5 -3sha256/8IHdrS+r6IWzSMcRcD/GA6mBxk1ECX8tGRW0rtGWILE=5 -3sha256/k/2eeJTznE32mblA/du19wpVDSIReFX44M8wXa2JY30=5 -3sha256/urWd7jMwR6DJgvWhp6xfRHF5b/cba3iG0ggXtTR6AfM=5 -3sha256/IJPCDSE5tM9H3nuD5m6RU2i9KDdPXVn4qmC/ULlcZzc=5 -3sha256/0Gy8RMdbxHNWR2GQJ62QKDXORYf5JmMmnr1FJFPYpzM=5 -3sha256/8tTICtyaxIQrdbYYDdgZhTN0OpM9kYndvoImtw1Ys5E=5 -3sha256/F7HIlsaG0bpJW8CzYekRbtFqLVTTGqwvuwPDqnlLct0=5 -3sha256/zaV2Aw1A742R1+WpXWvL5atsJbGmeSS6dzZOfe6f1Yw=5 -3sha256/UwOkRGMlP0K/mKNJdpQ0sTg2ean9Tje8UTOvFYzt1GE=5 -3sha256/w7KUXE4/BAo1YVZdO3mBsrMpu4IQuN0mhUXUI//agVU=5 -3sha256/JnPvGqEn36FjHQlBXtG1uWwNtdMj1o2ojR/asqyypNk=5 -3sha256/AUSXlKDCf1X30WhWeAWbjToABfBkJrKWPL6KwEi5VH0=5 -3sha256/zSyVjjFJMIeXK0ktVTIjewwr6U5OePRqyY/nEXTI4P8=5 -3sha256/9dcHlrXN2WV/ehbEdMxMZ8IV4qvGejCtNC5r6nfTviM=5 -3sha256/E+0WZLGSIe5nddlVKZ5fYzaNHHCE3hNqi/OWZD3iKgA=5 -3sha256/QJ/69CTHYPRa0I3UVlwD6N4MtToxpQ1+0izyGnqEHQo=5 -3sha256/LKtpdq9q7F7msGK0w1+b/gKoDHaQcZKTHIf9PTz2u+U=- -BadSSL AntivirusBadSSL MITM Software TestF -Avast Antivirusavast! Web/Mail Shield Rootavast! Web/Mail ShieldK -Bitdefender Antivirus%Bitdefender Personal CA\.Net-Defender Bitdefender/ -Cisco UmbrellaCisco Umbrella Root CACisco5 -Cisco UmbrellaCisco Umbrella Primary SubCACiscoO - ContentKeeper"ContentKeeper Appliance CA \(\d+\)ContentKeeper Technologies3 -Cyberoam FirewallCyberoam Certificate Authority1 - -ForcePointForcepoint Cloud CAForcepoint LLC# - Fortigate FortiGate CAFortinet -FortinetFortinet( Ltd\.)?M -Kaspersky Internet Security.Kaspersky Anti-Virus Personal Root Certificate( -McAfee Web GatewayMcAfee Web Gateway( -NetSparkwww\.netspark\.comNetSparkD -SmoothWall Firewall-Smoothwall-default-root-certificate-authority@ -SonicWall Firewall*HTTPS Management Certificate for SonicWALL+ -SophosSophos SSL CA_[A-Z0-9\-]+Sophos -SophosSophos_CA_[A-Z0-9]++ - -Sophos UTMsophosutm Proxy CA sophosutm8 -Sophos Web ApplianceSophos Web Appliance -Sophos Plc! -Symantec Blue Coat Blue Coat.*> -/Trend Micro InterScan Web Security Suite (IWSS) IWSS\.TREND -Zscaler Zscaler Inc\."@ -3sha256/cH02TnKuUhQx3ZU4l/nEhG1bjDJCmP5T+9StofLRFX8="Mitel(0"@ -3sha256/cH02TnKuUhQx3ZU4l/nEhG1bjDJCmP5T+9StofLRFX8="Mitel(0"@ -3sha256/atuOPgVUYJItFQHLl/lMagLjnI8ndMpAiCW3tYN53BQ="Mitel(0"@ -3sha256/SQtuxr6y1gNHILUUm2spzTVRWYjMFq+FQUiwe5sfihE="Mitel(0"@ -3sha256/71UShHFSMt6S4kbDIzKTYrEySTuxa1ieR3VSC+uHGlY="Mitel(0"@ -3sha256/71UShHFSMt6S4kbDIzKTYrEySTuxa1ieR3VSC+uHGlY="Mitel(0"O -3sha256/DEPqi83p/DvKFlZkrIIVVn40idU5OgyB4aeRQZkuGVM="Sennheiser HeadSetup(0"O -3sha256/j1kfeqTcPv6UkMOKRpLJAR7RKPHeWVVpQG13tvofa0w="Sennheiser HeadSetup(0 \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/ShaderCache/data_0 b/Projects/.jxbrowser.userdata/ShaderCache/data_0 deleted file mode 100644 index d76fb77..0000000 Binary files a/Projects/.jxbrowser.userdata/ShaderCache/data_0 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/ShaderCache/data_1 b/Projects/.jxbrowser.userdata/ShaderCache/data_1 deleted file mode 100644 index 79897ac..0000000 Binary files a/Projects/.jxbrowser.userdata/ShaderCache/data_1 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/ShaderCache/data_2 b/Projects/.jxbrowser.userdata/ShaderCache/data_2 deleted file mode 100644 index c7e2eb9..0000000 Binary files a/Projects/.jxbrowser.userdata/ShaderCache/data_2 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/ShaderCache/data_3 b/Projects/.jxbrowser.userdata/ShaderCache/data_3 deleted file mode 100644 index 5eec973..0000000 Binary files a/Projects/.jxbrowser.userdata/ShaderCache/data_3 and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/ShaderCache/index b/Projects/.jxbrowser.userdata/ShaderCache/index deleted file mode 100644 index 374722f..0000000 Binary files a/Projects/.jxbrowser.userdata/ShaderCache/index and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Subresource Filter/Indexed Rules/35/9.47.0/Ruleset Data b/Projects/.jxbrowser.userdata/Subresource Filter/Indexed Rules/35/9.47.0/Ruleset Data deleted file mode 100644 index 77c3158..0000000 Binary files a/Projects/.jxbrowser.userdata/Subresource Filter/Indexed Rules/35/9.47.0/Ruleset Data and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/Filtering Rules b/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/Filtering Rules deleted file mode 100644 index 9f96081..0000000 --- a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/Filtering Rules +++ /dev/null @@ -1,2789 +0,0 @@ -‡ -ÿï08@R-728x90. -ÿï08@R -adtdp.com^ -ÿï08@Rsdbvveonb1.com^ -ÿï08@R yomeno.xyz^ -:ÿï* - adcore.com.au* - adcore.ch08@R/adcore_ -ÿï08@Ryellowblue.io^ -ÿï08@Rviagengarr.com^ -ÿï08@R -ad999.biz^ -ÿï08@R_468_60. -3÷ï08@R#/wp-content/plugins/wp-super-popup/ -ÿï08@R -.adbutler- -ÿï08@Radrecover.com^ -ÿï08@R hdbcode.com^ --ßï* - konograma.com08@R -/adserver. -.ÿï* -vk.com08@Rvk.me/css/al/ads.css -" -08@R/plugins/cactus-ads/ -,ÿï08@Rmysmth.net/nForum/*/ADAgent_ -ÿï08@Rindoleads.com^ -%08@Rdiscordapp.com/banners/ -Eÿï* - -daum.net08@R)daumcdn.net/adfit/static/ad-native.min.js -(ÿï08@Rlooker.com/api/internal/ -#ÿï08@Rbroadstreetads.com^ -ÿï08@R /banner.cgi? -ÿÿï* -thefreedictionary.com* -downloads.codefi.re* -windows7themes.net* -smallseotools.com* -tampermonkey.net* -globaldjmix.com* -slideplayer.com* - nlfreevpn.com* - oldapps.com08@R:pagead2.googlesyndication.com/pagead/js/*/show_ads_impl.js -ÿï08@R/in/track?data= -! 08@Rlinkbucks.com/tmpl/ -ÿï08@R -ezojs.com^ -ÿï08@Rclicktripz.com^ -Qÿï* -weatherbug.net08@R/web-ads.pulse.weatherbug.net/api/ads/targeting/ -(ÿï* - -ads.ae08@R /upload/ads/ -÷ï08@R -ad-manager/ -#ÿï08@Rsearchad.naver.com^ -08@Rfiles.slack.com^ -ÿï08@R innity.com^ -.ÿï* -vk.com08@Rvk.com/js/al/ads.js? -ÿï08@R admicro.vn^ -ÿï08@R/adsrv. -$ÿï08@Rpubpowerplatform.io^ --ÿï08@Rflashx.tv/js/jquery.cookie.js -1ÿï08@R!highperformancedisplayformat.com^ -ÿï08@R franecki.net^ -ÿï08@R adspirit.de^ -+ÿï08@Rexperienceleague.adobe.com^ -ÿï08@R dianomi.com^ -ÿï08@R popads.net^ -ÿï08@R linkslot.ru^ -ÿï08@R/468_60. -ÿï08@R cjvdfw.com^ -R* -independent.co.uk08@R/pub.pixels.ai/wrap-independent-no-prebid-lib.js -ÿï08@R /publicidade. -ÿï08@R -m32.media^ --ÿï08@Rflashx.tv/player6/jwplayer.js -ÿï08@R exoclick.com^ -ÿï08@R aj2550.bid^ -#ÿï08@R/pagead/conversion/ -R08@RDgovernment-and-constitution.org/images/presidential-seal-300-250.gif -!ÿï08@Rinstreamvideo.ru^ -3* - -forces.net08@Rcdn.bidder.dev/clients/ - 08@Rvk.com/ads.php -=ÿï* - akinator.mobi08@Rakinator.mobi.cdn.ezoic.net^ -ÿï08@R eskimi.com^ -3ÿï08@R#popin.cc/popin_discovery/recommend? -ÿï08@R/advertisments/ - ÿï08@Raff.bstatic.com^† -; 08@R-v.fwmrm.net/ad/g/1?csid=vcbs_cbsnews_desktop_ -ÿï08@R begun.ru^ -!ÿï08@Ravantisvideo.com^ -+08@Rtabiat.gov.tr/KACMS/Files/ad- -ÿï08@R cdntrf.com^ -ÿï08@Rfreeskreen.com^ -@ÿï* -adtrack.yacast.fr* - -adtrack.ca08@R /adtrack. -J * - -spiegel.de08@R.pagead2.googlesyndication.com/getconfig/sodar? -*€* - hanime.tv08@Radtng.com/get/ - ÿï08@Rmetricswpsh.com^ -ÿï08@R webtrafic.ru^ -–* -skiresort.info* - skiresort.de* - skiresort.fr* - skiresort.it* - skiresort.nl08@R6adserver.skiresort-service.com/www/delivery/spcjs.php? -ÿï08@Rjaavnacsdw.com^ -ÿï08@R -/adserver- -,ÿï* - bayie.com08@R /uploads/ads/ -ÿï08@Rstat-rock.com^ -#ÿï08@Rmediaiqdigital.com^ -$08@Reinthusan.tv/prebid.js -ÿï08@R/ads2/ -Êÿï* -embed.comicbook.com* -worldsurfleague.com* -bloomberg.co.jp* - 247sports.com* - bloomberg.com* - cbssports.com* - -sbs.com.au* -cbc.ca08@R.imasdk.googleapis.com/js/sdkloader/ima3_dai.js -Dÿï08@R4makeuseof.com/public/build/images/bg-advert-with-us. -08@R /300x250. -ÿï08@R microad.jp^ -8ÿï08@R(infoworld.com/www/js/ads/gpt_includes.js -ÿï08@R/openx. -!08@Rflashx.tv/js/showad -"‚* -dlh.net08@Rdlh.net^ -ÿï08@R --auto-ads- -/ÿï* -adsystem.com.pl08@R -/adsystem. -ÿï08@Rrevampcdn.com^ -0ÿï* -adspaceagency.com08@R /adspace/ -508@R'radiosun.fi/wp-content/uploads/*300x250 -!ÿï08@Rgetscorecash.com^ -Mÿï* - -thegay.com08@R/thegay.com/assets//jwplayer-*/provider.hlsjs.js -1ÿï08@R!minigame.aeriagames.jp/*/ae-tpgs- -ÿï08@Rmicroadinc.com^ -8 * -triplem.com.au08@Radswizz.com/sca_newenco/ -Dÿï* - adplayer.pro* - 4shared.com08@Rstat-rock.com/player/ -4ÿï08@R$live.lequipe.fr/thirdparty/prebid.js -Lÿï* -analytics.twitter.com* -ads.twitter.com08@Rads.twitter.com^ -;ÿï* -factory.pixiv.net08@Rads-twitter.com/uwt.js -&ÿï08@Rplayer.sendtonews.com^ -;ÿï* -netaffiliation.com08@Rmetaffiliation.com^ -ÿï08@R canstrm.com^ -1* - pointtown.com08@Rvaluecommerce.com^ -A€* -game.anymanager.io08@Rg.doubleclick.net/pagead/ads -ÿï08@R -://banner. -ßï08@R-gpt-ad- -$‚08@Rhcaptcha.com/captcha/ -ÿï08@Ripromcloud.com^ -+ÿï08@Rgpt-worldwide.com/js/gpt.js -#ÿï08@Rbilsyndication.com^ -Bÿï08@R2/wp-content/uploads/useful_banner_manager_banners/ -08@R /pfe/current/ -ÿï08@Rpushprofit.net^ -ÿï08@R 2mdn.net^ -ÿï08@R -adnxs.com^ -!ÿï08@Rfireworksane.com^ -O€08@R@candidate.hr-manager.net/Advertisement/PreviewAdvertisement.aspx -G * - -spiegel.de08@R+g.doubleclick.net/gampad/ads?*superbanner_3 -ÿï08@Radverticum.net^ -Fÿï* - -thegay.com08@R(thegay.com/assets/jwplayer-*/jwplayer.js -oÿï* -pirateproxy.live* -thehiddenbay.com* -thepiratebay.org08@R#thepiratebay.*/static/js/details.js -D08@R6salfordonline.com/wp-content/plugins/wp_pro_ad_system/ý -ÿï08@R -fresh8.co^ -!ÿï08@Rtrafficjunky.net^ -.ÿï08@Rd22xmn10vbouk4.cloudfront.net^ -ÿï08@Rsarcoma.space^ -ÿï08@R purpleads.io^ -ÿï08@R yieldmo.com^ -ÿï08@R -kargo.com^ -Pÿï* -soranews24.com08@R.pagead2.googlesyndication.com/pagead/js/rum.js -ÿï08@R -adapex.io^ -ÿï08@R sbs-ad.com^ -' 08@Rnextcloud.com/remote.php/ -ÿï08@R ayads.co^ -ÿï08@R /adservices. -ÿï08@R hdbcome.com^ -. 08@R commons.wikimedia.org/w/api.php? -ÿï08@Rbytogeticr.com^ -ÿï08@Rtldw.me^ -ÿï08@R smac-ad.com^ -#08@Rsamplefan.com/img/ad/ -ªÿï* -download.pixelexperience.org* -thefreedictionary.com* -smallseotools.com* -tampermonkey.net* -slideplayer.com* -knowfacts.info* -real-sports.jp* -soranews24.com* - megagames.com* - lacoste.com* - newson.us* - -teemo.gg08@R6pagead2.googlesyndication.com/pagead/js/adsbygoogle.js -#ÿï08@Rrubiconproject.com^ -"ÿï08@Rrequotehocker.com^ -!ÿï08@Rlycos.com/catman/ -ÿï08@R _advertising. -ÿï08@Rbrowsiprod.com^ -+08@Rapi.adinplay.com/libs/aiptag/ -Zÿï* -adman.press.pl* - adman.studio* - adman.com* -adman.ee08@R/adman. -÷ï08@R/plugins/wp125/ -,ÿï08@Rjobs.bg/front_job_search.php -ÿï08@R/adssp. -"ÿï08@Rvaluecommerce.com^ -ÿï08@R moviead55.ru^ -ÿï08@R adswizz.com^ -$ÿï08@Rimpactradius-go.com^ -ÿï08@R -tqlkg.com^ -ÿï08@R/adfox/ -ÿï08@R mmctsvc.com^ -ÿï08@Rkimberlite.io^ -ÿï08@Re1cd662960.com^ -ÿï08@R ftd.agency^ -ÿï08@Rdeepintent.com^ -<ÿï* - reuters.com08@Radsafeprotected.com/services/ -C08@R5przegladpiaseczynski.pl/wp-content/uploads/*-300x250- -?* -extrarebates.com08@Rpepperjamnetwork.com/banners/ - ÿï08@Rpartnerlinks.io^ -%ÿï08@Rdiscretemath.org/ads/ -ÿï08@Rhhbypdoecp.com^ - ÿï08@R/bsa-plugin-pro- -G08@R9almayadeen.net/Content/VideoJS/js/videoPlayer/VideoAds.js -ÿï08@Rtwinrdsrv.com^ --ÿï08@Reffectivecreativeformats.com^ - ÿï08@Rcasalemedia.com^ -ÿï08@R/adimg/ -®"* -managedhealthcareexecutive.com* -chromatographyonline.com* -physicianspractice.com* -epaper.timesgroup.com* -medicaleconomics.com* -games.coolgames.com* -formularywatch.com* -digitaltrends.com* -edy.rakuten.co.jp* -blastingnews.com* -accuweather.com* -standard.co.uk* - bloomberg.com* - devclass.com* - mediaite.com* - indy100.com* - weather.com* - nycgo.com* - -theta.tv08@Rg.doubleclick.net/tag/js/gpt.js -08@Rcloud.mail.ru^ -ÿï08@Rvideoroll.net^ -€08@Rpromo.com/embed/ -ÿï08@Rowlunimmvn.com^ -ÿï08@R ://banners. -ÿï08@Raj1907.online^ -:* - rakuten.co.jp08@Rias.global.rakuten.com/adv/ -ÿï08@Rr2b2.io^ -ÿï08@R ad-stir.com^ -208@R$taipit-mebel.ru/upload/resize_cache/¤ -ÿï08@R /sticky-ad- -ÿï08@R yieldlab.net^ - ÿï08@R/components/ads/ -"ÿï08@Rbidder.criteo.com^ -'ÿï08@Rwebcontentassessor.com^ -9ÿï* - wordpress.org08@R/plugins/advanced-ads/ -<08@R.crystalmark.info/wp-content/uploads/*-300x250. -ÿï08@R -/ad/image/ -\* -game.anymanager.io08@R8pagead2.googlesyndication.com/pagead/managed/js/adsense/ -ÿï08@Roctopuspop.com^ -508@R'hiveworkscomics.com/frontboxes/300x250_ -ÿï08@R /adv_teasers. -Cÿï08@R3borneobulletin.com.bn/wp-content/banners/bblogo.jpg -ÿï08@R -adzoc.com^ -ÿï08@R /160x600. -008@R"radiotimes.com/static/advertising/ -$08@Rinfotel.ca/images/ads/ -ßï08@R /adverts/ -ÿï08@R adthrive.com^ - ÿï08@Rrealclick.co.kr^ -ÿï08@R1rx.io^ -`ÿï* -arukikata.co.jp08@R=aff.bstatic.com/static/affiliate_base/js/booking_sp_widget.js -#ÿï08@Radvertica-cdn2.com^ -ÿï08@R adpone.com^ -Lÿï* -ad4.wpengine.com* -vereinslinie.de* - -ad4.fr08@R/ad4. -$ÿï08@Rredintelligence.net^ -Q * - -spiegel.de08@R5doubleclick.net/gampad/*adPositionName%3Dsuperbanner_ -08@R anyclip.com^ -3ÿï08@R#yaytrade.com^*/chunks/pages/advert/ -$ÿï08@Radxpremium.services^ -ÿï08@R adipolo.com^ -ÿï08@Rintergient.com^ -K”* -developers.google.com* -sabotage-films.com08@R .com/ads/ -#ÿï08@Rawin1.com/cshow.php -3* - -icons8.com08@Rimage.shutterstock.com^ -ÿï08@R_468x60. -ÿï08@R -extend.tv^ -ÿï08@R -160x600. -ÿï08@R steepto.com^ -6* - -odysee.com08@Rplayer.aniview.com/script/ -ÿï08@Rblogherads.com^ -' 08@Rfacebook.com/ads/profile/ -ÿï08@R akavita.com^ -F08@R8hinagiku-u.ed.jp/wp54/wp-content/themes/hinagiku/images/ -<ÿï* -jp.square-enix.com08@Rads-twitter.com/oct.js -ÿï08@R -/adbanner/ - ÿï08@Rcreativecdn.com^ -7ÿï* -mcclatchydc.com08@Rntv.io/serve/load.js -ÿï08@Ridealmedia.io^ -+* -socialblade.com08@R -banner.yt^ -Fÿï* -yuukinohana.co.jp08@R!s0.2mdn.net/ads/studio/Enabler.js -ÿï08@R /pbjsandwich- --08@Raccuweather.com/bundles/prebid. -ÿï08@R -/adrotate/ -C* -scrippsdigital.com08@Rscrippsdigital.com/cms/videojs/ -$ÿï08@Rplayer.avplayer.com^ -I€* -independent.co.uk08@R%ads.pubmatic.com/AdServer/js/pwtSync/ -ìõï*" -reklama.ringieraxelspringer.pl* -reklama.grajewo.net.pl* -reklama.citylink.pro* -reklama.mariafm.ru* -reklama.tochka.com* -reklama.cinema.sk* - blaudirekt.de* - -github.com* - pracuj.pl08@R /reklama. -$ÿï08@Rcleverwebserver.com^ -ÿï08@R /banner-ads- -ÿï08@Radventori.com^ -ÿï08@R rbnt.org^ --ÿï08@Ronetag-sys.com/prebid-request -ÿï08@Radtechium.com^• -ÿï08@R tubecorp.com^ -:* -gadgets.ndtv.com08@Rapis.kostprice.com/fapi/ -"08@Rbetterads.org/hubfs/ -ÿï08@R 33across.com^ -)* - -hotair.com08@R p.d.1emn.com^ --ÿï08@Rd2kd9y1bp4zc6.cloudfront.net^ -0* -thepiratebay.org08@Rtorrindex.net^ -ÿï08@R go.ezodn.com^ -3ÿï* -adimg.ru* -nate.com08@R/adimg. -ÿï08@Rwasp-182b.com^ -.ÿï08@Rjwpcdn.com/player/*/googima.js -ÿï08@Rcnt.my^ -Jÿï08@R:az.hp.transer.com/content/dam/isetan_mitsukoshi/advertise/ -"ÿï08@Rchaturbate.com/in/ -ÿï08@R czilladx.com^ -ÿï08@Rallstat-pp.ru^ -608@R(nihasi.ru/upload/resize_cache/*/300_250_ -)ÿï08@Rflashx.tv/js/light.min.js -ÿï08@Rbl230126pb.com^ --ÿï08@Rstrangermeetup.com/socket.io/ -008@R"suntory.co.jp/beer/kinmugi/img/ad/ -Cÿï08@R3mistore.jp/content/dam/isetan_mitsukoshi/advertise/ -(08@Rthingiverse.com/assets/ad/ -ÿï08@R bttrack.com^ -ÿï08@Rsnigelweb.com^ -7ÿï08@R'nosh.jp/build/css/chefly/advertisement- -ÿï08@R -/cmbdv2.js -ÿï08@R xlirdr.com^ -!ÿï08@Rjubnaadserve.com^ -ÿï08@Rsmartclip.net^ -ÿï08@R ownlocal.com^ -.ÿï08@Radfurikun.jp/adfurikun/images/ -ÿï08@R /uploads/adv/ -ÿï08@R autoads.asia^ -!ÿï08@Rvisariomedia.com^ - ÿï08@Rads-twitter.com^ -ÿï08@Rxlviiirdr.com^ -ÿï08@Rbannerboo.com^ -ÿï08@R /160x600_ -$ÿï08@Rti.tradetracker.net^ -ÿï08@R4wnetwork.com^ -Cÿï* -animallabo.hange.jp08@Rsite-banner.hange.jp/adshow? -ÿï08@R lduhtrp.net^ -@* - flashx.to* - flashx.tv08@Rfastcontentdelivery.com^ -ÿï08@R ctxtfl.com^ -Oßï* -admanager.alzura.com* -admanager.google.com08@R /admanager. -#ÿï08@Radlooxtracking.com^ -5ÿï* -bannersnack.dev08@Rbannersnack.com^ -ÿï08@R _ads_iframe_ -ÿï08@R poflix.com^ -U * - nullpress.net08@R6pagead2.googlesyndication.com/pagead/js/adsbygoogle.js -c* -metacritic.com* - giantbomb.com* - gamespot.com08@R"at.adtech.redventures.io/lib/dist/ -0ÿï08@R securenetsystems.net/v5/scripts/ -1ÿï* - wordpress.org08@R/advanced-ads- -ÿï08@Rmixadvert.com^ -ÿï08@R -geozo.com^ -ÿï08@R_468x60_ -ÿï08@R -160x600_ -/* -thepiratebay.org08@R jsdelivr.net^ -@ÿï* -gemini.yahoo.com08@Rgemini.yahoo.com/advertiser/ -ÿï08@R cinarra.com^ -- * - -go.cnn.com08@Rprebid.adnxs.com^ -!ÿï08@R/image/affiliate/ -$ÿï08@Rpro-foto.jp/ads/img/Ó -208@R$somewheresouth.net/banner/banner.php -ÿï08@R mookie1.com^ -308@R%luminalearning.com/affiliate-content/ -ÿï08@R -loopme.me^ ->ÿï* -udn.com08@R#googleapis.com/js/sdkloader/ima3.js -ÿï08@R -adingo.jp^ -!ÿï08@Rtribalfusion.com^ -ÿï08@R/synad2. -ÿï08@R decide.dev^ -"ÿï08@Rtaboola.com/vpaid/ -!ÿï08@Rsuperxxxfree.com^ -7ÿï* - openx.solar* - openx.com08@R.openx. -ÿï08@R ipromote.com^ -+ÿï08@Rgoogle.com/recaptcha/api.js - ÿë08@Rspringserve.com^ -D* -support.google.com08@R gstatic.com/ads/external/images/ -_ÿï* -news.yahoo.co.jp08@R;yimg.jp/images/news-web/all/images/jsonld_image_300x250.png - ÿï08@Rdirectadvert.ru^ -ßï08@R -300x250- -P* - up-4ever.com* - up-4ever.org* - -imgbox.com08@Rajax.googleapis.com^ -c * -imasdk.googleapis.com08@R* - -wral.com08@R$blueconic.net/capitolbroadcasting.js -08@Rasahi.com/ads/ -ÿï08@R anymad.com^ -Dÿï08@R4basinnow.com/admin/upload/settings/advertise-img.jpg -08@Rrunescape.wiki^ -ÿï08@R dtscout.com^ -ÿï08@R /300_250_ -ÿï08@R?adspot_ -&ÿï08@Rgstatic.com/recaptcha/ -#ÿï08@Rbetweendigital.com^ -ÿï08@R /images/adv/ -(ÿï* - -prebid.org08@R/prebid. -%ÿï08@Rinsightexpressai.com^ -ÿï08@R weborama.fr^ -ÿï08@R azkcqs.com^ -ÿï08@R /adchoices/ -Æÿï* -panel.rightflow.com* -ads.pinterest.com* -datalift360.com* -home.tapjoy.com* -propelmedia.com* -publisuites.com* - qubeslate.com* - ad-maven.com08@R /advertisers/ -)€08@Rdisqus.com/embed/comments/ -&ÿï08@R/site=*/viewid=*/size= -hýï* -advertise-solution.nl* -bingads.microsoft.com* -ads.microsoft.com08@R /advertise- -Šÿï* -player.performgroup.com* -goodmorningamerica.com* -embed.comicbook.com* -geo.dailymotion.com* -worldsurfleague.com* -chicagotribune.com* -games.usatoday.com* -player.abacast.net* -player.earthtv.com* -scrippsdigital.com* -howstuffworks.com* -insideedition.com* -paramountplus.com* -blastingnews.com* -api.screen9.com* -givemesport.com* -goodstream.uno* -metacritic.com* -missoulian.com* -paralympic.org* -popculture.com* -realmadrid.com* - 247sports.com* - bloomberg.com* - cbssports.com* - watch.nba.com* - wellgames.com* - doubtnut.com* - einthusan.tv* - etonline.com* - newsweek.com* - cbsnews.com* - irctc.co.in* - sonyliv.com* - weather.com* - -delish.com* - -iheart.com* - -rumble.com* - -truvid.com* - -tubitv.com* - -zeebiz.com* - crhoy.com* - distro.tv* - zdnet.com* - -cnet.com* -bbc.com* -tdn.com* -wsj.com* -rte.ie08@R*imasdk.googleapis.com/js/sdkloader/ima3.js -ÿï08@R adcell.com^ -!ÿï08@Rfuseplatform.net^ -ÿï08@R adocean.pl^ -Xÿï* -githubusercontent.com* - adservice.io* - -github.com08@R /adservice. -ÿï08@R /adjs.php -ÿï08@Rmediafuse.com^ -9ÿï08@R)summitracing.com/global/images/bannerads/ -)08@Rapv-launcher.minute.ly/api/ -ÿï08@R omoonsih.net^¯ -ÿï08@R -fwmrm.net^ -ÿï08@R/textad/ - ÿï08@Rjustpremium.com^ -Âÿï* -xn--allestrungen-9ib.at* -xn--allestrungen-9ib.ch* -xn--allestrungen-9ib.de* -downdetector.com.ar* -downdetector.com.au* -downdetector.com.br* -downdetector.com.co* -downdetector.web.tr* -downdetector.co.nz* -downdetector.co.uk* -downdetector.co.za* -allestoringen.be* -allestoringen.nl* -downdetector.com* -downdetector.ae* -downdetector.ca* -downdetector.cl* -downdetector.cz* -downdetector.dk* -downdetector.ec* -downdetector.es* -downdetector.fi* -downdetector.fr* -downdetector.gr* -downdetector.hk* -downdetector.hr* -downdetector.hu* -downdetector.id* -downdetector.ie* -downdetector.in* -downdetector.it* -downdetector.jp* -downdetector.mx* -downdetector.my* -downdetector.no* -downdetector.pe* -downdetector.ph* -downdetector.pk* -downdetector.pl* -downdetector.pt* -downdetector.ro* -downdetector.ru* -downdetector.se* -downdetector.sg* -downdetector.sk08@R#googletagservices.com/tag/js/gpt.js -.ÿï* - -mixdrop.co08@Rcode.jquery.com^ -ÿï08@R -sticky-ad- - ÿï08@Rsedoparking.com^ -ÿï08@Radmanmedia.com^ -Oÿï* -cloudflare.com* - reklam.com.tr* - -github.com08@R/reklam/ -'ÿï08@Rantiadblocksystems.com^ -5ÿï* - titantv.com08@Rs.ntv.io/serve/load.js -ÿï08@R /plugins/ads- -ÿï08@R xlivrdr.com^ -ÿï08@R/img/ad- -ÿï08@R gwallet.com^ -}ÿï* -elnuevoherald.com* -accuweather.com* -miamiherald.com* - huffpost.com* -loot.tv08@R connatix.com^ -ÿï08@R -sidebar-ad. -B* -telegraph.co.uk08@R!grapeshot.co.uk/main/channels.cgi -2ÿï08@R"google.com/recaptcha/enterprise.js -7ÿï08@R'clj.valuecommerce.com/*/vcushion.min.js -7€* -ads.spotify.com08@Rassets.ctfassets.net^ -#ÿï08@Rad.linksynergy.com^ -7* - kmauto.no08@Rcore.windows.net^*/annonser/ -ÿï08@R ulmoyc.com^ -608@R(schwab.com/scripts/appdynamic/adrum-ext. -=ÿï* - -thegay.com08@Rthegay.com/upd/*/static/js/*.js -ÿï08@R/ad.php? -ÿï08@Rmn230126pb.com^ -ÿï08@R -mczbf.com^ -pÿï* -farfeshplus.com* -tv-asahi.co.jp* - -vlive.tv* - -voici.fr08@R#googletagservices.com/tag/js/gpt.js -ÿï08@Rvideoplaza.tv^ -"ÿï08@R/plugins/adsanity- -ÿï08@R afrikad.com^ -ÿï08@R lkqd.net^ -ÿï08@R /images/adv- - ÿï08@Rserving-sys.com^ -=ÿï* -yellowbridge.com08@Rexponential.com^*/tags.js -#ÿï08@Rdashboard.mgid.com^ -H* - -vidoza.net* - vidoza.co08@Rcdnjs.cloudflare.com/ajax/libs/ -Mÿï* -business.facebook.com08@R$mtouch.facebook.com/ads/api/preview/ -ÿï08@Roopt.fr^ -ÿï08@R /adunits/ -ÿï08@R mgid.com^ -%ÿï08@Rmbank.cz/Adv/Scripts/ -#ÿï08@Rcuddlethehyena.com^ -'ÿï* - textad.hu08@R/textad. -`ÿï* - -dood.watch* -dood.la* -dood.pm* -dood.so* -dood.to* -dood.ws08@R doodcdn.co^ -ÿï08@R rbthre.work^ -ÿï08@Rgodpvqnszo.com^ -ÿï08@R zatnoh.com^ -ÿï08@R -ml314.com^ -!ÿï08@Rvindicosuite.com^ -ÿï08@R teads.tv^ -08@R/prebid_ -6* - sporcle.com08@Rsurvey.g.doubleclick.net^ -#ÿï08@Rja2n2u30a6rgyd.com^ -ÿï08@R_728x90- -ÿï08@R_728x90. -*ÿï08@R/detroitchicago/houston.js -/$* - 4channel.org08@R4channel.org/adv/ -ÿï08@R rcvlink.com^ -*ÿï* - -billink.no08@R -/annonser/ -ÿï08@Rsape.ru^ -ÿï08@Rprf.hn^… -ÿï08@R ad-nex.com^ -Qÿï* - adpartner.cz* - adpartner.de* - adpartner.jp08@R .adpartner. -(ÿï08@Rstatic.tradetracker.net^ -ÿï08@R pubmine.com^ -ÿï08@Rvvvljeqasz.com^ -[ÿï* - -thegay.com08@R=thegay.com/assets//jwplayer-*/jwplayer.core.controls.html5.js -ÿï08@R retagro.com^ -ÿï08@R /media/ads/ -ÿï08@R speakol.com^ -;* -ask.com08@R"rubiconproject.com/prebid/dynamic/ -?* -factory.pixiv.net08@Rgoogletagmanager.com/gtag/js -"ÿï08@Rmidas-network.com^ -<&* - -wral.com08@R"capitolbroadcasting.blueconic.net^ -ÿï08@R/www/delivery/ -ÿï08@R intergi.com^ -1* - naver.com08@Rshopping.naver.net/ad/ -Ö€ * -printedchristmascards.co.uk* -charitychristmascards.org* -christmascardpacks.co.uk* -kingsmeadcards.co.uk* -nativitycards.co.uk* -adventcards.co.uk* - kingsmead.com08@Rbannersnack.com/banners/ -ÿï08@Rsda.seesaa.jp^ -ÿï08@R dtsedge.com^ -ÿï08@R cabnnr.com^ -ÿï08@R _300x250- -Zÿï* - -thegay.com08@R* -chintaistyle.jp08@Rstats.g.doubleclick.net/dc.js -Gÿï08@R7wrestlinginc.com/wp-content/themes/unified/js/prebid.js -*ÿï08@Rflashx.tv/js/jquery.min.js -9€* - -atcoder.jp08@Rassoc-amazon.com/widgets/cm? -,08@Ramazon-adsystem.com/widgets/q? -?ÿï* - -nypost.com08@R!newscgp.com/prod/prebid/nyp/pb.js -%ÿï08@Rmbank.sk/Adv/Scripts/ -ÿï08@R optad360.io^ -6ÿï08@R&minigame.aeriagames.jp/css/videoad.css -ÿï08@R/728x90- - ÿï08@Rparkingcrew.net^ -ÿï08@R/728x90. -"08@R/gpt.js -ÿï08@R -adtng.com^ -ÿï08@Rwpu.sh^ -).* - vidtodo.com08@R vidtodo.com^ -ÿï08@R innovid.com^ - ÿï08@Rspotxchange.com^ -'ÿï* - openx.com08@R -openx.com^ -!ÿï08@Radnxs-simple.com^ - ÿï08@Rpartner-ads.com^ -ÿï08@R /images/adv_ -?ÿï* - konograma.com* - blog.google08@R /admanager/ -ÿï08@Rgrsm.io^ -"ÿï08@Rperfectmarket.com^ -ÿï08@Rmodoro360.com^ -ÿï08@R/adv1. -& 08@Rserviceads.co.uk/api/ad/ -ÿï08@R stpd.cloud^ -#$08@Rarchive.org/services/ -Lÿï08@Rÿï08@R.basinnow.com/upload/settings/advertise-img.jpg -ÿï08@R achcdn.com^ -F* - bbc.co.uk08@R+gn-web-assets.api.bbc.com/bbcdotcom/assets/ -ÿï08@R://affiliates. -&ÿï08@Rbidder.newspassid.com^ ->ÿï* - spankbang.com08@Rspankbang.com^*/prebid-ads.js -ÿï08@R -otm-r.com^ -#ÿï08@Rflashx.tv/js/xfs.js -;ÿï* - yahoo.com08@Ryimg.com/rq/darla/*/g-r-min.js -*ÿï08@Rwikiwiki.jp^*/plus/adv.png -,ÿï* -vk.com08@Rvk.com/images/ads_ -ÿï08@R tidaltv.com^ --ÿï08@Rprofitabledisplaynetwork.com^ -ÿï08@R_advertisement/ -ÿï08@R adglare.net^ -ÿï08@R4dex.io^ -7ÿï* - hotstar.com08@Rhotstar.com/vs/getad.php -3€* -pch.com08@Roptimatic.com/iframe.html - ÿï08@Rpostrelease.com^ -ÿï08@Rbedrapiona.com^ --08@Rsundaysportclassifieds.com/ads/ -ÿï08@R /static/ad/ -0ÿï08@R paymentgate.ru/payment/*_Advert/ -L* -datahjelperne.no08@R*wp.com/www.datahjelperne.no^*/annonser.png -ÿï08@R -a-ads.com^ -9ÿï08@R)/plugins/ad-ace/assets/js/slot-slideup.js“ -‹* -ci.gamerevolution.com* -ci.thefashionspot.com* -ci.craveonline.com* -ci.totallyher.com* -ci.momtastic.com08@R zergnet.com^ -ÿï08@Rgeovisite.com^ -ÿï08@R xadsmart.com^ -ÿï08@R /images/ad/ -ÿï08@R/amp-ad- -^* - nbcnews.com* - -cnbc.com* -nbc.com* -go.com08@R adm.fwmrm.net^*/videoadrenderer. -,ÿï08@Rapi-merchants.skimlinks.com^ -3ÿï08@R#adf.ly/static/image/ad_top_bg2.png? -ÿï08@Rpnuhondppw.com^ -ÿï08@R adxbid.info^ -$ÿï08@Rero-advertising.com^ -=ÿï08@R-cvs.com/webcontent/images/weeklyad/adcontent/ -ÿï08@R -sexad.net^ -ÿï08@R impact-ad.jp^ -6 * - -iheart.com08@Rentitlements.jwplayer.com^ -?ÿï08@R/banmancounselling.com/wp-content/themes/banman/ -ÿï08@Radnuntius.com^ -ÿï08@R vi-serve.com^ -8ÿï* - -goseek.com08@Rmediaalpha.com/js/serve.js -ÿï08@Rinsticator.com^ -ÿï08@R udmserve.net^ -ÿï08@R awemdia.com^ -ÿï08@R /ads/video_ -8ÿï08@R(kanalfrederikshavn.dk^*/jquery.openx.js? -ÿï08@R _300x600_ -! 08@Rsmarters.ro/academy -ÿï08@R powerad.ai^ -ÿï08@Rautomatad.com^ -.08@R 90-60-90.in.ua/images/moda/advt/ -5* -extrarebates.com08@Rad.linksynergy.com^ -"08@Rgunosy.co.jp/img/ad/ -*ÿï* - -mixdrop.co08@R gstatic.com^ -ÿï08@R /publicidad/ -+08@Rmanageengine.com/images/logo/ -:ÿï* -advertising.scoop.co.nz08@R /advertising_ -08@Rsascdn.com/diff/ -ÿï08@Runderdog.media^ -ÿï08@R /reklame/ -#ÿï08@Reroadvertising.com^ -108@R#arnhemland-safaris.com/images/made/ -ÿï08@Rmonadplug.com^ -#ÿï08@Ryieldoptimizer.com^ --08@Rthepiratebay.org/static/main.js -ÿï08@R -prodmp.ru^ -ÿï08@R /dfp/dfp- -ÿï08@Rconnextra.com^ -!ÿï08@Rneodatagroup.com^ -+ÿï08@Rhighperformancecpmgate.com^ -!ÿï08@R/gptprebidnative/ -=ÿï* - -spiegel.de08@Rg.doubleclick.net/tag/js/gpt.js -ÿï08@Rblismedia.com^ -ÿï08@R /images/ads_ -ÿï08@R -/videoads. -Aÿï* -wtk.pl08@R'cloudflare.com^*/videojs-contrib-ads.js -$08@Ruserload.co/adpopup.js -+ÿï* -zappistore.com08@R-adnow. -ûï08@R juicyads.com^ -Áÿï* -player.theplatform.com* -simpsonsworld.com* -foodnetwork.com* - channel5.com* - eonline.com* - nbcnews.com* - today.com* - -ncaa.com* -cmt.com* -cc.com08@Rv.fwmrm.net/ad/p/1? -"08@Rmedia.kijiji.ca/api/ -/08@R!content.pouet.net/avatars/adx.gif -ÿï08@R/ads1. -ÿï08@R aaxads.com^ -'ÿï08@Rdmxleo.dailymotion.com^ -T* -workhardclimbharder.nl* -murf.nl08@R!yadayadayada.nl/banner/banner.phpž" -ÿï08@R 360yield.com^ -Iÿï* -analytics.google.com* -ads.google.com08@Rads.google.com^ -- 08@Ritv.com/itv/hserver/*/site=itv/ -ÿï08@Rluyten-98c.com^ -%08@Ravclub.com^*/adManager. -‰ûï* -ads.atmosphere.copernicus.eu* -ads.elevateplatform.co.uk* -ads.quasaraffiliates.com* -ads.mercadolivre.com.br* -ads.colombiaonline.com* -ads.viksaffiliates.com* -ads.cs.washington.edu* -ads.socialtheater.com* -caravansforsale.co.uk* -ads.buscaempresas.co* -ads.kazakh-zerno.net* -ads.adstream.com.ro* -ads.studyplus.co.jp* -ads.8designers.com* -ads.bestprints.biz* -ads.scotiabank.com* -ads.instacart.com* -ads.lapalingo.com* -ads.microsoft.com* -ads.midwayusa.com* -ads.mobilebet.com* -ads.odesbuild.com* -ads.pinterest.com* -ads.shopee.com.br* -ads.shopee.com.mx* -ads.shopee.com.my* -ads.smartnews.com* -ads.us.tiktok.com* -seriouswheels.com* -ads.bikepump.com* -ads.doordash.com* -ads.jiosaavn.com* -ads.listonic.com* -ads.safi-gmbh.ch* -ads.shopee.co.th* -ads.snapchat.com* -ads.harvard.edu* -ads.kaipoke.biz* -ads.lollipod.de* -ads.msstate.edu* -ads.spotify.com* -ads.taboola.com* -badassembly.com* -ads.allegro.pl* -ads.comeon.com* -ads.google.com* -ads.gurkerl.at* -ads.magalu.com* -ads.nimses.com* -ads.nipr.ac.jp* -ads.selfip.com* -ads.tiktok.com* -ads.typepad.jp* - ads.apple.com* - ads.brave.com* - ads.knuspr.de* - ads.rohlik.cz* - ads.shopee.cn* - ads.shopee.kr* - ads.shopee.ph* - ads.shopee.pl* - ads.shopee.sg* - ads.shopee.tw* - ads.shopee.vn* - ads.watson.ch* - reempresa.org* - satmetrix.com* - ads.gree.net* - ads.kifli.hu* - ads.mgid.com* - ads.route.cc* - ads.cvut.cz* - ads.finance* - -ads.amazon* - -ads.mst.dk* - -ads.olx.pl* - -ads.vk.com* - ads.ac.uk* -ads.band* -fusac.fr* -memo2.nl* -ads.mba* -ads.red* - -ads.am* - -ads.nc08@R://ads. -ÿï08@Retargetnet.com^ -ÿï08@R /npm/prebid- -ÿï08@R/pubads. -)ÿï08@Rnintendo.co.jp/ring/*/adv -4ÿï08@R$musictrack.jp/a/ad/banner_member.jpg -+ÿï* - canalplus.com08@R/advert_ -ÿï08@R -bngpt.com^ -&08@Rnetmile.co.jp/ad/images/ -ÿï08@R /160x600/ -^* - up-4ever.com* - up-4ever.org* - -shink.me* - -shon.xyz08@Rmaxcdn.bootstrapcdn.com^ -*08@Rcdnqq.net/ad/api/popunder.js -1ÿï08@R!trj.valuecommerce.com/vcushion.js -.ÿï08@Rd38psrni17bvxu.cloudfront.net^ -"ÿï08@Rbrand-display.com^ -8ÿï08@R(yield-op-idsync.live.streamtheworld.com^ -ÿï08@R/ad/img/ -ÿï08@R goomaphy.com^ -ÿï08@R --adserver/ -!ÿï08@Rads.linkedin.com^ -:ÿï* - -2vnews.com* - -redbox.com08@Rads3.xumo.com^ -ÿï08@R /ad-choices- - 08@Rjmedj.co.jp/files/ -ÿï08@R -cdn.house^ -0ÿï08@R tractorshed.com/photoads/upload/ -ÿï08@R waqool.com^ -ÿï08@R/adspot/ -ÿï08@R rotarb.bid^ -ÿï08@R adtrue.com^ -{ÿï* -hutchgo.com.cn* -hutchgo.com.hk* -hutchgo.com.sg* -hutchgo.com.tw* - hutchgo.com08@Rcdn.advertserve.com^ -#ÿï08@Ryouradexchange.com^ -ÿï08@R ad4989.co.kr^ -ÿï08@R strossle.com^ -0ÿï08@R static.sunmedia.tv/integrations/ -%ÿï08@Rservedbyadbutler.com^ -(* - wordpress.org08@R ps.w.org^ -6ÿï08@Rµapp.bytedance.com/docs/page-data/ -ÿï08@R /publicidade/ -ÿï08@R connectad.io^ -2ÿï* -outlook.live.com08@R /assets/ads/ - ÿï08@R/didna_config.js -&08@Rbrave.com/static-assets/ -ÿï08@R adman.gr^ -(€* -vk.com08@Rvk.com/ads.php? -ÿï08@R sholke.com^ -ÿï08@R aimatch.com^ -( 08@Rmail.bg/mail/index/getads/ -ÿï08@R labadena.com^ -J* -japan.techrepublic.com* -japan.zdnet.com08@Raiasahi.jp/ads/ -<ÿï08@R,sdltutorials.com/Data/Ads/AppStateBanner.jpg -ÿï08@R microad.net^ -#$08@Rpbs.twimg.com/ad_img/ -ÿï08@R htlbid.com^ -ÿï08@R vaugroar.com^ -ÿï08@R -surfe.pro^ -ÿï08@R ktkjmp.com^ -/ÿï08@Rukbride.co.uk/css/*/adverts.css -4ÿï08@R$yuru-mbti.com/static/css/adsense.css - ÿï08@Rblockadsnot.com^Ä -1ÿï08@R!rakuten-bank.co.jp/rb/ams/img/ad/ -ÿï08@R /modules/ad/ -&ÿï08@Rlabymod.net/affiliate/ -C* -gamingbible.co.uk* - ladbible.com08@Raniview.com/api/ -'08@Rbigfishaudio.com/banners/ -ÿï08@R adquery.io^ -ÿï08@Runblockia.com^ --08@Rgaynetwork.co.uk/Images/ads/bg/ -Öÿï* - google.com.ar* - google.com.au* - google.com.br* - google.com.co* - google.com.ec* - google.com.eg* - google.com.hk* - google.com.mx* - google.com.my* - google.com.pe* - google.com.ph* - google.com.pk* - google.com.py* - google.com.sa* - google.com.sg* - google.com.tr* - google.com.tw* - google.com.ua* - google.com.uy* - google.com.vn* - google.co.id* - google.co.il* - google.co.in* - google.co.jp* - google.co.ke* - google.co.kr* - google.co.nz* - google.co.th* - google.co.uk* - google.co.ve* - google.co.za* - -google.com* - google.ae* - google.at* - google.be* - google.bg* - google.by* - google.ca* - google.ch* - google.cl* - google.cz* - google.de* - google.dk* - google.dz* - google.ee* - google.es* - google.fi* - google.fr* - google.gr* - google.hr* - google.hu* - google.ie* - google.it* - google.lt* - google.lv* - google.nl* - google.no* - google.pl* - google.pt* - google.ro* - google.rs* - google.ru* - google.se* - google.sk08@Rwww.google.*/search? -!ÿï08@Rtradedoubler.com^ -ÿï08@R affec.tv^ -ÿï08@R prdredir.com^ -ÿï08@R ad-srv.net^ -8ÿï* -smartadserver.de08@Rsmartadserver.com^ -%ÿï08@Rpostaffiliatepro.com^ - ÿï08@Radskeeper.co.uk^ -!ÿï08@Rspolecznosci.net^ -ÿï08@R/pubads_ -ÿï08@Rforemedia.net^ -:ûï* - sportmail.ru* -mail.ru08@R ad.mail.ru^ -Oÿï* -panel.rightflow.com* -ads.pinterest.com08@R?advertiser_id= -ÿï08@Rxwqvytuiko.com^ -%ÿï08@Rpremiumvertising.com^ -ÿï08@R/openx/ -ÿï08@R eabids.com^ -$ÿï08@Rdisplayad.naver.com^ -Oÿï* - kobe-np.co.jp* - yahoo.co.jp08@Ryads.c.yimg.jp/js/yads-async.js -Jÿï* -gulli.fr* -msn.com08@Rv.fwmrm.net/ad/g/1?*_html5_live -5ÿï08@R%manageengine.com/products/ad-manager/ -*ÿï08@Rgakushuin.ac.jp/ad/common/ -ÿï08@R zemanta.com^ ->ÿï* - sportsbull.jp08@Rkoshien-live.net/99/adtag.xml -ÿï08@R imonomy.com^ -ÿï08@R /ajs.php? -Fÿï08@R6kotaku.com/x-kinja-static/assets/new-client/adManager. -"ÿï08@Rgoogle.com/pagead/ -808@R*crystalmark.info/wp-content/uploads/sites/ -ÿï08@R pubguru.net^ -ÿï08@Reroterest.net^ -Dÿï* - homedepot.com08@R#thdstatic.com/experiences/local-ad/ -(ÿï08@Rminutemediaservices.com^ -ÿï08@R -cdn.ex.co^ -%ÿï08@Ripedeisasbeautif.com^ - 08@Redmodo.com/ads -;* -linternaute.com08@Rastatic.ccmbg.com^*/prebid -ÿï08@R/ads.css -qÿï* -pirateproxy.live* -thehiddenbay.com* -thepiratebay.org08@R%thepiratebay.*/static/js/prototype.js -:08@R,hatenacorp.jp/_next/static/chunks/pages/ads- -ÿï08@R /js.ad/size= -&ÿï08@Rimasdk.googleapis.com^ -ÿï* -hutchgo.com.cn* -hutchgo.com.hk* -hutchgo.com.sg* -hutchgo.com.tw* - hutchgo.com08@Rhutchgo.advertserve.com^ -N* -broadsheet.com.au* - friendcafe.jp08@Rfuseplatform.net^*/fuse.js -ÿï08@R buzzoola.com^ -Gÿï* -doctors.bannerhealth.com08@Rbanner.customer.kyruus.com^ -ÿï08@R _120x600. -ÿï08@R/ad_img/ -‹ÿï* -epaper.timesgroup.com* -nationalreview.com* -nationalworld.com* - chelseafc.com* - nbcsports.com* - windalert.com* - kowb1290.com* - scotsman.com* - k2radio.com* - chegg.com* - vimeo.com* - -koel.com* - -uefa.com08@R#googletagservices.com/tag/js/gpt.js -ÿï08@R -caroda.io^ -2ÿï08@R"bitcoinbazis.hu/advertise-with-us/ -ÿï08@R bidvol.com^ -ÿï08@R tmyzer.com^ -$ÿï08@Rparking.godaddy.com^ -.ÿï08@R/plugins/meks-easy-ads-widget/ -ÿï08@R/adbox.Æ -&ÿï08@Rscan-manga.eu/*pageID= -4ÿï* - adsco.com* -adsco.nl08@R/adsco. -* -08@Rvk.com/ads?act=payments&type -ÿï08@R pubmatic.com^ -ÿï08@Rmotominer.com^ -ÿï08@R rotaban.ru^ -*08@Rpayload.cargocollective.com^ -€08@Rstreamlare.com^ -ÿï08@Rscanscout.com^ -&ÿï08@Rcoliassfeurytheme.com^ -ÿï08@R atemda.com^ -<ÿï08@R,island.lk/userfiles/image/danweem/island.gif -ÿï08@R bngprm.com^ -<ÿï08@R,so-net.ne.jp/access/hikari/minico/ad/images/ -Uÿï* -imasdk.googleapis.com08@R,g.doubleclick.net/gampad/ads*%20Web%20Player -4ÿï* - ad.atown.jp08@Rad.atown.jp/adserver/ -ÿï08@R -hhkld.com^ -ÿï08@R exosrv.com^ -ÿï08@R/468-60. -ÿï08@R acscdn.com^ -(ÿï08@R/detroitchicago/vpp.gif? -ÿï08@R /afs/ads/ - ÿï08@Ruze-ads.com/ads/ -ÿï08@R -publicidad. -@08@R2nc-myus.com/images/pub/www/uploads/merchant-logos/ -ÿï08@R0c6dd161e9.com^ -_ÿï* -vk.sportsbull.jp* - s.yimg.jp08@R.imasdk.googleapis.com/js/sdkloader/ima3_dai.js -608@R(usgamer.net/static/scripts/SidebarAds.js -ÿï08@Rbuysellads.com^ -@ßï* -shoplinker.co.kr* -vereinslinie.de08@R/ad2. -ÿï08@R wpnsrv.com^ -ÿï08@R -adnami.io^ -ÿï08@R /adsites/ -ÿï08@R xlviirdr.com^ -ÿï08@R seedtag.com^ -ÿï08@R liqwid.net^ - ÿï08@Rad-delivery.net^ -$ÿï08@Rgoogleads.github.io^ -<ÿï08@R,thepiratebay.org/cdn-cgi/challenge-platform/ -gÿï* - cpu-world.com* - megaleech.us08@R6pagead2.googlesyndication.com/pagead/js/adsbygoogle.js --ÿï* - betfair.com08@Rapmebf.com/ad/ - ÿï08@Rsaweatherco.com^ -<* - -daum.net08@R"daumcdn.net/adfit/static/ad.min.js -ÿï08@R adotone.com^ -l€* -fxnetworks.com* -my.xfinity.com* - nbcsports.com* - -cnbc.com* -nbc.com08@Rads.freewheel.tv/ -ÿï08@R a-mo.net^ - ÿï08@Rlwonclbench.com^ -ÿï08@R prplads.com^ -B* - cbsnews.com* - zdnet.com08@Rcbsi.com/dist/optanon.js -cÿï* -packhacker.com* - mediaite.com08@R1ads.adthrive.com/builds/core/*/js/adthrive.min.js -ÿï08@R /300x250- -€08@Rstreamtape.com^ -ÿï08@R /dynamic/ads/ -508@R'carandclassic.co.uk/images/free_advert/ -ÿï08@R.net/ad_ -ÿï08@R adx1.com^ -ÿï08@R -/mobilead_ -ÿï08@R -/adstream_ -!‚08@Rskimresources.com^ -ÿï08@R.ru/ads/ -ÿï08@R pub.network^ -B08@R4leffatykki.com/media/banners/tykkibanneri-728x90.png -:ÿï08@R*suntory.co.jp/beer/kinmugi/css2020/ad.css? -ÿï08@Rsitewithg.com^Ø - ÿï08@R/search/tsc.php? -s* -battlecats-db.com* - games.wkb.jp08@R@pagead2.googlesyndication.com/pagead/managed/js/*/show_ads_impl_ -ÿï08@R /amp4ads- -ÿï08@R pubwise.io^ -+ÿï08@Rbionestraff.pro/300x250.php -ÿï08@R -zucks.net^ -ÿï08@R glimtors.net^ -/ÿï08@Rfaculty.uml.edu/klevasseur/ads/ -(08@Rabcnews.com/assets/player/ -6* - animedao.to08@Ryimg.com/dy/ads/native.js - ÿï08@Roldgyhogola.com^ -ýï08@R/advertisement_ - ÿï08@Rsmilewanted.com^ -?ÿï* -developers.google.com08@Rdevelopers.google.com^ -÷ï08@R /publicidad. -%ÿï08@Rdisplayvertising.com^ -/08@R!showcase.codethislab.com/banners/ -$ÿï08@R/discourse-adplugin- -,ÿï* - e.mail.ru08@R an.yandex.ru^ -$ÿï08@Rzinro.net/m/end.php? -ÿï08@Rsascdn.com/tag/ -T * -imasdk.googleapis.com08@R-g.doubleclick.net/gampad/ads?*RakutenShowtime -#$08@Rdocs.woopt.com/wgact/ -ÿï08@R aso1.net^ -&ÿï08@Rapi.adnetmedia.lt/api/ -%08@Rphotofunia.com/effects/ -)08@Rwaaw.to/adv/ads/popunder.js -ÿï08@Rtagdeliver.com^ -ÿï08@R /prebidlink/ -2 -* -canyoublockit.com08@Rgoogleapis.com^ -ÿï08@Rwuzbhjpvsf.com^ -ÿï08@Rpro-market.net^ -ÿï08@R prhzxq.com^ -ÿï08@R adtlgc.com^ -<ÿï* - wordpress.org08@Rwordpress.org/stats/plugin/ -ÿï08@Rupskittyan.com^ -0ÿï08@R google.com/recaptcha/enterprise/ -€08@Rvoeunblock.com^ -0ÿï* - wordpress.org08@R -ads-manager/ -ÿï08@R2d12b2f25b.com^ -ÿï08@R .net/bnr/ -(ÿï08@Rads.instacart.com/admin/ -ÿï08@R innity.net^ -*08@Rexplainxkcd.com/wiki/images/ -ÿï08@R wtg-ads.com^ -' * - -adroll.com08@R adroll.com^ -ÿï08@R/adx2. -ÿï08@R -lhmos.com^ -Àÿï*% -!advert-ai-landing.firebaseapp.com* -advert-ai-landing.web.app* -advert-technology.com* -advert-solutions.com* -advert-technology.ru* - advert-ai.com08@R/advert- -ÿï08@Rdisplayfly.com^ -ÿï08@R inmobi.com^ -$ÿï08@Rc3s.bionestraff.pro^ -$ÿï08@Ryahoo.com/bidRequest -bÿë* -shopifycloud.com* - myshopify.com* - slidely.com* - promo.com08@R ://promo. -ÿï08@Rntv.io^ -ÿï08@R /300x250_ -!ÿï08@Rassoc-amazon.com^ -ÿï08@R goaserv.com^ -ÿï08@Rdeployads.com^ -#ÿï08@Rads.sportradar.com^ -! 08@Radf.ly/ad/banner/*= -ÿï08@Rzimg.jp^ -Dÿï08@R4/wp-content/plugins/amazon-product-in-a-post-plugin/ -[* -gamingbible.co.uk* - ladbible.com08@R(micro.rubiconproject.com/prebid/dynamic/ž -ÿï08@R/ads_1. -ÿï08@R shbzek.com^ -ÿï08@R -300x250_ -ÿï08@Rethicalads.io^ -ÿï08@R awltovhc.com^ -ÿï08@R adition.com^ -P * -manageengine.com* -zohopublic.com08@Rzohopublic.com^*/ADManager_ -ÿï08@R mpsuadv.ru^ -!ÿï08@Rrichaudience.com^ -ÿï08@R vak345.com^ -'ÿï08@Rqsearch-a.akamaihd.net^ -ÿï08@R player.ex.co^ -ÿï08@R ezoiccdn.com^ -€08@Rvoeunblock3.com^ -ÿï08@R /ad_images/ -ÿï08@Rcontextweb.com^ -Æÿï* -xn--allestrungen-9ib.at* -xn--allestrungen-9ib.ch* -xn--allestrungen-9ib.de* -downdetector.com.ar* -downdetector.com.au* -downdetector.com.br* -downdetector.com.co* -downdetector.web.tr* -downdetector.co.nz* -downdetector.co.uk* -downdetector.co.za* -allestoringen.be* -allestoringen.nl* -downdetector.com* -downdetector.ae* -downdetector.ca* -downdetector.cz* -downdetector.dk* -downdetector.ec* -downdetector.es* -downdetector.fi* -downdetector.fr* -downdetector.gr* -downdetector.hk* -downdetector.hr* -downdetector.hu* -downdetector.id* -downdetector.ie* -downdetector.in* -downdetector.it* -downdetector.jp* -downdetector.mx* -downdetector.my* -downdetector.no* -downdetector.pe* -downdetector.pk* -downdetector.pl* -downdetector.pt* -downdetector.ro* -downdetector.ru* -downdetector.se* -downdetector.sg* -downdetector.sk* -downdetector.c08@R;static.ziffdavis.com/sitenotice/evidon-sitenotice-bundle.js -/ÿï* -canyoublockit.com08@R -hwcdn.net^ -ÿï08@Reasyhits4u.com^ -ÿï08@R watwait.com^ -ÿï08@R.me/ads/ -ÿï08@Rinklinkor.com^ -ÿï08@R nsfwadds.com^ -ÿï08@Rad.gt^ -ÿï08@R adacado.com^ -Uÿï* - yahoo.co.jp08@R6s.yimg.jp/images/listing/tool/yads/yads-timeline-ex.js -ÿï08@R -_prebid.js -, 08@Roptout.networkadvertising.org^ -ÿï08@Rmarphezis.com^ -  08@Rlshstream.xyz/hls/ -(ÿï08@Rfireworkadservices1.com^ -ÿï08@Rgenieessp.com^ -ÿï08@Rrxeosevsso.com^ -ÿï08@R sonobi.com^ -i* -gamingbible.co.uk* -justthenews.com* - ladbible.com* - explosm.net08@Rplayer.avplayer.com^ -308@R%martinfowler.com/articles/asyncJS.css -1* - gmarket.co.kr08@Rebaykorea.com/ADS/ - ÿï08@Rnichedlinks.com^ -.ÿï08@Rd1z2jf7jlzjs58.cloudfront.net^ -)ÿï08@Rautotrader.co.uk^*/advert -)08@Rkincho.co.jp/cm/img/bnr_ad_ -9ÿï* - xfreehd.com08@Rexosrv.com/video-slider.js -ÿï08@R://ad1. -ÿï08@Radm.shinobi.jp^ -ÿï08@Radf.ly/funcript -ÿï08@R_adbox_ -ÿï08@R tapioni.com^ -C08@R5innervision.co.jp/var/ezwebin_site/storage/images/ad/ -&€ 08@Rtab.gladly.io/newtab/ -%ÿï08@Rshareasale.com/image/ -aÿï* - bloomberg.com* - weather.com* - -telsu.fi08@R%g.doubleclick.net/pagead/ppub_config? -%ÿï* - ads4.city08@R/ads4. -ÿï08@R /web_ads/ -&ÿï08@Rinterworksmedia.co.kr^ -ÿï08@R/api/ad/ -)ÿï08@Rads-i.org/images/ads3.jpg ->ÿï08@R.dcdirtylaundry.com/cdn-cgi/challenge-platform/ -)ÿï08@R/wp-auto-affiliate-links/ -Kÿï* - sportsnet.ca08@R+sportsnet.ca/wp-content/plugins/bwp-minify/ -.ÿï08@Rd2v02itv0y9u9t.cloudfront.net^ -ÿï08@R affinity.com^ -ÿï08@R adzerk.net^ -ÿï08@R -300x600. -ÿï08@R waust.at^Õ -&ÿï08@Rpresidentialprism.com^ -ÿï08@Rvk.com/ads?act= -ÿï08@R unibots.in^ -Aÿï08@R1przegladpiaseczynski.pl/wp-content/plugins/wppas/ -ÿï08@R boomads.com^ -ÿï08@R adbro.me^ -ÿï08@R adpushup.com^ -ÿï08@R -jivox.com^ -ÿï08@R/newAd/ -ÿï08@Rinfolinks.com^ -ÿï08@R /bsa-pro- -ÿï08@R readpeak.com^ -‚08@R /myvids/rek/ - ÿï08@Rsnack-media.com^ -ÿï08@R go.trvdp.com^ -ÿï08@R dable.io^ -ÿï08@Rrtbrennab.com^ -ÿï08@R /ad_spot. - ÿï08@Rwpunativesh.com^ -,ÿï08@Reffectivecreativeformat.com^ -!ÿï08@Rbannerbridge.net^ -ÿï08@R zyf03k.xyz^ - ÿï08@Ripredictive.com^ -ÿï08@R /img/adv/ -$ÿï08@Radf.ly/js/display.js -Wÿï* -travel.rakuten.co.jp08@R/r10s.jp/share/themes/ds/js/show_ads_randomly.js -3 -* -canyoublockit.com08@Rfluidplayer.com^ -#"08@Rnytimes.com^*/adslot- -ÿï08@R moatads.com^ -&ÿï08@Rhealthyadvertising.es^ -ÿï08@R _800x100. -ÿï08@R rtmark.net^ -ÿï08@R stgowan.com^ -6„* - ezfunnels.com08@Rezsoftwarestorage.com^ -ÿï08@R ctengine.io^ -ÿï08@Rclickmon.co.kr^ - ÿï08@Rclickintext.net^ -!ÿï08@Rclickcertain.com^ -ÿï08@R/adv3. -ÿï08@Radgebra.co.in^ -ÿï08@R vivaclix.com^ -/* - allocine.fr08@Rgetjad.io/library/ -!ÿï08@Rc.bannerflow.net^ -ÿï08@R .com/adlib/ -+ÿï* -vk.com08@Rvk.me/images/ads_ -6ÿï* - adnext.lt* - adnext.pl08@R/adnext. -)* - achaloto.com08@R /banner/ad/ -ÿï08@R adbox.lv^ -4ÿï* -scan-manga.com08@Rc.ad6media.fr/l.js -&ÿï08@Rsocket.streamable.com^ -'08@Rflying-lines.com/banners/ -ÿï08@R emxdgt.com^ -b* -techrepublic.com* - zdnet.com* - -cnet.com08@R'redventures.io/lib/dist/prod/bidbarrel- -'ÿï08@Roauth.vk.com/authorize? -#ÿï08@Rkaiu-marketing.com^ -** -bbc.com08@Rbbc.gscontxt.net^ -ÿï08@R /300x600_ -ÿï08@Rservenobid.com^ -ÿï08@R /files/ads/ -ÿï08@R adhese.com^ -!ÿï08@Radmetricspro.com^ -?ÿï08@R/cloudfront.net/js/script_tag/new/sca_affiliate_ - ÿï* -nationalreview.com* -digitaltrends.com* -edy.rakuten.co.jp* - bloomberg.com* - chelseafc.com* - -voici.fr08@R"g.doubleclick.net/gpt/pubads_impl_ -ÿï08@Rdiclotrans.com^Ô -ÿï08@R bookmsg.com^ -ÿï08@R 4dsply.com^ -ÿï08@R ay.delivery^ -'ÿï08@Rminutemedia-prebid.com^ -ÿï08@R greeter.me^ --ÿï08@Rpartner.googleadservices.com^ -ÿï08@R caltat.com^ -J* - kaaoszine.fi08@R,assets.strossle.com^*/strossle-widget-sdk.js -Gÿï* -packhacker.com* - mediaite.com08@Rads.adthrive.com/api/ -ÿï08@R mobfox.com^ -:ÿï08@R*/plugins/ad-ace/includes/shoppable-images/ -P* -video.vice.com* - -iheart.com08@R"jwpcdn.com/player/plugins/googima/ -Oÿï08@R?az.hpcn.transer-cn.com/content/dam/isetan_mitsukoshi/advertise/ -$ÿï08@Radsafeprotected.com^ -2* - wordpress.org08@Rs.w.org/wp-content/ -ÿï08@R stootsou.net^ -ÿï08@R clksite.com^ -ÿï08@Rtsyndicate.com^ - ÿï08@Rdoubleclick.net^ -I"* -golfnetwork.co.jp* -tv-asahi.co.jp08@Rad-api-v01.uliza.jp^ -ÿï08@R popcash.net^ -ÿï08@R/wppas/ -ÿï08@Rancznewozw.com^ -!ÿï08@Rlive.primis.tech^ -ÿï08@R /public/ads/ -;* - boats.com08@R boatwizard.com/ads_prebid.min.js -Q”* -tooltrucks.com* - pingdom.com* - thetvdb.com08@R com/banners/ -ÿï08@Rbrainlyads.com^ -4ÿï* - naver.com08@Rakamaized.net^*.stream/ -ÿï08@Radactioner.com^ -ÿï08@Rd5390684c4.com^ -ÿï08@R -?bannerid= -%ÿï08@Rshowmeyouradsnow.com^ -!ÿï08@Rsharethrough.com^ -108@R#pandora.com/images/public/devicead/ -.ÿï08@Rpagead2.googlesyndication.com^ -ÿï08@R adhigh.net^ -ÿï08@R _160x600. -C* - up-4ever.com* - up-4ever.org08@Rfonts.googleapis.com^ -ÿï08@R /banner-ads/ -ÿï08@R.nl/ads/ -ÿï08@R=468x60& -#ÿï08@Rforexprostools.com^ - ÿï08@Radlightning.com^ -!ÿï08@Rintellipopup.com^ -ÿï08@R /tnt.ads. -ÿï08@R /display.ad. -9* -ripshusvagnar.se08@Radmanager.clubzebra.se^ -8ÿï08@R(point.rakuten.co.jp/img/crossuse/top_ad/ -ÿï08@R /plugins/ads/ -ÿï08@R trafmag.com^ -508@R'renewcanceltv.com/porpoiseant/banger.js -ÿï08@Rjads.co^ -ÿï08@Rtremorhub.com^ -C* - jjazz.net08@R(adswizz.com/adswizz/js/SynchroClient*.js -&ÿï08@Rbbc.co.uk^*/adverts.js -ÿï08@R admixer.net^ -9* -go.com08@R!adm.fwmrm.net^*/TremorAdRenderer. -ÿï08@R-468x60. -*08@Rmjhobbymassan.se/r/annonser/ -ÿï08@R nonotro.name^ -ÿï08@R -optnx.com^ -ÿï08@R adkernel.com^ -+$* - 4channel.org08@R 4cdn.org/adv/Ð -ÿï08@Rqvol.tv^ -ÿï08@R -fqtag.com^ -ÿï08@R hprofits.com^ -ÿï08@R .cz/bannery/ -:* - -shink.me* - -shon.xyz08@Rcloudflare.com/ajax/ -9ÿï* - matchers.fr08@Rsupabase.co/rest/v1/advert -+* - asahi.com08@Rasahicom.jp/ads/ -5* - datpiff.com08@Rhw-ads.datpiff.com/news/ -ÿï08@R /html/ad. -.†08@Rwww.google.com/ads/preferences/ -8* - reuters.com08@Radsafeprotected.com/iasPET. -P* - -telsu.fi* -olx.pl08@R,securepubads.g.doubleclick.net/tag/js/gpt.js - 08@Rdiscretemath.org^ --"* -thepiratebay.org08@R apibay.org^ -ÿï08@R inskinad.com^ -F* - chycor.co.uk08@R(chycor.co.uk/cms/advert_search_thumb.php -)ÿï08@Rapi.friends.ponta.jp/api/ -$ÿï08@Ramazon-adsystem.com^ -"ÿï08@Rmedia6degrees.com^ -ÿï08@R exdynsrv.com^ -D* - afreecatv.com08@R%afreecatv.com/js/plugin/ad/preroll.js -ÿï08@R/ad728. -*ÿï08@Rgoogle.com/adsense/search/ -ÿï08@R trackad.cz^ -A08@R3shaka-player-demo.appspot.com/lib/ads/ad_manager.js -ÿï08@Rptclassic.com^ -08@Rpngimg.com/distr/ - ÿï08@Radvertserve.com^ -ÿï08@R /banner.php -}ÿï* - tele-sport.ru* - -gisher.org* - armdb.org* - -peers.tv* -5-tv.ru08@R*an.yandex.ru/system/video-ads-sdk/adsdk.js -ÿï08@Rmultiview.com^ -ÿï08@R://ads2. -ÿï08@Ribillboard.com^ -$ÿï08@Rbestcontentfund.top^ -2ÿï08@R"aone-soft.com/style/images/ad2.jpg -608@R(webbtelescope.org/files/live/sites/webb/ -€08@Rdoodstream.com^ - ÿï08@Radtarget.com.tr^ -ÿï08@R /advertise_ - ÿï08@Rexponential.com^ -Y* -mylifetime.com* - history.com* - -aetv.com* -fyi.tv08@Rdoubleclick.net/ddm/ --ÿï* - adspipe.com08@Rads.kbmax.com^ -ÿï08@R _160x600_ -008@R"playwire.com/bolt/js/zeus/embed.js -ÿï08@R -lijit.com^ -¦€* - soap2day.ac* - soap2day.mx* - soap2day.sh* - soap2day.to* - -s2dfree.cc* - -s2dfree.de* - -s2dfree.is* - -s2dfree.nl* - -s2dfree.to08@Rgoogle.com/recaptcha/ -ÿï08@Rdstillery.com^ -ÿï08@R -ads/assets/ -ÿï08@R nereserv.com^ -Oÿï* -programs.sbs.co.kr08@R)ad.smartmediarep.com/NetInsight/video/smr -"ÿï08@Rsystem-notify.app^ -ÿï08@R -pubtm.com^ - 08@Rkmsv.jp/images/ad/ -C* - up-4ever.com* - up-4ever.org08@Rconnect.facebook.net^ -ÿï08@Romnitagjs.com^ - 08@Rmsubload.com/sub/ -ÿï08@R grabo.bg^ -0 08@R"forum.miuiturkiye.net/konu/reklam. -ÿï08@R7a75ebcbd7.com^ -ÿï08@R grmtas.com^ -B* - -wbnq.com08@R(franklymedia.com/*/300x150_WBNQ_TEXT.png -ÿï08@R clmbtech.com^ -108@R#airplaydirect.com/openx/www/images/ -3€ 08@R"jokerly.com/Okidak/vastChecker.htmÄ -ÿï08@R -1ts19.top^ -ÿï08@R/wp-bannerize/ -%$08@Rarchive.org/BookReader/ - ÿï08@Rjullyambery.net^ -ÿï08@R -3lift.com^ -ÿï08@R adsco.re^ -ÿï08@R /google-ads/ -µýï* -motortrader.com.my* - advert.com.tr* - advert.org.pl* - advert.media* - advert.club* - advert.ae* - advert.ee* - advert.ge* - advert.io08@R/advert. -ÿï08@R admitad.com^ -)ÿï08@Rphonograph2.voxmedia.com^ -`ÿï* -edy.rakuten.co.jp* -tv-tokyo.co.jp* - -voici.fr08@Rg.doubleclick.net/gampad/ads? -08@R/prebid/ -6ÿï08@R&nnmclub.to/forum/misc/html/advert.html -.* -extrarebates.com08@R pjtra.com/b/ -)ÿï* -ads.com08@R /images/ads- -ÿï08@Re-planning.net^ -ÿï08@R /adserver3. -ÿï08@R/728x90/ -#ÿï08@Rs3t3d2y8.afcdn.net^ -ÿï08@R-prebid- -!ÿï08@Rbullionyield.com^ -ÿï08@R -o333o.com^ -ÿï08@R ftjcfx.com^ -ÿï08@Rtrackpush.com^ - ÿï08@Rwarpwire.com/AD/ -%ÿï08@Rui.ads.microsoft.com^ -ÿï08@Rjuicycash.net^ -<* - wallapop.com08@Rgoogleoptimize.com/optimize.js -208@R$gocomics.com/assets/ad-dependencies- -*ÿï08@Rhighcpmrevenuenetwork.com^ -ÿï08@Rad.about.co.kr^ -.* - hotstar.com08@Rworldgravity.com^ -ÿï08@R --pubmatic- - ÿï08@Rcameraprive.com^ -*ÿï08@Rlokopromo.com^*/adsimages/ -$ÿï08@Rrevive-adserver.net^ -ÿï08@R /native-ads- ->* - -spiegel.de08@R"g.doubleclick.net/gpt/pubads_impl_ -ÿï08@Rccjzuavqrh.com^ -Uÿï* - -thegay.com08@R7thegay.com/assets//jwplayer-*/jwplayer.core.controls.js -*ÿï08@Rgoogle.com/adsense/domains -3ÿï* - adguard.com08@Rapi.paymentwall.com^ -Mÿï* -thepiratebay.org08@R)thepiratebay.*/static/js/scriptaculous.js -/* -extrarebates.com08@R pntrac.com/b/ -ÿï08@R cdn4ads.com^ -= * - -roblox.com08@R!ads.roblox.com/v1/sponsored-pages -ÿï08@Rbidtheatre.com^ -;* -tilt.fi08@R"s0.2mdn.net/instream/html5/ima3.js -- * - promo.com08@Rpromo.zendesk.com^ - -08@Rhp.com/in/*/ads/ -&ÿï08@Rgoogletagservices.com^ -50* -vk.com08@Rapi.vigo.ru^*/network_status? -ÿï08@Radmatic.com.tr^ -Gÿï* -gemini.yahoo.com08@R#yimg.com/av/gemini-ui/*/advertiser/ ->€* -chrome-extension-scheme08@Rlastpass.com/ads.php -i* -video.venturebeat.com* -video.timeout.com08@R-player.anyclip.com/anyclip-widget/lre-widget/ -$ÿï08@Rintelligenceadx.com^ -!ÿï08@Rpartnerstack.com^ -4* -urbanglasgow.co.uk08@Rfdyn.pubwise.io^ -ÿï08@R zvwhrc.com^ --08@Rgoogle.com/images/integrations/ -!ÿï08@Rboost-next.co.jp^ -ÿï08@R adhaven.com^ -ÿï08@Rzendplace.pro^â" -ÿï08@R bngwlt.com^ -ÿï08@R -glssp.net^ -ÿï08@R -vntsm.com^ -Ýï08@R .com/ads. -ÿï08@R -eacdn.com^ -¸ÿï* -xn--allestrungen-9ib.at* -xn--allestrungen-9ib.ch* -xn--allestrungen-9ib.de* -downdetector.com.ar* -downdetector.com.au* -downdetector.com.br* -downdetector.com.co* -downdetector.web.tr* -downdetector.co.nz* -downdetector.co.uk* -downdetector.co.za* -allestoringen.be* -allestoringen.nl* -downdetector.com* -downdetector.ae* -downdetector.ca* -downdetector.cz* -downdetector.dk* -downdetector.ec* -downdetector.es* -downdetector.fi* -downdetector.fr* -downdetector.gr* -downdetector.hk* -downdetector.hr* -downdetector.hu* -downdetector.id* -downdetector.ie* -downdetector.in* -downdetector.it* -downdetector.jp* -downdetector.mx* -downdetector.my* -downdetector.no* -downdetector.pe* -downdetector.pk* -downdetector.pl* -downdetector.pt* -downdetector.ro* -downdetector.ru* -downdetector.se* -downdetector.sg* -downdetector.sk* -downdetector.c08@R-static.ziffdavis.com/sitenotice/*/settings.js -0ÿï08@R clickfunnels.com/assets/cfpop.js - ÿï08@Raudiencerun.com^ -•* -advertising-excellence.com* -advertising-stands.com.ua* -advertising-direct.com* -advertising-factory.de* -advertising.amazon.com* -abramarketing.com* -yellowimages.com* -deals-italy.com* - microsoft.com* - outbrain.com08@R /advertising- -ÿï08@R .php?zoneid= -/ÿï08@Rportal.autotrader.co.uk/advert/ -Gÿï* - -thegay.com08@R)thegay.com/assets//jwplayer-*/jwplayer.js -,ÿï08@Rprofitablegatetocontent.com^ -0* -nfl.com08@Rnflcdn.com/static/site/ -08@Rmegaup.net/*.gif -ÿï08@R -/reklama2. -'ÿï* - hs-exp.jp08@R.jp/ads/ -…* - -vidoza.net* - flashx.to* - flashx.tv* - vidoza.co* - -govid.co* - -shink.me* - -shon.xyz08@Rajax.googleapis.com/ajax/libs/ -3ÿï08@R#abcnews.com/assets/js/prebid.min.js -$ÿï08@Rhighrevenuegate.com^ -,ÿï08@Reffectivedisplayformats.com^ -ÿï08@R -frap.site^ -ÿï08@R dpmsrv.com^ -) 08@Rv.fwmrm.net/crossdomain.xml -ÿï08@Rtrafficdok.com^ -*ÿï08@Rchaturbate.com/affiliates/ -)ÿï08@Rgumtree.co.za/my/ads.html -"08@R/full-page-script.js -.ÿï08@Rpreromanbritain.com/maxymiser/ -ÿï08@Radkaora.space^ - ÿï08@R2020mustang.com^ -6€* - -atcoder.jp08@Ramazon-adsystem.com/e/cm? -Tÿï* - -thegay.com08@R6thegay.com/assets/jwplayer-*/jwplayer.core.controls.js -ÿï08@Rrtbsystem.com^ -ÿï08@R insurads.com^ -ÿï08@R/in/show/?mid= -b * -metacritic.com* - giantbomb.com* - gamespot.com08@R!at.adtech.redventures.io/lib/api/ - 08@Rfaculty.uml.edu^ -ÿï08@R adscale.de^ -"* -managedhealthcareexecutive.com* -chromatographyonline.com* -physicianspractice.com* -epaper.timesgroup.com* -medicaleconomics.com* -games.coolgames.com* -formularywatch.com* -nationalworld.com* -blastingnews.com* -downdetector.com* -accuweather.com* - nbcsports.com* - mediaite.com* - scotsman.com* - weather.com* - nycgo.com* - -telsu.fi08@R doubleclick.net/gpt/pubads_impl_ -;ÿï* - adriver.tech* - -adriver.co08@R .adriver. -)* - mp4upload.com08@R -hwcdn.net^ -ÿï08@R mainroll.com^ -"ÿï08@Rpushmaster-in.xyz^ -ÿï08@R -wpush.org^ -%ÿï08@Raffiliate.heureka.cz^ -ÿï08@R -xlrdr.com^ -ÿï08@Rmfcewkrob.com^ -ÿï08@R loulouly.net^ -@ÿï* - -iheart.com08@R"live.streamtheworld.com/partnerIds -’ÿï* -barstoolsports.com* -exomashomepage.com* -familyhandyman.com* -gamingbible.co.uk* -blastingnews.com* -accuweather.com* -foxbusiness.com* -tasteofhome.com* -thehealthy.com* - wellgames.com* - inquirer.com* - keloland.com* - history.com* - -wvnstv.com* - radio.com* - -time.com* - -wboy.com* - -wkrn.com* - -wlns.com* -cnn.com* -rd.com* -si.com08@R"amazon-adsystem.com/aax2/apstag.js -)ÿï* - -github.com08@R /reklama/ -$€08@Rads.memo2.nl/banners/ -0ÿï08@R givingassistant.org/Advertisers/ -ÿï08@Rbrealtime.com^ -ÿï08@R -/media/ad/ -ÿï08@R -/bannerad/ -ÿï08@R vlitag.com^ -+ * - -mixdrop.co08@Rmxdcontent.net^ --08@Rcrackle.com/vendor/AdManager.js -!ÿï08@Rvianoivernom.com^ -ÿï08@R-728x90- \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/LICENSE.txt b/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/LICENSE.txt deleted file mode 100644 index 8cb58d9..0000000 --- a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/LICENSE.txt +++ /dev/null @@ -1,383 +0,0 @@ -EasyList Repository Licences - - Unless otherwise noted, the contents of the EasyList repository - (https://github.com/easylist) is dual licensed under the GNU General - Public License version 3 of the License, or (at your option) any later - version, and Creative Commons Attribution-ShareAlike 3.0 Unported, or - (at your option) any later version. You may use and/or modify the files - as permitted by either licence; if required, "The EasyList authors - (https://easylist.to/)" should be attributed as the source of the - material. All relevant licence files are included in the repository. - - Please be aware that files hosted externally and referenced in the - repository, including but not limited to subscriptions other than - EasyList, EasyPrivacy, EasyList Germany and EasyList Italy, may be - available under other conditions; permission must be granted by the - respective copyright holders to authorise the use of their material. - - -Creative Commons Attribution-ShareAlike 3.0 Unported - - CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE - LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN - ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS - INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO - WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS - LIABILITY FOR DAMAGES RESULTING FROM ITS USE. - -License - - THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS - CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS - PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK - OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS - PROHIBITED. - - BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND - AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS - LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE - RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS - AND CONDITIONS. - - 1. Definitions - a. "Adaptation" means a work based upon the Work, or upon the Work and - other pre-existing works, such as a translation, adaptation, - derivative work, arrangement of music or other alterations of a - literary or artistic work, or phonogram or performance and includes - cinematographic adaptations or any other form in which the Work may - be recast, transformed, or adapted including in any form - recognizably derived from the original, except that a work that - constitutes a Collection will not be considered an Adaptation for - the purpose of this License. For the avoidance of doubt, where the - Work is a musical work, performance or phonogram, the - synchronization of the Work in timed-relation with a moving image - ("synching") will be considered an Adaptation for the purpose of - this License. - b. "Collection" means a collection of literary or artistic works, such - as encyclopedias and anthologies, or performances, phonograms or - broadcasts, or other works or subject matter other than works - listed in Section 1(f) below, which, by reason of the selection and - arrangement of their contents, constitute intellectual creations, - in which the Work is included in its entirety in unmodified form - along with one or more other contributions, each constituting - separate and independent works in themselves, which together are - assembled into a collective whole. A work that constitutes a - Collection will not be considered an Adaptation (as defined below) - for the purposes of this License. - c. "Creative Commons Compatible License" means a license that is - listed at https://creativecommons.org/compatiblelicenses that has - been approved by Creative Commons as being essentially equivalent - to this License, including, at a minimum, because that license: (i) - contains terms that have the same purpose, meaning and effect as - the License Elements of this License; and, (ii) explicitly permits - the relicensing of adaptations of works made available under that - license under this License or a Creative Commons jurisdiction - license with the same License Elements as this License. - d. "Distribute" means to make available to the public the original and - copies of the Work or Adaptation, as appropriate, through sale or - other transfer of ownership. - e. "License Elements" means the following high-level license - attributes as selected by Licensor and indicated in the title of - this License: Attribution, ShareAlike. - f. "Licensor" means the individual, individuals, entity or entities - that offer(s) the Work under the terms of this License. - g. "Original Author" means, in the case of a literary or artistic - work, the individual, individuals, entity or entities who created - the Work or if no individual or entity can be identified, the - publisher; and in addition (i) in the case of a performance the - actors, singers, musicians, dancers, and other persons who act, - sing, deliver, declaim, play in, interpret or otherwise perform - literary or artistic works or expressions of folklore; (ii) in the - case of a phonogram the producer being the person or legal entity - who first fixes the sounds of a performance or other sounds; and, - (iii) in the case of broadcasts, the organization that transmits - the broadcast. - h. "Work" means the literary and/or artistic work offered under the - terms of this License including without limitation any production - in the literary, scientific and artistic domain, whatever may be - the mode or form of its expression including digital form, such as - a book, pamphlet and other writing; a lecture, address, sermon or - other work of the same nature; a dramatic or dramatico-musical - work; a choreographic work or entertainment in dumb show; a musical - composition with or without words; a cinematographic work to which - are assimilated works expressed by a process analogous to - cinematography; a work of drawing, painting, architecture, - sculpture, engraving or lithography; a photographic work to which - are assimilated works expressed by a process analogous to - photography; a work of applied art; an illustration, map, plan, - sketch or three-dimensional work relative to geography, topography, - architecture or science; a performance; a broadcast; a phonogram; a - compilation of data to the extent it is protected as a - copyrightable work; or a work performed by a variety or circus - performer to the extent it is not otherwise considered a literary - or artistic work. - i. "You" means an individual or entity exercising rights under this - License who has not previously violated the terms of this License - with respect to the Work, or who has received express permission - from the Licensor to exercise rights under this License despite a - previous violation. - j. "Publicly Perform" means to perform public recitations of the Work - and to communicate to the public those public recitations, by any - means or process, including by wire or wireless means or public - digital performances; to make available to the public Works in such - a way that members of the public may access these Works from a - place and at a place individually chosen by them; to perform the - Work to the public by any means or process and the communication to - the public of the performances of the Work, including by public - digital performance; to broadcast and rebroadcast the Work by any - means including signs, sounds or images. - k. "Reproduce" means to make copies of the Work by any means including - without limitation by sound or visual recordings and the right of - fixation and reproducing fixations of the Work, including storage - of a protected performance or phonogram in digital form or other - electronic medium. - - 2. Fair Dealing Rights. Nothing in this License is intended to reduce, - limit, or restrict any uses free from copyright or rights arising from - limitations or exceptions that are provided for in connection with the - copyright protection under copyright law or other applicable laws. - - 3. License Grant. Subject to the terms and conditions of this License, - Licensor hereby grants You a worldwide, royalty-free, non-exclusive, - perpetual (for the duration of the applicable copyright) license to - exercise the rights in the Work as stated below: - a. to Reproduce the Work, to incorporate the Work into one or more - Collections, and to Reproduce the Work as incorporated in the - Collections; - b. to create and Reproduce Adaptations provided that any such - Adaptation, including any translation in any medium, takes - reasonable steps to clearly label, demarcate or otherwise identify - that changes were made to the original Work. For example, a - translation could be marked "The original work was translated from - English to Spanish," or a modification could indicate "The original - work has been modified."; - c. to Distribute and Publicly Perform the Work including as - incorporated in Collections; and, - d. to Distribute and Publicly Perform Adaptations. - e. For the avoidance of doubt: - i. Non-waivable Compulsory License Schemes. In those - jurisdictions in which the right to collect royalties through - any statutory or compulsory licensing scheme cannot be waived, - the Licensor reserves the exclusive right to collect such - royalties for any exercise by You of the rights granted under - this License; - ii. Waivable Compulsory License Schemes. In those jurisdictions in - which the right to collect royalties through any statutory or - compulsory licensing scheme can be waived, the Licensor waives - the exclusive right to collect such royalties for any exercise - by You of the rights granted under this License; and, - iii. Voluntary License Schemes. The Licensor waives the right to - collect royalties, whether individually or, in the event that - the Licensor is a member of a collecting society that - administers voluntary licensing schemes, via that society, - from any exercise by You of the rights granted under this - License. - - The above rights may be exercised in all media and formats whether now - known or hereafter devised. The above rights include the right to make - such modifications as are technically necessary to exercise the rights - in other media and formats. Subject to Section 8(f), all rights not - expressly granted by Licensor are hereby reserved. - - 4. Restrictions. The license granted in Section 3 above is expressly - made subject to and limited by the following restrictions: - a. You may Distribute or Publicly Perform the Work only under the - terms of this License. You must include a copy of, or the Uniform - Resource Identifier (URI) for, this License with every copy of the - Work You Distribute or Publicly Perform. You may not offer or - impose any terms on the Work that restrict the terms of this - License or the ability of the recipient of the Work to exercise the - rights granted to that recipient under the terms of the License. - You may not sublicense the Work. You must keep intact all notices - that refer to this License and to the disclaimer of warranties with - every copy of the Work You Distribute or Publicly Perform. When You - Distribute or Publicly Perform the Work, You may not impose any - effective technological measures on the Work that restrict the - ability of a recipient of the Work from You to exercise the rights - granted to that recipient under the terms of the License. This - Section 4(a) applies to the Work as incorporated in a Collection, - but this does not require the Collection apart from the Work itself - to be made subject to the terms of this License. If You create a - Collection, upon notice from any Licensor You must, to the extent - practicable, remove from the Collection any credit as required by - Section 4(c), as requested. If You create an Adaptation, upon - notice from any Licensor You must, to the extent practicable, - remove from the Adaptation any credit as required by Section 4(c), - as requested. - b. You may Distribute or Publicly Perform an Adaptation only under the - terms of: (i) this License; (ii) a later version of this License - with the same License Elements as this License; (iii) a Creative - Commons jurisdiction license (either this or a later license - version) that contains the same License Elements as this License - (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons - Compatible License. If you license the Adaptation under one of the - licenses mentioned in (iv), you must comply with the terms of that - license. If you license the Adaptation under the terms of any of - the licenses mentioned in (i), (ii) or (iii) (the "Applicable - License"), you must comply with the terms of the Applicable License - generally and the following provisions: (I) You must include a copy - of, or the URI for, the Applicable License with every copy of each - Adaptation You Distribute or Publicly Perform; (II) You may not - offer or impose any terms on the Adaptation that restrict the terms - of the Applicable License or the ability of the recipient of the - Adaptation to exercise the rights granted to that recipient under - the terms of the Applicable License; (III) You must keep intact all - notices that refer to the Applicable License and to the disclaimer - of warranties with every copy of the Work as included in the - Adaptation You Distribute or Publicly Perform; (IV) when You - Distribute or Publicly Perform the Adaptation, You may not impose - any effective technological measures on the Adaptation that - restrict the ability of a recipient of the Adaptation from You to - exercise the rights granted to that recipient under the terms of - the Applicable License. This Section 4(b) applies to the Adaptation - as incorporated in a Collection, but this does not require the - Collection apart from the Adaptation itself to be made subject to - the terms of the Applicable License. - c. If You Distribute, or Publicly Perform the Work or any Adaptations - or Collections, You must, unless a request has been made pursuant - to Section 4(a), keep intact all copyright notices for the Work and - provide, reasonable to the medium or means You are utilizing: (i) - the name of the Original Author (or pseudonym, if applicable) if - supplied, and/or if the Original Author and/or Licensor designate - another party or parties (e.g., a sponsor institute, publishing - entity, journal) for attribution ("Attribution Parties") in - Licensor's copyright notice, terms of service or by other - reasonable means, the name of such party or parties; (ii) the title - of the Work if supplied; (iii) to the extent reasonably - practicable, the URI, if any, that Licensor specifies to be - associated with the Work, unless such URI does not refer to the - copyright notice or licensing information for the Work; and (iv) , - consistent with Ssection 3(b), in the case of an Adaptation, a - credit identifying the use of the Work in the Adaptation (e.g., - "French translation of the Work by Original Author," or "Screenplay - based on original Work by Original Author"). The credit required by - this Section 4(c) may be implemented in any reasonable manner; - provided, however, that in the case of a Adaptation or Collection, - at a minimum such credit will appear, if a credit for all - contributing authors of the Adaptation or Collection appears, then - as part of these credits and in a manner at least as prominent as - the credits for the other contributing authors. For the avoidance - of doubt, You may only use the credit required by this Section for - the purpose of attribution in the manner set out above and, by - exercising Your rights under this License, You may not implicitly - or explicitly assert or imply any connection with, sponsorship or - endorsement by the Original Author, Licensor and/or Attribution - Parties, as appropriate, of You or Your use of the Work, without - the separate, express prior written permission of the Original - Author, Licensor and/or Attribution Parties. - d. Except as otherwise agreed in writing by the Licensor or as may be - otherwise permitted by applicable law, if You Reproduce, Distribute - or Publicly Perform the Work either by itself or as part of any - Adaptations or Collections, You must not distort, mutilate, modify - or take other derogatory action in relation to the Work which would - be prejudicial to the Original Author's honor or reputation. - Licensor agrees that in those jurisdictions (e.g. Japan), in which - any exercise of the right granted in Section 3(b) of this License - (the right to make Adaptations) would be deemed to be a distortion, - mutilation, modification or other derogatory action prejudicial to - the Original Author's honor and reputation, the Licensor will waive - or not assert, as appropriate, this Section, to the fullest extent - permitted by the applicable national law, to enable You to - reasonably exercise Your right under Section 3(b) of this License - (right to make Adaptations) but not otherwise. - - 5. Representations, Warranties and Disclaimer - - UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR - OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY - KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, - INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, - FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF - LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF - ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW - THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO - YOU. - - 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE - LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR - ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES - ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR - HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - 7. Termination - a. This License and the rights granted hereunder will terminate - automatically upon any breach by You of the terms of this License. - Individuals or entities who have received Adaptations or - Collections from You under this License, however, will not have - their licenses terminated provided such individuals or entities - remain in full compliance with those licenses. Sections 1, 2, 5, 6, - 7, and 8 will survive any termination of this License. - b. Subject to the above terms and conditions, the license granted here - is perpetual (for the duration of the applicable copyright in the - Work). Notwithstanding the above, Licensor reserves the right to - release the Work under different license terms or to stop - distributing the Work at any time; provided, however that any such - election will not serve to withdraw this License (or any other - license that has been, or is required to be, granted under the - terms of this License), and this License will continue in full - force and effect unless terminated as stated above. - - 8. Miscellaneous - a. Each time You Distribute or Publicly Perform the Work or a - Collection, the Licensor offers to the recipient a license to the - Work on the same terms and conditions as the license granted to You - under this License. - b. Each time You Distribute or Publicly Perform an Adaptation, - Licensor offers to the recipient a license to the original Work on - the same terms and conditions as the license granted to You under - this License. - c. If any provision of this License is invalid or unenforceable under - applicable law, it shall not affect the validity or enforceability - of the remainder of the terms of this License, and without further - action by the parties to this agreement, such provision shall be - reformed to the minimum extent necessary to make such provision - valid and enforceable. - d. No term or provision of this License shall be deemed waived and no - breach consented to unless such waiver or consent shall be in - writing and signed by the party to be charged with such waiver or - consent. - e. This License constitutes the entire agreement between the parties - with respect to the Work licensed here. There are no - understandings, agreements or representations with respect to the - Work not specified here. Licensor shall not be bound by any - additional provisions that may appear in any communication from - You. This License may not be modified without the mutual written - agreement of the Licensor and You. - f. The rights granted under, and the subject matter referenced, in - this License were drafted utilizing the terminology of the Berne - Convention for the Protection of Literary and Artistic Works (as - amended on September 28, 1979), the Rome Convention of 1961, the - WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms - Treaty of 1996 and the Universal Copyright Convention (as revised - on July 24, 1971). These rights and subject matter take effect in - the relevant jurisdiction in which the License terms are sought to - be enforced according to the corresponding provisions of the - implementation of those treaty provisions in the applicable - national law. If the standard suite of rights granted under - applicable copyright law includes additional rights not granted - under this License, such additional rights are deemed to be - included in the License; this License is not intended to restrict - the license of any rights under applicable law. - -Creative Commons Notice - - Creative Commons is not a party to this License, and makes no - warranty whatsoever in connection with the Work. Creative Commons - will not be liable to You or any party on any legal theory for any - damages whatsoever, including without limitation any general, - special, incidental or consequential damages arising in connection - to this license. Notwithstanding the foregoing two (2) sentences, if - Creative Commons has expressly identified itself as the Licensor - hereunder, it shall have all rights and obligations of Licensor. - - Except for the limited purpose of indicating to the public that the - Work is licensed under the CCPL, Creative Commons does not authorize - the use by either party of the trademark "Creative Commons" or any - related trademark or logo of Creative Commons without the prior - written consent of Creative Commons. Any permitted use will be in - compliance with Creative Commons' then-current trademark usage - guidelines, as may be published on its website or otherwise made - available upon request from time to time. For the avoidance of - doubt, this trademark restriction does not form part of the License. - - Creative Commons may be contacted at https://creativecommons.org/. diff --git a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/_metadata/verified_contents.json b/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/_metadata/verified_contents.json deleted file mode 100644 index 36cd341..0000000 --- a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/_metadata/verified_contents.json +++ /dev/null @@ -1 +0,0 @@ -[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJGaWx0ZXJpbmcgUnVsZXMiLCJyb290X2hhc2giOiI3Z2dRU0RKVXR4NmRkWlkzNnJaYmZVNTFQSkh0b3h2d29yS2VQeXplZjdRIn0seyJwYXRoIjoiTElDRU5TRS50eHQiLCJyb290X2hhc2giOiIyaWswNmk0TFlCdVNHNWphRGFIS253NE9pdnVSRzZsQ0JKMVk0TGtzRFJJIn0seyJwYXRoIjoibWFuaWZlc3QuanNvbiIsInJvb3RfaGFzaCI6InZvczk5SERmbDExQXItZE0wY0dGSzkta2dWcXh5YXhoOTZ1WlNVdlBCeGsifV0sImZvcm1hdCI6InRyZWVoYXNoIiwiaGFzaF9ibG9ja19zaXplIjo0MDk2fV0sIml0ZW1faWQiOiJnY21qa21nZGxnbmtrY29jbW9laW1pbmFpam1tam5paSIsIml0ZW1fdmVyc2lvbiI6IjkuNDcuMCIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"fa2Qz28dstciHFwfjIqZfPpjm4GyYirZ9M5s0ULbaFRqEuuF-NyBxJmSNpIL9kkb-_v7Io0q0fFUH51futjvM4W4eWdySHtDoYU1IkO0esTzIkJTeWQ09vda72R-x_kWyySgzZYm5Zp7NbEs-hHzSX-xhKvNvwVSLwu0FXXSyvYOLjD5zbzUAI2AGHnTJsbw82HYIwtlm-JueySSuibxxp5e2ihBkmqcgkmQ_pyxkGFdeV27MtODcigO8lxjSCXivY0pAa-9ANMP6fk6nPx46ILZtvHq85ItxwUx6W_5v5lmnDIQc27WoMp3EbijTqG1CASxqQM8BNgEB_j3D3HRqw"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"ZOftVKZ16UFSU0hwoy30Mk3l0qxNQYqMoB1E8-IV6n8lrIxHQQOimyerNgIomleTuq625996e32_k3qgiBfhb8-OuRh-uz47IaUNVH12yksBLu0e8Y4HVZW8gpeH3AAPabfTS9eNeklz1x77DWGIEBsj_zVEqwC7Z2mB48zvCsEwu2087FK5mFbcyosIT9PGeyj2BTL4uNWjrXRSL23wUdRJ9WWE73W79C93HMtF2w7v3RuAuc7iGqbfvdpClDpwv2DQmsztE8Xsun9ve8HDnMxZ4ca9FMJEzwHnMR6uRn8kw-u7kep8OOuti5NwftMug0NNmHJ2q7rSrYU4Tbo64Q"}]}}] \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/manifest.fingerprint b/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/manifest.fingerprint deleted file mode 100644 index eeb0d01..0000000 --- a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/manifest.fingerprint +++ /dev/null @@ -1 +0,0 @@ -1.4c67e9ab7c30c48322e5f6fe5acbd64132c054ebb91bd510b414b1506167ffc9 \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/manifest.json b/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/manifest.json deleted file mode 100644 index 520f2c9..0000000 --- a/Projects/.jxbrowser.userdata/Subresource Filter/Unindexed Rules/9.47.0/manifest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "manifest_version": 2, - "name": "Subresource Filtering Rules", - "ruleset_format": 1, - "version": "9.47.0" -} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/Variations b/Projects/.jxbrowser.userdata/Variations deleted file mode 100644 index 18056c3..0000000 --- a/Projects/.jxbrowser.userdata/Variations +++ /dev/null @@ -1 +0,0 @@ -{"user_experience_metrics.stability.exited_cleanly":true,"variations_crash_streak":0} \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/LICENSE b/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/LICENSE deleted file mode 100644 index 36f59db..0000000 --- a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/LICENSE +++ /dev/null @@ -1,9 +0,0 @@ -Google LLC and its affiliates ("Google") own all legal right, title and -interest in and to the content decryption module software ("Software") and -related documentation, including any intellectual property rights in the -Software. You may not use, modify, sell, or otherwise distribute the Software -without a separate license agreement with Google. The Software is not open -source software. - -If you are interested in licensing the Software, please contact -www.widevine.com diff --git a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_metadata/verified_contents.json b/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_metadata/verified_contents.json deleted file mode 100644 index 27009b1..0000000 --- a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_metadata/verified_contents.json +++ /dev/null @@ -1 +0,0 @@ -[{"description":"treehash per file","signed_content":{"payload":"eyJjb250ZW50X2hhc2hlcyI6W3siYmxvY2tfc2l6ZSI6NDA5NiwiZGlnZXN0Ijoic2hhMjU2IiwiZmlsZXMiOlt7InBhdGgiOiJMSUNFTlNFIiwicm9vdF9oYXNoIjoicjdVVTVDYVZsQ05MTXNoenVpelR6SWlTNkRhR0VUZTFNYVFLRWpLQ0RGayJ9LHsicGF0aCI6Il9wbGF0Zm9ybV9zcGVjaWZpYy93aW5feDY0L3dpZGV2aW5lY2RtLmRsbCIsInJvb3RfaGFzaCI6InpZM3kzbFZSX20wRkZuUkhoeFVnM2NvdWx2ZzZSYnpkUkhFaGdPbTVFZ0EifSx7InBhdGgiOiJfcGxhdGZvcm1fc3BlY2lmaWMvd2luX3g2NC93aWRldmluZWNkbS5kbGwuc2lnIiwicm9vdF9oYXNoIjoiYUtBX0IxMnhCUGhLX2RqOHBGcC1TXzk3VmR3YUtpUW5LenEtRnRoMW5JRSJ9LHsicGF0aCI6Im1hbmlmZXN0Lmpzb24iLCJyb290X2hhc2giOiJPMlJvWmFCMHFCOXhkRWVwUi16NTBoS1lnbGpGVXJKb2tBSl9lOXhLNElRIn1dLCJmb3JtYXQiOiJ0cmVlaGFzaCIsImhhc2hfYmxvY2tfc2l6ZSI6NDA5Nn1dLCJpdGVtX2lkIjoib2ltb21wZWNhZ25hamRlamdubmppam9iZWJhZWlnZWsiLCJpdGVtX3ZlcnNpb24iOiI0LjEwLjI1NTcuMCIsInByb3RvY29sX3ZlcnNpb24iOjF9","signatures":[{"header":{"kid":"publisher"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"OWSy3e75y5dl8WR-xupEc04blJeslWK2o9M4VNLFacmmtPFhLq66DkCDqQdTRWbtdFmgPGwALrMtYLOXTdvTVZC8b6M4m0yVvhqGAqYFImmsCYlrN3504mY2ck1JTMKr3QtzPvA4NdyVPSQ3u2b3JP_vceZd-Gok191NWVcS2R8"},{"header":{"kid":"webstore"},"protected":"eyJhbGciOiJSUzI1NiJ9","signature":"ep8qd-X0Prrmtd6_oMYxJYFFlk7oiaYjB8rxkjC9wk4TXu7Tc376enQ6BaQ0iebK51ppqNdxX_9MzJ_3N_nIftw9v0XmHdshwzH8OGqyy3G3EgNS7mG7gyi4wGHTvs0zrmiPDnAccPt-0XgMwHFqUVrteTtcFpslRxsaDZVQ7ODav610d5O2JsF1-OYFIVZUuK9rdWEHJLDXynWDpgLiaCpmYMkJjKRjs-GsEOaCOztXBe9-aOlO2O1uZhsNwsH32kCz1LOe4o_6L_bB-AU9NF_bHrT2oyT4FtrJ-lVr4TLmgFGoET-focForkNVWzIgtBDM7tiaE49iqlN_Q_nb1w"}]}}] \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_platform_specific/win_x64/widevinecdm.dll b/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_platform_specific/win_x64/widevinecdm.dll deleted file mode 100644 index 81f25cb..0000000 Binary files a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_platform_specific/win_x64/widevinecdm.dll and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_platform_specific/win_x64/widevinecdm.dll.sig b/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_platform_specific/win_x64/widevinecdm.dll.sig deleted file mode 100644 index 03b5dc7..0000000 Binary files a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/_platform_specific/win_x64/widevinecdm.dll.sig and /dev/null differ diff --git a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/manifest.fingerprint b/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/manifest.fingerprint deleted file mode 100644 index 7731137..0000000 --- a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/manifest.fingerprint +++ /dev/null @@ -1 +0,0 @@ -1.b880ccaf1ce7fd85e6fe7b6846d54de8cc0ea2afd9865cdb444fb4c6db124d9d \ No newline at end of file diff --git a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/manifest.json b/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/manifest.json deleted file mode 100644 index d01fb91..0000000 --- a/Projects/.jxbrowser.userdata/WidevineCdm/4.10.2557.0/manifest.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "manifest_version": 2, - "update_url": "https://clients2.google.com/service/update2/crx", - "name": "WidevineCdm", - "description": "Widevine Content Decryption Module", - "version": "4.10.2557.0", - "minimum_chrome_version": "68.0.3430.0", - "x-cdm-module-versions": "4", - "x-cdm-interface-versions": "10", - "x-cdm-host-versions": "10", - "x-cdm-codecs": "vp8,vp09,avc1,av01", - "x-cdm-persistent-license-support": true, - "x-cdm-supported-encryption-schemes": [ - "cenc", - "cbcs" - ], - "icons": { - "16": "imgs/icon-128x128.png", - "128": "imgs/icon-128x128.png" - }, - "platforms": [ - { - "os": "win", - "arch": "x64", - "sub_package_path": "_platform_specific/win_x64/" - }, - { - "os": "win", - "arch": "x86", - "sub_package_path": "_platform_specific/win_x86/" - }, - { - "os": "win", - "arch": "arm64", - "sub_package_path": "_platform_specific/win_arm64/" - } - ], - "accept_arch": [ - "x64", - "x86_64", - "x86_64h" - ] -} \ No newline at end of file diff --git a/Projects/RemoteSystemsTempFiles/.project b/Projects/RemoteSystemsTempFiles/.project deleted file mode 100644 index 5447a64..0000000 --- a/Projects/RemoteSystemsTempFiles/.project +++ /dev/null @@ -1,12 +0,0 @@ - - - RemoteSystemsTempFiles - - - - - - - org.eclipse.rse.ui.remoteSystemsTempNature - - diff --git a/Projects/epwm_test/.ccsproject b/Projects/epwm_test/.ccsproject deleted file mode 100644 index 6f67268..0000000 --- a/Projects/epwm_test/.ccsproject +++ /dev/null @@ -1,18 +0,0 @@ - - - - - - - - - - - - - - - - - - diff --git a/Projects/epwm_test/.cproject b/Projects/epwm_test/.cproject deleted file mode 100644 index 8e2fe86..0000000 --- a/Projects/epwm_test/.cproject +++ /dev/null @@ -1,222 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Projects/epwm_test/.gitignore b/Projects/epwm_test/.gitignore deleted file mode 100644 index 0356e98..0000000 --- a/Projects/epwm_test/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/CPU1_FLASH/ -/CPU1_RAM/ diff --git a/Projects/epwm_test/.project b/Projects/epwm_test/.project deleted file mode 100644 index 6717ede..0000000 --- a/Projects/epwm_test/.project +++ /dev/null @@ -1,37 +0,0 @@ - - - epwm_test - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - com.ti.ccstudio.core.ccsNature - org.eclipse.cdt.core.cnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - - - C2000WARE_COMMON_INCLUDE - $%7BCOM_TI_C2000WARE_SOFTWARE_PACKAGE_INSTALL_DIR%7D/device_support/f2838x/common/include - - - C2000WARE_HEADERS_INCLUDE - $%7BCOM_TI_C2000WARE_SOFTWARE_PACKAGE_INSTALL_DIR%7D/device_support/f2838x/headers/include - - - diff --git a/Projects/epwm_test/.settings/org.eclipse.cdt.codan.core.prefs b/Projects/epwm_test/.settings/org.eclipse.cdt.codan.core.prefs deleted file mode 100644 index f653028..0000000 --- a/Projects/epwm_test/.settings/org.eclipse.cdt.codan.core.prefs +++ /dev/null @@ -1,3 +0,0 @@ -eclipse.preferences.version=1 -inEditor=false -onBuild=false diff --git a/Projects/epwm_test/.settings/org.eclipse.cdt.debug.core.prefs b/Projects/epwm_test/.settings/org.eclipse.cdt.debug.core.prefs deleted file mode 100644 index 2adc7b1..0000000 --- a/Projects/epwm_test/.settings/org.eclipse.cdt.debug.core.prefs +++ /dev/null @@ -1,2 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.cdt.debug.core.toggleBreakpointModel=com.ti.ccstudio.debug.CCSBreakpointMarker diff --git a/Projects/epwm_test/.settings/org.eclipse.core.resources.prefs b/Projects/epwm_test/.settings/org.eclipse.core.resources.prefs deleted file mode 100644 index 7b117a7..0000000 --- a/Projects/epwm_test/.settings/org.eclipse.core.resources.prefs +++ /dev/null @@ -1,23 +0,0 @@ -eclipse.preferences.version=1 -encoding//CPU1_FLASH/Freemaster/subdir_rules.mk=UTF-8 -encoding//CPU1_FLASH/Freemaster/subdir_vars.mk=UTF-8 -encoding//CPU1_FLASH/lib/subdir_rules.mk=UTF-8 -encoding//CPU1_FLASH/lib/subdir_vars.mk=UTF-8 -encoding//CPU1_FLASH/makefile=UTF-8 -encoding//CPU1_FLASH/objects.mk=UTF-8 -encoding//CPU1_FLASH/sources.mk=UTF-8 -encoding//CPU1_FLASH/src/subdir_rules.mk=UTF-8 -encoding//CPU1_FLASH/src/subdir_vars.mk=UTF-8 -encoding//CPU1_FLASH/subdir_rules.mk=UTF-8 -encoding//CPU1_FLASH/subdir_vars.mk=UTF-8 -encoding//CPU1_RAM/Freemaster/subdir_rules.mk=UTF-8 -encoding//CPU1_RAM/Freemaster/subdir_vars.mk=UTF-8 -encoding//CPU1_RAM/lib/subdir_rules.mk=UTF-8 -encoding//CPU1_RAM/lib/subdir_vars.mk=UTF-8 -encoding//CPU1_RAM/makefile=UTF-8 -encoding//CPU1_RAM/objects.mk=UTF-8 -encoding//CPU1_RAM/sources.mk=UTF-8 -encoding//CPU1_RAM/src/subdir_rules.mk=UTF-8 -encoding//CPU1_RAM/src/subdir_vars.mk=UTF-8 -encoding//CPU1_RAM/subdir_rules.mk=UTF-8 -encoding//CPU1_RAM/subdir_vars.mk=UTF-8 diff --git a/Projects/epwm_test/2838x_FLASH_lnk_cpu1.cmd b/Projects/epwm_test/2838x_FLASH_lnk_cpu1.cmd deleted file mode 100644 index f85e32f..0000000 --- a/Projects/epwm_test/2838x_FLASH_lnk_cpu1.cmd +++ /dev/null @@ -1,137 +0,0 @@ - -MEMORY -{ - /* BEGIN is used for the "boot to Flash" bootloader mode */ - BEGIN : origin = 0x080000, length = 0x000002 - BOOT_RSVD : origin = 0x000002, length = 0x0001AF /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x0001B1, length = 0x00024F - RAMM1 : origin = 0x000400, length = 0x0003F8 /* on-chip RAM block M1 */ -// RAMM1_RSVD : origin = 0x0007F8, length = 0x000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ - RAMD0 : origin = 0x00C000, length = 0x000800 - RAMD1 : origin = 0x00C800, length = 0x000800 - RAMLS0 : origin = 0x008000, length = 0x000800 - RAMLS1 : origin = 0x008800, length = 0x000800 - RAMLS2 : origin = 0x009000, length = 0x000800 - RAMLS3 : origin = 0x009800, length = 0x000800 - RAMLS4 : origin = 0x00A000, length = 0x000800 - RAMLS5 : origin = 0x00A800, length = 0x000800 - RAMLS6 : origin = 0x00B000, length = 0x000800 - RAMLS7 : origin = 0x00B800, length = 0x000800 - RAMGS0 : origin = 0x00D000, length = 0x001000 - RAMGS1 : origin = 0x00E000, length = 0x001000 - RAMGS2 : origin = 0x00F000, length = 0x001000 - RAMGS3 : origin = 0x010000, length = 0x001000 - RAMGS4 : origin = 0x011000, length = 0x001000 - RAMGS5 : origin = 0x012000, length = 0x001000 - RAMGS6 : origin = 0x013000, length = 0x001000 - RAMGS7 : origin = 0x014000, length = 0x001000 - RAMGS8 : origin = 0x015000, length = 0x001000 - RAMGS9 : origin = 0x016000, length = 0x001000 - RAMGS10 : origin = 0x017000, length = 0x001000 - RAMGS11 : origin = 0x018000, length = 0x001000 - RAMGS12 : origin = 0x019000, length = 0x001000 - RAMGS13 : origin = 0x01A000, length = 0x001000 - RAMGS14 : origin = 0x01B000, length = 0x001000 - RAMGS15 : origin = 0x01C000, length = 0x000FF8 -// RAMGS15_RSVD : origin = 0x01CFF8, length = 0x000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ - - /* Flash sectors */ - FLASH0 : origin = 0x080002, length = 0x001FFE /* on-chip Flash */ - FLASH1 : origin = 0x082000, length = 0x002000 /* on-chip Flash */ - FLASH2 : origin = 0x084000, length = 0x002000 /* on-chip Flash */ - FLASH3 : origin = 0x086000, length = 0x002000 /* on-chip Flash */ - FLASH4 : origin = 0x088000, length = 0x008000 /* on-chip Flash */ - FLASH5 : origin = 0x090000, length = 0x008000 /* on-chip Flash */ - FLASH6 : origin = 0x098000, length = 0x008000 /* on-chip Flash */ - FLASH7 : origin = 0x0A0000, length = 0x008000 /* on-chip Flash */ - FLASH8 : origin = 0x0A8000, length = 0x008000 /* on-chip Flash */ - FLASH9 : origin = 0x0B0000, length = 0x008000 /* on-chip Flash */ - FLASH10 : origin = 0x0B8000, length = 0x002000 /* on-chip Flash */ - FLASH11 : origin = 0x0BA000, length = 0x002000 /* on-chip Flash */ - FLASH12 : origin = 0x0BC000, length = 0x002000 /* on-chip Flash */ - FLASH13 : origin = 0x0BE000, length = 0x001FF0 /* on-chip Flash */ -// FLASH13_RSVD : origin = 0x0BFFF0, length = 0x000010 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ - - CPU1TOCPU2RAM : origin = 0x03A000, length = 0x000800 - CPU2TOCPU1RAM : origin = 0x03B000, length = 0x000800 - CPUTOCMRAM : origin = 0x039000, length = 0x000800 - CMTOCPURAM : origin = 0x038000, length = 0x000800 - - CANA_MSG_RAM : origin = 0x049000, length = 0x000800 - CANB_MSG_RAM : origin = 0x04B000, length = 0x000800 - - RESET : origin = 0x3FFFC0, length = 0x000002 -} - -SECTIONS -{ - codestart : > BEGIN, ALIGN(8) - .text : >> FLASH1 | FLASH2 | FLASH3 | FLASH4, ALIGN(8) - .cinit : > FLASH4, ALIGN(8) - .switch : > FLASH1, ALIGN(8) - .reset : > RESET, TYPE = DSECT /* not used, */ - .stack : > RAMM1 - -#if defined(__TI_EABI__) - .init_array : > FLASH1, ALIGN(8) - .bss : > RAMGS0 - .bss:output : > RAMLS3 - .bss:cio : > RAMLS5 - .data : > RAMLS5 - .sysmem : > RAMLS5 - /* Initalized sections go in Flash */ - .const : > FLASH5, ALIGN(8) -#else - .pinit : > FLASH1, ALIGN(8) - .ebss : > RAMLS5 - .esysmem : > RAMLS5 - .cio : > RAMLS5 - /* Initalized sections go in Flash */ - .econst : >> FLASH4 | FLASH5, ALIGN(8) -#endif - - ramgs0 : > RAMGS0, type=NOINIT - ramgs1 : > RAMGS1, type=NOINIT - - MSGRAM_CPU1_TO_CPU2 : > CPU1TOCPU2RAM, type=NOINIT - MSGRAM_CPU2_TO_CPU1 : > CPU2TOCPU1RAM, type=NOINIT - MSGRAM_CPU_TO_CM : > CPUTOCMRAM, type=NOINIT - MSGRAM_CM_TO_CPU : > CMTOCPURAM, type=NOINIT - - /* The following section definition are for SDFM examples */ - Filter_RegsFile : > RAMGS0 - Filter1_RegsFile : > RAMGS1, fill=0x1111 - Filter2_RegsFile : > RAMGS2, fill=0x2222 - Filter3_RegsFile : > RAMGS3, fill=0x3333 - Filter4_RegsFile : > RAMGS4, fill=0x4444 - Difference_RegsFile : >RAMGS5, fill=0x3333 - - #if defined(__TI_EABI__) - .TI.ramfunc : {} LOAD = FLASH3, - RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3, - LOAD_START(RamfuncsLoadStart), - LOAD_SIZE(RamfuncsLoadSize), - LOAD_END(RamfuncsLoadEnd), - RUN_START(RamfuncsRunStart), - RUN_SIZE(RamfuncsRunSize), - RUN_END(RamfuncsRunEnd), - ALIGN(8) - #else - .TI.ramfunc : {} LOAD = FLASH3, - RUN = RAMLS0 | RAMLS1 | RAMLS2 |RAMLS3, - LOAD_START(_RamfuncsLoadStart), - LOAD_SIZE(_RamfuncsLoadSize), - LOAD_END(_RamfuncsLoadEnd), - RUN_START(_RamfuncsRunStart), - RUN_SIZE(_RamfuncsRunSize), - RUN_END(_RamfuncsRunEnd), - ALIGN(8) - #endif - -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ diff --git a/Projects/epwm_test/2838x_RAM_combined_lnk_cpu1.cmd b/Projects/epwm_test/2838x_RAM_combined_lnk_cpu1.cmd deleted file mode 100644 index b16fad2..0000000 --- a/Projects/epwm_test/2838x_RAM_combined_lnk_cpu1.cmd +++ /dev/null @@ -1,97 +0,0 @@ -MEMORY -{ - /* BEGIN is used for the "boot to SARAM" bootloader mode */ - BEGIN : origin = 0x000000, length = 0x000002 - BOOT_RSVD : origin = 0x000002, length = 0x0001AF /* Part of M0, BOOT rom will use this for stack */ - RAMM0 : origin = 0x0001B1, length = 0x00024F - RAMM1 : origin = 0x000400, length = 0x0003F8 /* on-chip RAM block M1 */ -// RAMM1_RSVD : origin = 0x0007F8, length = 0x000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ - RAMD01 : origin = 0x00C000, length = 0x001000 - RAMLS02 : origin = 0x008000, length = 0x001800 - RAMLS3 : origin = 0x009800, length = 0x000800 - RAMLS4 : origin = 0x00A000, length = 0x000800 - RAMLS56 : origin = 0x00A800, length = 0x001000 - RAMLS7 : origin = 0x00B800, length = 0x000800 - RAMGS0 : origin = 0x00D000, length = 0x001000 - RAMGS1 : origin = 0x00E000, length = 0x001000 - RAMGS2 : origin = 0x00F000, length = 0x001000 - RAMGS3 : origin = 0x010000, length = 0x001000 - RAMGS4 : origin = 0x011000, length = 0x001000 - RAMGS5 : origin = 0x012000, length = 0x001000 - RAMGS6 : origin = 0x013000, length = 0x001000 - RAMGS7 : origin = 0x014000, length = 0x001000 - RAMGS8 : origin = 0x015000, length = 0x001000 - RAMGS9 : origin = 0x016000, length = 0x001000 - RAMGS101112 : origin = 0x017000, length = 0x003000 - RAMGS13 : origin = 0x01A000, length = 0x001000 - RAMGS14 : origin = 0x01B000, length = 0x001000 - RAMGS15 : origin = 0x01C000, length = 0x000FF8 -// RAMGS15_RSVD : origin = 0x01CFF8, length = 0x000008 /* Reserve and do not use for code as per the errata advisory "Memory: Prefetching Beyond Valid Memory" */ - - /* Flash sectors */ - FLASH0 : origin = 0x080000, length = 0x002000 /* on-chip Flash */ - FLASH1 : origin = 0x082000, length = 0x002000 /* on-chip Flash */ - FLASH2 : origin = 0x084000, length = 0x002000 /* on-chip Flash */ - FLASH3 : origin = 0x086000, length = 0x002000 /* on-chip Flash */ - FLASH4 : origin = 0x088000, length = 0x008000 /* on-chip Flash */ - FLASH5 : origin = 0x090000, length = 0x008000 /* on-chip Flash */ - FLASH6 : origin = 0x098000, length = 0x008000 /* on-chip Flash */ - FLASH7 : origin = 0x0A0000, length = 0x008000 /* on-chip Flash */ - FLASH8 : origin = 0x0A8000, length = 0x008000 /* on-chip Flash */ - FLASH9 : origin = 0x0B0000, length = 0x008000 /* on-chip Flash */ - FLASH10 : origin = 0x0B8000, length = 0x002000 /* on-chip Flash */ - FLASH11 : origin = 0x0BA000, length = 0x002000 /* on-chip Flash */ - FLASH12 : origin = 0x0BC000, length = 0x002000 /* on-chip Flash */ - FLASH13 : origin = 0x0BE000, length = 0x002000 /* on-chip Flash */ - CPU1TOCPU2RAM : origin = 0x03A000, length = 0x000800 - CPU2TOCPU1RAM : origin = 0x03B000, length = 0x000800 - - CPUTOCMRAM : origin = 0x039000, length = 0x000800 - CMTOCPURAM : origin = 0x038000, length = 0x000800 - - CANA_MSG_RAM : origin = 0x049000, length = 0x000800 - CANB_MSG_RAM : origin = 0x04B000, length = 0x000800 - RESET : origin = 0x3FFFC0, length = 0x000002 -} - - -SECTIONS -{ - codestart : > BEGIN - .text : >> RAMD01 | RAMLS02 | RAMLS3 | RAMGS101112 - .cinit : > RAMM0 - .switch : > RAMM0 - .reset : > RESET, TYPE = DSECT /* not used, */ - - .stack : > RAMM1 -#if defined(__TI_EABI__) - .bss : >> RAMLS56 | RAMGS101112 - .bss:output : > RAMLS3 - .init_array : > RAMM0 - .const : > RAMLS56 - .data : >> RAMLS56 | RAMLS7 | RAMGS101112 - .sysmem : > RAMLS4 -#else - .pinit : > RAMM0 - .ebss : >> RAMLS56 - .econst : > RAMLS56 - .esysmem : > RAMLS56 -#endif - - ramgs0 : > RAMGS0, type=NOINIT - ramgs1 : > RAMGS1, type=NOINIT - - MSGRAM_CPU1_TO_CPU2 > CPU1TOCPU2RAM, type=NOINIT - MSGRAM_CPU2_TO_CPU1 > CPU2TOCPU1RAM, type=NOINIT - MSGRAM_CPU_TO_CM > CPUTOCMRAM, type=NOINIT - MSGRAM_CM_TO_CPU > CMTOCPURAM, type=NOINIT - - .TI.ramfunc : {} > RAMM0 - -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ diff --git a/Projects/epwm_test/Freemaster/PE_freemaster.h b/Projects/epwm_test/Freemaster/PE_freemaster.h deleted file mode 100644 index 9039b84..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster.h +++ /dev/null @@ -1,113 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster.h -* -* @brief FreeMASTER Driver main API header file -* -* @version 1.0.10.0 -* -* @date Oct-22-2007 -* -******************************************************************************* -* -* This is the only header file needed to be included by the user application -* to implement the FreeMASTER interface. In addition, user has to write her -* "PE_freemaster_cfg.h" configuration file and put it anywhere on the #include path -* -*******************************************************************************/ - -#ifndef __FREEMASTER_H -#define __FREEMASTER_H - -/* identify our current platform */ -#define FMSTR_PLATFORM_56F8xxx 1 - -/* user configuration */ -#include "PE_freemaster_cfg.h" - -/***************************************************************************** -* Global types -******************************************************************************/ - - - -typedef unsigned long FMSTR_ADDR; /* CPU address type (use integer data type on 56F8xxx) */ -typedef unsigned short FMSTR_SIZE; /* general size type (at least 16 bits) */ -typedef unsigned short FMSTR_BOOL; /* general boolean type */ - -/* application command-specific types */ -typedef unsigned short FMSTR_APPCMD_CODE; -typedef unsigned short FMSTR_APPCMD_DATA, *FMSTR_APPCMD_PDATA; -typedef unsigned short FMSTR_APPCMD_RESULT; - -/* pointer to application command callback handler */ -typedef FMSTR_APPCMD_RESULT (*FMSTR_PAPPCMDFUNC)(FMSTR_APPCMD_CODE,FMSTR_APPCMD_PDATA,FMSTR_SIZE); - -/* pipe-related types */ -typedef void* FMSTR_HPIPE; /* pipe handle */ -typedef unsigned short FMSTR_PIPE_PORT; /* pipe port identifier (unsigned, 7 bits used) */ -typedef unsigned short FMSTR_PIPE_SIZE; /* pipe buffer size type (unsigned, at least 8 bits) */ - -/* pointer to pipe event handler */ -typedef void (*FMSTR_PPIPEFUNC)(FMSTR_HPIPE); - -/***************************************************************************** -* TSA-related user types and macros -******************************************************************************/ - -#include "PE_freemaster_tsa.h" - -/***************************************************************************** -* Constants -******************************************************************************/ - -/* application command status information */ -#define FMSTR_APPCMDRESULT_NOCMD 0xffU -#define FMSTR_APPCMDRESULT_RUNNING 0xfeU -#define MFSTR_APPCMDRESULT_LASTVALID 0xf7U /* F8-FF are reserved */ - -/* recorder time base declaration helpers */ -#define FMSTR_REC_BASE_SECONDS(x) ((x) & 0x3fffU) -#define FMSTR_REC_BASE_MILLISEC(x) (((x) & 0x3fffU) | 0x4000U) -#define FMSTR_REC_BASE_MICROSEC(x) (((x) & 0x3fffU) | 0x8000U) -#define FMSTR_REC_BASE_NANOSEC(x) (((x) & 0x3fffU) | 0xc000U) - -/***************************************************************************** -* Global functions -******************************************************************************/ - -/* FreeMASTER serial communication API */ -void FMSTR_Init(void); /* general initiazlation */ -void FMSTR_Poll(void); /* polling call, use in SHORT_INTR and POLL_DRIVEN modes */ -void FMSTR_Isr(void); /* SCI/JTAG interrupt handler for LONG_INTR and SHORT_INTR modes */ - -/* recorder API */ -void FMSTR_Recorder(void); -void FMSTR_TriggerRec(void); -void FMSTR_SetUpRecBuff(FMSTR_ADDR nBuffAddr, FMSTR_SIZE nBuffSize); - -/* Application commands API */ -FMSTR_APPCMD_CODE FMSTR_GetAppCmd(void); -FMSTR_APPCMD_PDATA FMSTR_GetAppCmdData(FMSTR_SIZE* pDataLen); -FMSTR_BOOL FMSTR_RegisterAppCmdCall(FMSTR_APPCMD_CODE nAppCmdCode, FMSTR_PAPPCMDFUNC pCallbackFunc); - -void FMSTR_AppCmdAck(FMSTR_APPCMD_RESULT nResultCode); -void FMSTR_AppCmdSetResponseData(FMSTR_ADDR nResultDataAddr, FMSTR_SIZE nResultDataLen); - -/* Transport layer API */ -FMSTR_HPIPE FMSTR_PipeOpen(FMSTR_PIPE_PORT nPort, FMSTR_PPIPEFUNC pCallback, - FMSTR_ADDR pRxBuff, FMSTR_PIPE_SIZE nRxSize, - FMSTR_ADDR pTxBuff, FMSTR_PIPE_SIZE nTxSize); -void FMSTR_PipeClose(FMSTR_HPIPE hpipe); -FMSTR_PIPE_SIZE FMSTR_PipeWrite(FMSTR_HPIPE hpipe, FMSTR_ADDR addr, FMSTR_PIPE_SIZE size); -FMSTR_PIPE_SIZE FMSTR_PipeRead(FMSTR_HPIPE hpipe, FMSTR_ADDR addr, FMSTR_PIPE_SIZE size); - -#endif /* __FREEMASTER_H */ - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_56F8xxx.c b/Projects/epwm_test/Freemaster/PE_freemaster_56F8xxx.c deleted file mode 100644 index cd97838..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_56F8xxx.c +++ /dev/null @@ -1,306 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2007 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_56F8xxx.c -* -* @brief FreeMASTER Driver 56F800E-hardware dependent stuff -* -* @version 1.0.9.0 -* -* @date May-17-2007 -* -*******************************************************************************/ - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" - -/******************************************************************************* -* -* @brief API: Main SCI/JTAG Interrupt handler call -* -* This Interrupt Service Routine handles the SCI interrupts for the FreeMASTER -* driver. In case you want to handle the interrupt in the application yourselves, -* call the FMSTR_ProcessSCI function which does the same job but is not compiled -* as an Interrupt Service Routine. -* -* In poll-driven mode (FMSTR_POLL_DRIVEN) this function does nothing. -* -*******************************************************************************/ - -/* 56F8xxx interrupt routine declaration, user has to */ -/* direct vector to the FMSTR_Isr function */ - - -void FMSTR_Isr(void) -{ -#if FMSTR_LONG_INTR || FMSTR_SHORT_INTR - - /* process serial interface */ -#if FMSTR_USE_SCI - FMSTR_ProcessSCI(); - -#elif FMSTR_USE_JTAG - FMSTR_ProcessJTAG(); -#endif - -#endif -} - -/* automatic inlining may cause problems with C calling convention assumed below */ - - -/**************************************************************************//*! -* -* @brief The "memcpy" used internally in FreeMASTER driver -* -* @param nDestAddr - destination memory address -* @param nSrcAddr - source memory address -* @param nSize - memory size (always in bytes) -* -* @return This function returns a pointer to next destination byte -* -****************************************************************************** -* -* This function accepts both 16bit or 32bit address and works correctly -* even in the SDM mode. Buffer address is a standard ANSI C pointer -* -* Warning: This call assumes CodeWarrior style of passing parameters, -* i.e. 32 bit operands passed in A and B accumulators -* -* Warning2: FMSTR_ADDR type MUST be numeric! (UWord type) -* -******************************************************************************/ - -void FMSTR_CopyMemory(FMSTR_ADDR nDestAddr, FMSTR_ADDR nSrcAddr, FMSTR_SIZE8 nSize) -{ - FMSTR_U8* ps = (FMSTR_U8*) nSrcAddr; - FMSTR_U8* pd = (FMSTR_U8*) nDestAddr; - -// nSize = nSize>>1; - - while(nSize--) - *pd++ = *ps++; -} - -/**************************************************************************//*! -* -* @brief Write-into the communication buffer memory -* -* @param pDestBuff - pointer to destination memory in communication buffer -* @param nSrcAddr - source memory address -* @param nSize - buffer size (always in bytes) -* -* @return This function returns a pointer to next byte in comm. buffer -* -****************************************************************************** -* -* This function accepts both 16bit or 32bit address and works correctly -* even in the SDM mode. Buffer address is a standard ANSI C pointer -* -* Warning: This call assumes CodeWarrior style of passing parameters, -* i.e. 32 bit operands passed in A and B accumulators -* -* Warning2: FMSTR_ADDR type MUST be numeric! (UWord type) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_CopyToBuffer(FMSTR_BPTR pDestBuff, FMSTR_ADDR nSrcAddr, FMSTR_SIZE8 nSize) -{ - FMSTR_U8* ps = (FMSTR_U8*) nSrcAddr; - FMSTR_U8* pd = (FMSTR_U8*) pDestBuff; - - nSize = nSize>>1; - //Texas code composer variant - while(nSize--) - { - *pd++ = *ps; - *pd++ = (*ps++) >> 8; //*pd++ = *ps++; - } - return (FMSTR_BPTR) pd; -} - -/**************************************************************************//*! -* -* @brief Read-out memory from communication buffer -* -* @param nDestAddr - destination memory address -* @param pSrcBuff - pointer to source memory in communication buffer -* @param nSize - buffer size (always in bytes) -* -* @return This function returns a pointer to next byte in comm. buffer -* -****************************************************************************** -* -* This function accepts both 16bit or 32bit address and works correctly -* even in the SDM mode. Buffer address is a standard ANSI C pointer -* -* Warning: This call assumes CodeWarrior style of passing parameters, -* i.e. 32 bit operands passed in A and B accumulators -* -* Warning2: FMSTR_ADDR type MUST be numeric! (UWord type) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_CopyFromBuffer(FMSTR_ADDR nDestAddr, FMSTR_BPTR pSrcBuff, FMSTR_SIZE8 nSize) -{ - FMSTR_U8* ps = (FMSTR_U8*) pSrcBuff; - FMSTR_U8* pd = (FMSTR_U8*) nDestAddr; - //Texas code composer variant - - nSize = nSize>>1; - - while(nSize--) - { - *pd = *ps++; - *pd++ += (*ps++)<<8; // *pd++ = *ps++; - } - return (FMSTR_BPTR) ps; -} - - -/**************************************************************************//*! -* -* @brief Read-out memory from communication buffer, perform AND-masking -* -* @param nDestAddr - destination memory address -* @param pSrcBuff - source memory in communication buffer, mask follows data -* @param nSize - buffer size (always in bytes) -* -****************************************************************************** -* -* This function accepts both 16bit or 32bit address and works correctly -* even in the SDM mode. Buffer address is a standard ANSI C pointer -* -* Warning: This call assumes CodeWarrior style of passing parameters, -* i.e. 32 bit operands passed in A and B accumulators -* -* Warning2: FMSTR_ADDR type MUST be numeric! (UWord type) -* -******************************************************************************/ - -void FMSTR_CopyFromBufferWithMask(FMSTR_ADDR nDestAddr, FMSTR_BPTR pSrcBuff, FMSTR_SIZE8 nSize) -{ - FMSTR_U8* ps = (FMSTR_U8*) pSrcBuff; - FMSTR_U8* pd = (FMSTR_U8*) nDestAddr; - FMSTR_U8* pm = ps + nSize; - FMSTR_U8 mask, stmp, dtmp; - - while(nSize--) - { - mask = *pm++; - stmp = *ps++; - dtmp = *pd; - - /* perform AND-masking */ - stmp = (FMSTR_U8) ((stmp & mask) | (dtmp & ~mask)); - - /* put the result back */ - *pd++ = stmp; - } -} - - -/**************************************************************************//*! -* -* @brief Select an address size to be used in next access to a comm. buffer -* -* @param bNextAddrIsEx - when non zero, next expected address is 32bit wide -* - when zero, next expected address is 16bit wide -* -******************************************************************************/ - -#if FMSTR_USE_EX_CMDS && FMSTR_USE_NOEX_CMDS - -static FMSTR_BOOL pcm_bUseExAddr; - -void FMSTR_SetExAddr(FMSTR_BOOL bNextAddrIsEx) -{ - pcm_bUseExAddr = bNextAddrIsEx; -} - -#endif - -/**************************************************************************//*! -* -* @brief Fetch 16/32 bit address from buffer -* -* @param pAddr - ANSI C pointer to a variable which is to receive the result -* @param pSrc - pointer to a source memory in communication buffer -* -* @return This function returns a pointer to next byte in comm. buffer -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_AddressFromBuffer(FMSTR_ADDR* pAddr, FMSTR_BPTR pSrc) -{ - /* do we have to differentiate the EX and non-EX access? */ -#if FMSTR_USE_EX_CMDS && FMSTR_USE_NOEX_CMDS - if(pcm_bUseExAddr) -#endif - { -#if FMSTR_USE_EX_CMDS - /* fetch 32bit value */ - FMSTR_U32 nAddr32; - pSrc = FMSTR_ValueFromBuffer32(&nAddr32, pSrc); - /* and convert it to the address type */ - *pAddr = (FMSTR_ADDR) nAddr32; -#endif - } -#if FMSTR_USE_EX_CMDS && FMSTR_USE_NOEX_CMDS - else -#endif - { -#if FMSTR_USE_NOEX_CMDS - /* fetch 16bit value */ - FMSTR_U16 nAddr16; - pSrc = FMSTR_ValueFromBuffer16(&nAddr16, pSrc); - /* and convert it to the address type */ - *pAddr = (FMSTR_ADDR) nAddr16; //+ ((FMSTR_ADDR) *(&nAddr16+1))<<8; -#endif - } - - return pSrc; -} - -/**************************************************************************//*! -* -* @brief Store 16/32 bit address to buffer -* -* @param pDest - pointer to a destination memory in communication buffer -* @param pSrc - memory address value -* -* @return This function returns a pointer to next byte in comm. buffer -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_AddressToBuffer(FMSTR_BPTR pDest, FMSTR_ADDR nAddr) -{ - /* do we have to differentiate the EX and non-EX access? */ -#if FMSTR_USE_EX_CMDS && FMSTR_USE_NOEX_CMDS - if(pcm_bUseExAddr) -#endif - { -#if FMSTR_USE_EX_CMDS - /* put the address as a 32bit value */ - pDest = FMSTR_ValueToBuffer32(pDest, (FMSTR_U32) nAddr); -#endif - } -#if FMSTR_USE_EX_CMDS && FMSTR_USE_NOEX_CMDS - else -#endif - { -#if FMSTR_USE_NOEX_CMDS - /* put the address as a 16bit value */ - pDest = FMSTR_ValueToBuffer16(pDest, (FMSTR_U16) nAddr); -#endif - } - - return pDest; -} - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_56F8xxx.h b/Projects/epwm_test/Freemaster/PE_freemaster_56F8xxx.h deleted file mode 100644 index 87b8e95..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_56F8xxx.h +++ /dev/null @@ -1,377 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_56F8xxx.h -* -* @brief FreeMASTER Driver hardware dependent stuff -* -* @version 1.0.8.0 -* -* @date May-17-2007 -* -*******************************************************************************/ - -#ifndef __FREEMASTER_56F8xxx_H -#define __FREEMASTER_56F8xxx_H - -#include "PE_freemaster.h" -/****************************************************************************** -* platform-specific default configuration -******************************************************************************/ - -/* using 16bit addressing commands */ -#ifndef FMSTR_USE_NOEX_CMDS -#define FMSTR_USE_NOEX_CMDS 1 -#endif - -/* using 32bit addressing commands */ -#ifndef FMSTR_USE_EX_CMDS -#define FMSTR_USE_EX_CMDS 1 -#endif - -/* using inline access to buffer memory */ -#ifndef FMSTR_USE_INLINE_BUFFER_ACCESS -#define FMSTR_USE_INLINE_BUFFER_ACCESS 0 -#endif - -/***************************************************************************** -* Board configuration information -******************************************************************************/ - -#define FMSTR_PROT_VER 3U /* protocol version 3 */ -#define FMSTR_CFG_FLAGS 0U /* board info flags */ -#define FMSTR_CFG_BUS_WIDTH 2U /* data bus width = 1*/ -#define FMSTR_GLOB_VERSION_MAJOR 2U /* driver version */ -#define FMSTR_GLOB_VERSION_MINOR 0U -#define FMSTR_IDT_STRING "56F8xxx FreeMASTER Driver" -#define FMSTR_TSA_FLAGS FMSTR_TSA_INFO_HV2BA /* HawkV2 TSA workaround */ - -/****************************************************************************** -* platform-specific types -******************************************************************************/ - -typedef unsigned char FMSTR_U8; /* smallest memory entity (mostly 8bit) */ -typedef unsigned short FMSTR_U16; /* 16bit value */ -typedef unsigned long FMSTR_U32; /* 32bit value */ - -typedef signed char FMSTR_S8; /* signed 8bit value */ -typedef signed short FMSTR_S16; /* signed 16bit value */ -typedef signed long FMSTR_S32; /* signed 32bit value */ - -typedef unsigned short FMSTR_FLAGS; /* type to be union-ed with flags (at least 8 bits) */ -typedef unsigned short FMSTR_SIZE8; /* size value (at least 8 bits) */ -typedef signed short FMSTR_INDEX; /* general for-loop index (must be signed) */ - -typedef unsigned char FMSTR_BCHR; /* type of a single character in comm.buffer */ -typedef unsigned char* FMSTR_BPTR; /* pointer within a communication buffer */ - -typedef unsigned short FMSTR_SCISR; /* data type to store SCI status register */ - -/****************************************************************************** -* communication buffer access functions (non-inline) -******************************************************************************/ - -void FMSTR_CopyMemory(FMSTR_ADDR nDestAddr, FMSTR_ADDR nSrcAddr, FMSTR_SIZE8 nSize); -FMSTR_BPTR FMSTR_CopyToBuffer(FMSTR_BPTR pDestBuff, FMSTR_ADDR nSrcAddr, FMSTR_SIZE8 nSize); -FMSTR_BPTR FMSTR_CopyFromBuffer(FMSTR_ADDR nDestAddr, FMSTR_BPTR pSrcBuff, FMSTR_SIZE8 nSize); -void FMSTR_CopyFromBufferWithMask(FMSTR_ADDR nDestAddr, FMSTR_BPTR pSrcBuff, FMSTR_SIZE8 nSize); -FMSTR_BPTR FMSTR_AddressFromBuffer(FMSTR_ADDR* pAddr, FMSTR_BPTR pSrc); -FMSTR_BPTR FMSTR_AddressToBuffer(FMSTR_BPTR pDest, FMSTR_ADDR nAddr); - -/* FMSTR_SetExAddr is needed only if both EX and non-EX commands are used */ -#if FMSTR_USE_EX_CMDS && FMSTR_USE_NOEX_CMDS -void FMSTR_SetExAddr(FMSTR_BOOL bNextAddrIsEx); -#else -/* otherwise, we know what addresses are used, (ignore FMSTR_SetExAddr) */ -#define FMSTR_SetExAddr(bNextAddrIsEx) -#endif - -/****************************************************************************** -* communication buffer access functions (inlines/functions - depending on cfg) -******************************************************************************/ - -#if FMSTR_USE_INLINE_BUFFER_ACCESS - -__inline FMSTR_BPTR FMSTR_ValueFromBuffer16(FMSTR_U16* pDest, FMSTR_BPTR pSrc) -{ - return FMSTR_CopyFromBuffer((FMSTR_ADDR)(FMSTR_U8*)pDest, pSrc, 2); -} - -__inline FMSTR_BPTR FMSTR_ValueFromBuffer32(FMSTR_U32* pDest, FMSTR_BPTR pSrc) -{ - return FMSTR_CopyFromBuffer((FMSTR_ADDR)(FMSTR_U8*)pDest, pSrc, 4); -} - -FMSTR_BPTR FMSTR_ValueToBuffer16(FMSTR_BPTR pDest, FMSTR_U16 src) -{ - return FMSTR_CopyToBuffer(pDest, (FMSTR_ADDR)(FMSTR_U8*)&src, 2); -} - -__inline FMSTR_BPTR FMSTR_ValueToBuffer32(FMSTR_BPTR pDest, FMSTR_U32 src) -{ - return FMSTR_CopyToBuffer(pDest, (FMSTR_ADDR)(FMSTR_U8*)&src, 4); -} - -#else /* FMSTR_USE_INLINE_BUFFER_ACCESS */ - -__inline FMSTR_BPTR FMSTR_ValueFromBuffer16(FMSTR_U16* pDest, FMSTR_BPTR pSrc) -{ - return FMSTR_CopyFromBuffer((FMSTR_ADDR)(FMSTR_U8*)pDest, pSrc, 2); -} - -__inline FMSTR_BPTR FMSTR_ValueFromBuffer32(FMSTR_U32* pDest, FMSTR_BPTR pSrc) -{ - return FMSTR_CopyFromBuffer((FMSTR_ADDR)(FMSTR_U8*)pDest, pSrc, 4); -} - -__inline FMSTR_BPTR FMSTR_ValueToBuffer16(FMSTR_BPTR pDest, FMSTR_U16 src) -{ - return FMSTR_CopyToBuffer(pDest, (FMSTR_ADDR)(FMSTR_U8*)&src, 2); -} - -__inline FMSTR_BPTR FMSTR_ValueToBuffer32(FMSTR_BPTR pDest, FMSTR_U32 src) -{ - return FMSTR_CopyToBuffer(pDest, (FMSTR_ADDR)(FMSTR_U8*)&src, 4); -} - -#endif /* FMSTR_USE_INLINE_BUFFER_ACCESS */ - -/****************************************************************************** -* communication buffer access inlines -******************************************************************************/ - -__inline FMSTR_BPTR FMSTR_SkipInBuffer(FMSTR_BPTR pDest, FMSTR_SIZE8 nSize) -{ - return pDest + nSize; -} - -__inline FMSTR_BPTR FMSTR_ValueFromBuffer8(FMSTR_U8* pDest, register FMSTR_BPTR pSrc) -{ - *pDest = *pSrc++; - return pSrc; -} - -__inline FMSTR_BPTR FMSTR_ValueToBuffer8(FMSTR_BPTR pDest, FMSTR_U8 src) -{ - *pDest++ = src; - return pDest; -} - -__inline FMSTR_BPTR FMSTR_ConstToBuffer8(FMSTR_BPTR pDest, FMSTR_U8 src) -{ - *pDest++ = src; - return pDest; -} - -__inline FMSTR_BPTR FMSTR_ConstToBuffer16(FMSTR_BPTR pDest, FMSTR_U16 src) -{ - return FMSTR_ConstToBuffer8(FMSTR_ConstToBuffer8(pDest, (FMSTR_U8) src), (FMSTR_U8)(src>>8)); -} - -/**************************************************************************************** -* memory access helper macros (used in recorder trigger compare routines) -*****************************************************************************************/ - -#define FMSTR_GetS8(addr) ( *(FMSTR_S8*)(addr) ) - -#define FMSTR_GetU8(addr) ( *(FMSTR_U8*)(addr) ) - -#define FMSTR_GetS16(addr) ( *(FMSTR_S16*)(addr) ) - -#define FMSTR_GetU16(addr) ( *(FMSTR_U16*)(addr) ) - -#define FMSTR_GetS32(addr) ( *(FMSTR_S32*)(addr) ) - -#define FMSTR_GetU32(addr) ( *(FMSTR_U32*)(addr) ) - -/**************************************************************************************** -* Other helper macros -*****************************************************************************************/ - -/* This macro assigns C pointer to FMSTR_ADDR-typed variable */ -/* should be done in assembly not to trim far-space pointers in SDM */ - -#define FMSTR_ARR2ADDR FMSTR_PTR2ADDR - - - -#define FMSTR_PTR2ADDR(tmpAddr, ptr) ( /*lint -e{923} */ tmpAddr = (FMSTR_ADDR) (FMSTR_U8*) ptr ) - -/**************************************************************************************** -* Platform-specific configuration check -*****************************************************************************************/ - -/* sanity check, at least one of the modes should be enabled */ -#if (!FMSTR_USE_EX_CMDS) && (!FMSTR_USE_NOEX_CMDS) -#error At least one of FMSTR_USE_EX_CMDS or FMSTR_USE_NOEX_CMDS should be set non-zero -#endif - -/* JTAG / SCI selection */ -#if FMSTR_USE_JTAG - /* hardwired JTAG address on all HawkV2 devices */ - #ifndef FMSTR_JTAG_BASE - #define FMSTR_JTAG_BASE 0xFFFF00 - #endif - -#elif FMSTR_USE_SCI - /* user must select what SCI to use */ - #ifndef FMSTR_SCI_BASE - #error You have to define FMSTR_SCI_BASE as a base address of SCI register space - #endif -#endif - -#if FMSTR_USE_SCI && FMSTR_USE_JTAG -#error You have to enable one of JTAG or SCI interface, not both -#endif - -/**************************************************************************************** -* General peripheral space access macros -*****************************************************************************************/ - -/* -#define FMSTR_SETBIT(base, offset, bit) (*(volatile FMSTR_U16*)(((FMSTR_U32)(base))+(offset)) |= bit) -#define FMSTR_CLRBIT(base, offset, bit) (*(volatile FMSTR_U16*)(((FMSTR_U32)(base))+(offset)) &= (FMSTR_U16)~((FMSTR_U16)(bit))) -#define FMSTR_SETREG(base, offset, value) (*(volatile FMSTR_U16*)(((FMSTR_U32)(base))+(offset)) = value) -#define FMSTR_GETREG(base, offset) (*(volatile FMSTR_U16*)(((FMSTR_U32)(base))+(offset))) -#define FMSTR_SETREG32(base, offset, value) (*(volatile FMSTR_U32*)(((FMSTR_U32)(base))+(offset)) = value) -#define FMSTR_GETREG32(base, offset) (*(volatile FMSTR_U32*)(((FMSTR_U32)(base))+(offset))) -*/ -/**************************************************************************************** -* SCI module constants -*****************************************************************************************/ - -/* SCI module registers */ -#define FMSTR_SCIBR_OFFSET 0U -#define FMSTR_SCICR_OFFSET 1U -#define FMSTR_SCISR_OFFSET 3U -#define FMSTR_SCIDR_OFFSET 4U - -/* SCI Control Register bits */ -#define FMSTR_SCICR_LOOP 0x8000U -#define FMSTR_SCICR_SWAI 0x4000U -#define FMSTR_SCICR_RSRC 0x2000U -#define FMSTR_SCICR_M 0x1000U -#define FMSTR_SCICR_WAKE 0x0800U -#define FMSTR_SCICR_POL 0x0400U -#define FMSTR_SCICR_PE 0x0200U -#define FMSTR_SCICR_PT 0x0100U -#define FMSTR_SCICR_TEIE 0x0080U -#define FMSTR_SCICR_TIIE 0x0040U -#define FMSTR_SCICR_RFIE 0x0020U -#define FMSTR_SCICR_REIE 0x0010U -#define FMSTR_SCICR_TE 0x0008U -#define FMSTR_SCICR_RE 0x0004U -#define FMSTR_SCICR_RWU 0x0002U -#define FMSTR_SCICR_SBK 0x0001U - -/* SCI Status registers bits */ -#define FMSTR_SCISR_TDRE 0x8000U -#define FMSTR_SCISR_TIDLE 0x4000U -#define FMSTR_SCISR_RDRF 0x2000U -#define FMSTR_SCISR_RIDLE 0x1000U -#define FMSTR_SCISR_OR 0x0800U -#define FMSTR_SCISR_NF 0x0400U -#define FMSTR_SCISR_FE 0x0200U -#define FMSTR_SCISR_PF 0x0100U -#define FMSTR_SCISR_RAF 0x0001U - -/******************************************************************************************* -* SCI access macros -*****************************************************************************************/ - -/* transmitter enable/disable */ -/*lint -emacro(923,FMSTR_SCI_TE, FMSTR_SCI_TD) : casting long to pointer */ -//#define FMSTR_SCI_TE() FMSTR_SETBIT(FMSTR_SCI_BASE, FMSTR_SCICR_OFFSET, FMSTR_SCICR_TE) -//#define FMSTR_SCI_TD() FMSTR_CLRBIT(FMSTR_SCI_BASE, FMSTR_SCICR_OFFSET, FMSTR_SCICR_TE) - -/* receiver enable/disable */ -/*lint -emacro(923,FMSTR_SCI_RE, FMSTR_SCI_RD) : casting long to pointer */ -//#define -//#define - -/* Transmitter-empty interrupt enable/disable : casting long to pointer */ -/*lint -emacro(923,FMSTR_SCI_ETXI, FMSTR_SCI_DTXI) */ -//#define FMSTR_SCI_ETXI() FMSTR_SETBIT(FMSTR_SCI_BASE, FMSTR_SCICR_OFFSET, FMSTR_SCICR_TEIE) -//#define FMSTR_SCI_DTXI() FMSTR_CLRBIT(FMSTR_SCI_BASE, FMSTR_SCICR_OFFSET, FMSTR_SCICR_TEIE) - -/* Receiver-full interrupt enable/disable : casting long to pointer */ -/*lint -emacro(923,FMSTR_SCI_ERXI, FMSTR_SCI_DRXI) */ -//#define FMSTR_SCI_ERXI() FMSTR_SETBIT(FMSTR_SCI_BASE, FMSTR_SCICR_OFFSET, FMSTR_SCICR_RFIE) -//#define FMSTR_SCI_DRXI() FMSTR_CLRBIT(FMSTR_SCI_BASE, FMSTR_SCICR_OFFSET, FMSTR_SCICR_RFIE) - -/* Tranmsit character */ -/*lint -emacro(923,FMSTR_SCI_PUTCHAR) : casting long to pointer */ -//#define FMSTR_SCI_PUTCHAR(ch) FMSTR_SETREG(FMSTR_SCI_BASE, FMSTR_SCIDR_OFFSET, ch) - -/* Get received character */ -/*lint -emacro(923,FMSTR_SCI_GETCHAR) : casting long to pointer */ -//#define FMSTR_SCI_GETCHAR() FMSTR_GETREG(FMSTR_SCI_BASE, FMSTR_SCIDR_OFFSET) - -/* read status register */ -/*lint -emacro(923,FMSTR_SCI_GETSR) : casting long to pointer */ -//#define FMSTR_SCI_GETSR() FMSTR_GETREG(FMSTR_SCI_BASE, FMSTR_SCISR_OFFSET) - -/* read & clear status register (clears error status bits only) */ -/*lint -emacro(923,FMSTR_SCI_RDCLRSR) : casting long to pointer */ -//#define FMSTR_SCI_RDCLRSR() FMSTR_SETREG(FMSTR_SCI_BASE, FMSTR_SCISR_OFFSET, FMSTR_GETREG(FMSTR_SCI_BASE, FMSTR_SCISR_OFFSET)) - -/******************************************************************************************* -* JTAG access macros -*******************************************************************************************/ - -#define FMSTR_JTAG_OTXRXSR_OFFSET 0xfdU -#define FMSTR_JTAG_ORX_OFFSET 0xfeU -#define FMSTR_JTAG_OTX_OFFSET 0xfeU -#define FMSTR_JTAG_ORX1_OFFSET 0xffU -#define FMSTR_JTAG_OTX1_OFFSET 0xffU - -/* OTXRXSR register */ -#define FMSTR_JTAG_OTXRXSR_RDF 0x01U -#define FMSTR_JTAG_OTXRXSR_TDF 0x02U -#define FMSTR_JTAG_OTXRXSR_RIE 0x04U -#define FMSTR_JTAG_OTXRXSR_TIE 0x08U - -#define _CHECK \ - if(FMSTR_GETREG(FMSTR_JTAG_BASE, FMSTR_JTAG_OTXRXSR_OFFSET) & FMSTR_JTAG_OTXRXSR_RIE) \ - ioctl(GPIO_A, GPIO_SET_PIN, BIT_1); \ - else \ - ioctl(GPIO_A, GPIO_CLEAR_PIN, BIT_1) - -/* enable/disable JTAG Rx-full interrupt */ -/*lint -emacro(923,FMSTR_JTAG_ERXI,FMSTR_JTAG_DRXI) : casting long to pointer */ -#define FMSTR_JTAG_ERXI() FMSTR_SETBIT(FMSTR_JTAG_BASE, FMSTR_JTAG_OTXRXSR_OFFSET, FMSTR_JTAG_OTXRXSR_RIE) -#define FMSTR_JTAG_DRXI() FMSTR_CLRBIT(FMSTR_JTAG_BASE, FMSTR_JTAG_OTXRXSR_OFFSET, FMSTR_JTAG_OTXRXSR_RIE) - -/* enable/disable JTAG Tx-empty interrupt */ -/*lint -emacro(923,FMSTR_JTAG_ETXI,FMSTR_JTAG_DTXI) : casting long to pointer */ -#define FMSTR_JTAG_ETXI() FMSTR_SETBIT(FMSTR_JTAG_BASE, FMSTR_JTAG_OTXRXSR_OFFSET, FMSTR_JTAG_OTXRXSR_TIE) -#define FMSTR_JTAG_DTXI() FMSTR_CLRBIT(FMSTR_JTAG_BASE, FMSTR_JTAG_OTXRXSR_OFFSET, FMSTR_JTAG_OTXRXSR_TIE) - -/* this macro verifies if the RIE bit is set (note that RIE is held low by HW until JTAG init) */ -/*lint -emacro(923,FMSTR_JTAG_ERXI_CHECK,FMSTR_JTAG_ETXI_CHECK) : casting long to pointer */ -#define FMSTR_JTAG_ERXI_CHECK() (FMSTR_GETREG(FMSTR_JTAG_BASE, FMSTR_JTAG_OTXRXSR_OFFSET) & FMSTR_JTAG_OTXRXSR_RIE) -#define FMSTR_JTAG_ETXI_CHECK() (FMSTR_GETREG(FMSTR_JTAG_BASE, FMSTR_JTAG_OTXRXSR_OFFSET) & FMSTR_JTAG_OTXRXSR_TIE) - -/* get JTAG status register */ -/*lint -emacro(923,FMSTR_JTAG_GETSR) : casting long to pointer */ -#define FMSTR_JTAG_GETSR() FMSTR_GETREG(FMSTR_JTAG_BASE, FMSTR_JTAG_OTXRXSR_OFFSET) - -/* Tranmsit JTAG word */ -/*lint -emacro(923,FMSTR_JTAG_PUTDWORD) : casting long to pointer */ -#define FMSTR_JTAG_PUTDWORD(ch) FMSTR_SETREG32(FMSTR_JTAG_BASE, FMSTR_JTAG_OTX_OFFSET, ch) - -/* Get received word */ -/*lint -emacro(923,FMSTR_JTAG_GETDWORD) : casting long to pointer */ -#define FMSTR_JTAG_GETDWORD() FMSTR_GETREG32(FMSTR_JTAG_BASE, FMSTR_JTAG_ORX_OFFSET) - -/* Get upper 16bit of received word */ -/*lint -emacro(923,FMSTR_JTAG_GETWORD) : casting long to pointer */ -#define FMSTR_JTAG_GETWORD() FMSTR_GETREG(FMSTR_JTAG_BASE, FMSTR_JTAG_ORX1_OFFSET) - -#endif /* __FREEMASTER_56F8xxx_H */ diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_appcmd.c b/Projects/epwm_test/Freemaster/PE_freemaster_appcmd.c deleted file mode 100644 index 2261f77..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_appcmd.c +++ /dev/null @@ -1,453 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2007 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_appcmd.c -* -* @brief FreeMASTER Application Commands implementation -* -* @version 1.0.9.0 -* -* @date Oct-19-2007 -* -*******************************************************************************/ - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" -#include "PE_freemaster_protocol.h" - -#if FMSTR_USE_APPCMD - -/*********************************** -* local variables -***********************************/ - -static FMSTR_APPCMD_CODE pcm_nAppCmd; /* app.cmd code (to application) */ -static FMSTR_APPCMD_DATA pcm_pAppCmdBuff[FMSTR_APPCMD_BUFF_SIZE]; /* app.cmd data buffer */ -static FMSTR_SIZE pcm_nAppCmdLen; /* app.cmd data length */ - -static FMSTR_APPCMD_RESULT pcm_nAppCmdResult; /* app.cmd result code (from application) */ -static FMSTR_SIZE8 pcm_nAppCmdResultDataLen; - -#if FMSTR_MAX_APPCMD_CALLS > 0 -static FMSTR_APPCMD_CODE pcm_pAppCmdCallId[FMSTR_MAX_APPCMD_CALLS]; /* registerred callback commands */ -static FMSTR_PAPPCMDFUNC pcm_pAppCmdCallFunc[FMSTR_MAX_APPCMD_CALLS]; /* registerred callback handlers */ -#endif - -/*********************************** -* local functions -***********************************/ - -static FMSTR_INDEX FMSTR_FindAppCmdCallIndex(FMSTR_APPCMD_CODE nAppcmdCode); - -/**************************************************************************//*! -* -* @brief Initialize app.cmds interface -* -******************************************************************************/ - -void FMSTR_InitAppCmds(void) -{ -#if FMSTR_MAX_APPCMD_CALLS - FMSTR_INDEX i; - - for(i=0; i (FMSTR_SIZE8) FMSTR_APPCMD_BUFF_SIZE) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVBUFF); - } - - /* store command data into dedicated buffer */ - pcm_nAppCmd = nCode; - pcm_nAppCmdLen = nArgsLen; - - /* data copy */ - if(nArgsLen) - { - FMSTR_ADDR appCmdBuffAddr; - FMSTR_ARR2ADDR(appCmdBuffAddr, pcm_pAppCmdBuff); - - /*lint -e{534} ignoring return value */ - FMSTR_CopyFromBuffer(appCmdBuffAddr, pMessageIO, (FMSTR_SIZE8) nArgsLen); - } - - /* mark command as "running" (without any response data) */ - pcm_nAppCmdResult = FMSTR_APPCMDRESULT_RUNNING; - pcm_nAppCmdResultDataLen = 0U; - - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); -} - -/**************************************************************************//*! -* -* @brief Handling GETAPPCMDSTS command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -* @note The callback-registerred commands are processed at the moment the PC -* tries to get the result for the first time. At this moment, we are -* sure the PC already got the command delivery packet acknowledged. -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_GetAppCmdStatus(FMSTR_BPTR pMessageIO) -{ -#if FMSTR_MAX_APPCMD_CALLS - FMSTR_PAPPCMDFUNC pFunc = NULL; - FMSTR_INDEX nIndex; - - /* time to execute the command's callback */ - if((nIndex = FMSTR_FindAppCmdCallIndex(pcm_nAppCmd)) >= 0) - { - pFunc = pcm_pAppCmdCallFunc[nIndex]; - } - - /* valid callback function found? */ - if(pFunc) - { - /* do execute callback, return value is app.cmd result code */ - pcm_nAppCmdResult = pFunc(pcm_nAppCmd, pcm_pAppCmdBuff, pcm_nAppCmdLen); - - /* nothing more to do with this command (i.e. command acknowledged) */ - pcm_nAppCmd = FMSTR_APPCMDRESULT_NOCMD; - } -#endif - - pMessageIO = FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STS_OK); - return FMSTR_ValueToBuffer8(pMessageIO, (FMSTR_U8) pcm_nAppCmdResult); -} - -/**************************************************************************//*! -* -* @brief Handling GETAPPCMDDATA command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_GetAppCmdRespData(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_U8 nDataLen; - FMSTR_U8 nDataOffset; - - /* the previous command not yet processed */ - if(pcm_nAppCmd != FMSTR_APPCMDRESULT_NOCMD) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_SERVBUSY); - } - - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 1U); - pMessageIO = FMSTR_ValueFromBuffer8(&nDataLen, pMessageIO); - pMessageIO = FMSTR_ValueFromBuffer8(&nDataOffset, pMessageIO); - - /* the response would not fit into comm buffer */ - if(nDataLen > (FMSTR_U16)FMSTR_COMM_BUFFER_SIZE) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_RSPBUFFOVF); - } - - /* the data would be fetched outside the app.cmd response data */ - if((((FMSTR_U16)nDataOffset) + nDataLen) > (FMSTR_SIZE8)pcm_nAppCmdResultDataLen) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVSIZE); - } - - pResponse = FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); - - /* copy to buffer */ - { - FMSTR_ADDR appCmdBuffAddr; - FMSTR_ARR2ADDR(appCmdBuffAddr, pcm_pAppCmdBuff); - pResponse = FMSTR_CopyToBuffer(pResponse, appCmdBuffAddr, (FMSTR_SIZE8)nDataLen); - } - - return pResponse; -} - -/**************************************************************************//*! -* -* @brief Find index of registerred app.cmd callback -* -* @param nAppcmdCode - App. command ID -* -* @return Index of function pointer in our local tables -* -******************************************************************************/ - -static FMSTR_INDEX FMSTR_FindAppCmdCallIndex(FMSTR_APPCMD_CODE nAppcmdCode) -{ -#if FMSTR_MAX_APPCMD_CALLS > 0 - FMSTR_INDEX i; - - for(i=0; i (FMSTR_SIZE8) FMSTR_APPCMD_BUFF_SIZE) - { - pcm_nAppCmdResultDataLen = (FMSTR_SIZE8) FMSTR_APPCMD_BUFF_SIZE; - } - - if(pcm_nAppCmdResultDataLen > 0U) - { - FMSTR_ADDR appCmdBuffAddr; - FMSTR_ARR2ADDR(appCmdBuffAddr, pcm_pAppCmdBuff); - FMSTR_CopyMemory(appCmdBuffAddr, nResultDataAddr, pcm_nAppCmdResultDataLen); - } - } - else - { - /* no data being returned at all (same effect as pure FMSTR_AppCmdAck) */ - pcm_nAppCmdResultDataLen = 0U; - } -} - -/**************************************************************************//*! -* -* @brief API: Fetch the application command code if one is ready for processing -* -* @return A command code stored in the application cmd buffer. -* The return value is FMSTR_APPCMDRESULT_NOCMD if there is no -* new command since the last call to FMSTR_AppCmdAck -* -******************************************************************************/ - -FMSTR_APPCMD_CODE FMSTR_GetAppCmd(void) -{ -#if FMSTR_MAX_APPCMD_CALLS - /* the user can never see the callback-registerred commands */ - if(FMSTR_FindAppCmdCallIndex(pcm_nAppCmd) >= 0) - { - return FMSTR_APPCMDRESULT_NOCMD; - } -#endif - - /* otherwise, return the appcomand pending */ - return pcm_nAppCmd; -} - -/**************************************************************************//*! -* -* @brief API: Get a pointer to application command data -* -* @param pDataLen - A pointer to variable which receives the data length -* -* @return Pointer to the "application command" data -* -******************************************************************************/ - -FMSTR_APPCMD_PDATA FMSTR_GetAppCmdData(FMSTR_SIZE* pDataLen) -{ - /* no command, no data */ - if(pcm_nAppCmd == FMSTR_APPCMDRESULT_NOCMD) - { - return NULL; - } - -#if FMSTR_MAX_APPCMD_CALLS - /* the user never sees the callback-registerred commands */ - if(FMSTR_FindAppCmdCallIndex(pcm_nAppCmd) >= 0) - { - return NULL; - } -#endif - - /* caller want to know the data length */ - if(pDataLen) - { - *pDataLen = pcm_nAppCmdLen; - } - - /* data are saved in out buffer */ - return pcm_nAppCmdLen ? pcm_pAppCmdBuff : (FMSTR_APPCMD_PDATA) NULL; -} - -/**************************************************************************//*! -* -* @brief API: Register or unregister app.cmd callback handler -* -* @param nAppCmdCode - App.command ID -* @param pCallbackFunc - Pointer to handler function (NULL to unregister) -* -* @return Non-zero if successfull, zero if maximum callbacks already set -* -******************************************************************************/ - -FMSTR_BOOL FMSTR_RegisterAppCmdCall(FMSTR_APPCMD_CODE nAppCmdCode, FMSTR_PAPPCMDFUNC pCallbackFunc) -{ -#if FMSTR_MAX_APPCMD_CALLS > 0 - - FMSTR_INDEX nIndex; - - /* keep "void" ID as reserved */ - if(nAppCmdCode == FMSTR_APPCMDRESULT_NOCMD) - { - return FMSTR_FALSE; - } - - /* get index of app.cmd ID (if already set) */ - nIndex = FMSTR_FindAppCmdCallIndex(nAppCmdCode); - - /* when not found, get a free slot (only if registerring new callback) */ - if(nIndex < 0 && pCallbackFunc != NULL) - { - nIndex = FMSTR_FindAppCmdCallIndex(FMSTR_APPCMDRESULT_NOCMD); - } - - /* failed? */ - if(nIndex < 0) - { - return FMSTR_FALSE; - } - - /* register handler */ - pcm_pAppCmdCallFunc[nIndex] = pCallbackFunc; - pcm_pAppCmdCallId[nIndex] = (FMSTR_APPCMD_CODE) (pCallbackFunc ? - nAppCmdCode : FMSTR_APPCMDRESULT_NOCMD); - - return FMSTR_TRUE; - -#else - FMSTR_UNUSED(pCallbackFunc); - FMSTR_UNUSED(nAppCmdCode); - - /* app.cmd callback not implemented */ - return FMSTR_FALSE; - -#endif -} - -#else /* FMSTR_USE_APPCMD */ - -/* void Application Command API functions */ - -void FMSTR_AppCmdAck(FMSTR_APPCMD_RESULT nResultCode) -{ -// FMSTR_UNUSED(nResultCode); -} - -void FMSTR_AppCmdSetResponseData(FMSTR_ADDR pResultData, FMSTR_SIZE nResultDataLen) -{ -// FMSTR_UNUSED(pResultData); -// FMSTR_UNUSED(nResultDataLen); -} - -FMSTR_APPCMD_CODE FMSTR_GetAppCmd(void) -{ - return FMSTR_APPCMDRESULT_NOCMD; -} - -FMSTR_APPCMD_PDATA FMSTR_GetAppCmdData(FMSTR_SIZE* pDataLen) -{ -// FMSTR_UNUSED(pDataLen); - return NULL; -} - -FMSTR_BOOL FMSTR_RegisterAppCmdCall(FMSTR_APPCMD_CODE nAppCmdCode, FMSTR_PAPPCMDFUNC pCallbackFunc) -{ - // FMSTR_UNUSED(nAppCmdCode); - // FMSTR_UNUSED(pCallbackFunc); - return FMSTR_FALSE; -} - -/*lint -efile(766, PE_freemaster_protocol.h) include file is not used in this case */ - -#endif /* FMSTR_USE_APPCMD */ diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_cfg.h b/Projects/epwm_test/Freemaster/PE_freemaster_cfg.h deleted file mode 100644 index ece205b..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_cfg.h +++ /dev/null @@ -1,78 +0,0 @@ -/** ################################################################### -** THIS COMPONENT MODULE IS GENERATED BY THE TOOL. DO NOT MODIFY IT. -** Filename : freemaster_cfg.H -** Project : Test -** Processor : 56F8323 -** Version : Component 01.006, Driver 01.03, CPU db: 2.87.081 -** Compiler : Metrowerks DSP C Compiler -** Date/Time : 17.10.2012, 17:58 -** Abstract : -** FreeMASTER Serial Communication Driver configuration file -** -** Copyright : 1997 - 2009 Freescale Semiconductor, Inc. All Rights Reserved. -** -** http : www.freescale.com -** mail : support@freescale.com -** ###################################################################*/ - -#ifndef __FREEMASTER_CFG_H -#define __FREEMASTER_CFG_H - -/* Select interrupt or poll-driven serial communication */ -#define FMSTR_LONG_INTR 0 -#define FMSTR_SHORT_INTR 0 -#define FMSTR_POLL_DRIVEN 1 /* No interrupt needed, polling only */ - -/* SCI communication */ -#define FMSTR_USE_SCI 1 /* Use SCI interface */ -#define FMSTR_SCI_BASE 62080 /* SCI Base address is same as SCI Baud Rate register address */ -#define FMSTR_USE_JTAG 0 /* Disable JTAG interface */ - -/* FreeMaster communication buffer */ -#define FMSTR_COMM_BUFFER_SIZE 64 /* Input/output communication buffer size */ -#if FMSTR_SHORT_INTR -#define FMSTR_COMM_RQUEUE_SIZE 32 /* Receive FIFO queue size (use with FMSTR_SHORT_INTR only) */ -#endif - -/* Application command support */ -#define FMSTR_USE_APPCMD 0 /* Application commands support disabled */ - -/* Oscilloscope support */ -#define FMSTR_USE_SCOPE 1 /* Scope enabled */ -#define FMSTR_MAX_SCOPE_VARS 8 /* Max. number of scope variables (2..8) */ - -/* Recorder support */ -#define FMSTR_USE_RECORDER 1 /* Recorder support enabled */ -#define FMSTR_REC_BUFF_SIZE 2048 /* Recorder buffer size */ -#define FMSTR_USE_FASTREC 0 /* Fast recorder support disabled */ -#define FMSTR_REC_OWNBUFF 0 /* User-allocated rec. buffer is not used */ -#define FMSTR_REC_FARBUFF 0 /* Buffer is not putted in "fardata" section */ -#define FMSTR_MAX_REC_VARS 8 /* Max. number of recorder variables (2..8) */ -#define FMSTR_REC_TIMEBASE 32868 /* Recorder timebase */ -#define FMSTR_USE_BRIEFINFO 0 /* Full board information structure is required becouse recorder is used */ - -/* Target-side addressing support */ -#define FMSTR_USE_TSA 0 /* Disable TSA functionality */ - -#define FMSTR_USE_READMEM 1 /* Enable read memory commands */ -#define FMSTR_USE_WRITEMEM 1 /* Enable write memory commands */ -#define FMSTR_USE_WRITEMEMMASK 1 /* Enable masked write memory commands */ - -#define FMSTR_USE_READVAR 0 /* Disable read variable fast commands */ -#define FMSTR_USE_WRITEVAR 0 /* Disable write variable fast commands */ -#define FMSTR_USE_WRITEVARMASK 0 /* Disable write variable bits fast commands */ - -/* SFIO support */ -#define FMSTR_USE_SFIO 0 /* SFIO support disabled */ - -#endif /* __FREEMASTER_CFG_H */ - -/* -** ################################################################### -** -** This file was created by Processor Expert 3.00 [04.35] -** for the Freescale 56800 series of microcontrollers. -** -** ################################################################### -*/ - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_fastrec.c b/Projects/epwm_test/Freemaster/PE_freemaster_fastrec.c deleted file mode 100644 index aa8f7b9..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_fastrec.c +++ /dev/null @@ -1,131 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_fastrec.c -* -* @brief FreeMASTER 56F800E-hardware dependent fast-recorder routines -* -* @version 1.0.2.0 -* -* @date Sep-6-2006 -* -*******************************************************************************/ - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" - -#if FMSTR_USE_RECORDER && FMSTR_USE_FASTREC - -#include "PE_freemaster_fastrec.h" - -/* global variables */ -FMSTR_ADDR pcm_dwFastRecWritePtr; -FMSTR_ADDR pcm_dwFastRecStartBuffPtr; -FMSTR_ADDR pcm_dwFastRecEndBuffPtr; - -/* statically allocated recorder buffer (FMSTR_REC_OWNBUFF is FALSE) */ -#if FMSTR_REC_FARBUFF -#pragma section fardata begin -#endif /* FMSTR_REC_FARBUFF */ -static FMSTR_U16 pcm_pFastRecBuffer[FMSTR_REC_BUFF_SIZE/2]; -/* end of far memory section */ -#if FMSTR_REC_FARBUFF -#pragma section fardata end -#endif /* FMSTR_REC_FARBUFF */ - -/**************************************************************************//*! -* -* @brief Fast Recorder Initialization -* -******************************************************************************/ - -void FMSTR_InitFastRec(void) -{ - /* get array pointer as 32bit value */ - FMSTR_ARR2ADDR(pcm_dwFastRecStartBuffPtr, pcm_pFastRecBuffer); - - /* base driver requires byte-addressing */ - FMSTR_SetUpRecBuff(pcm_dwFastRecStartBuffPtr * 2, FMSTR_REC_BUFF_SIZE); -} - -/**************************************************************************//*! -* -* @brief Check if recorder configuration can be used in fast-recorder mode -* -******************************************************************************/ - -FMSTR_BOOL FMSTR_SetUpFastRec(void) -{ - FMSTR_INDEX i; - - /* check all recorder variables */ - for(i=0; ipcm_pRecVarAddr, padrs; \ - move.w pcm_nRecVarCount, tmp; \ - \ - do tmp, copy_loop_end; \ - move.l X:(padrs)+, ptemp; \ - move.w X:(ptemp), tmp; \ - move.w tmp, X:(pdest)+; \ - \ - copy_loop_end: \ - } \ - } - -#define FMSTR_FASTREC_VAR16(var16) \ - asm \ - { \ - move.w var16, tmp; \ - move.w tmp, X:(pdest)+; \ - } - -#define FMSTR_FASTREC_END() \ - asm \ - { \ - /* compare pdest with a wrap location */ \ - move.l pcm_dwFastRecEndBuffPtr, ptemp; \ - cmpa pdest, ptemp; \ - bgt no_wrap; \ - \ - /* do wrap, reset write pointer to buffer start */ \ - move.l pcm_dwFastRecStartBuffPtr, pdest; \ - \ - /* remember virgin cycle is over (trigger now enabled) */ \ - bfclr FMSTR_REC_FLAG_bInvirginCycle, flags; \ - \ - no_wrap: \ - /* save write pointer back to memory */ \ - move.l pdest, pcm_dwFastRecWritePtr; \ - \ - /* save flags back to memory */ \ - move.w flags, pcm_wRecFlags.all; \ - \ - skip_all: \ - } \ -} - - -inline FMSTR_FastRecorder(register FMSTR_BOOL bTriggerNow) -{ - FMSTR_FASTREC_BEGIN(1) - FMSTR_FASTREC_STDVARS() - FMSTR_FASTREC_TRIGGER_FULL(bTriggerNow) - FMSTR_FASTREC_END() - } - -/* normal recorder call emulated using fast recorder routine */ - -inline void FMSTR_Recorder(void) -{ - FMSTR_FastRecorder(0); -} - -#else /* FMSTR_USE_FASTREC */ - -/* fast recorder is de-activated, emulate using normal recorder */ - -inline void FMSTR_FastRecorder(FMSTR_BOOL bTriggerNow) -{ - if(bTriggerNow) - FMSTR_TriggerRec(); - - FMSTR_Recorder(); -} - -#endif /* FMSTR_USE_FASTREC */ - -#else /* FMSTR_USE_RECORDER */ - -/* recorder is not implemented, use empty fast-recorder call */ - -inline void FMSTR_FastRecorder(FMSTR_BOOL bTriggerNow) -{ -} - -#endif /* FMSTR_USE_RECORDER */ -#endif /* __FREEMASTER_FASTREC_H */ - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_private.h b/Projects/epwm_test/Freemaster/PE_freemaster_private.h deleted file mode 100644 index a620504..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_private.h +++ /dev/null @@ -1,530 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2007 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_private.h -* -* @brief FreeMASTER driver private declarations, used internally by the driver -* -* @version 1.0.21.0 -* -* @date Oct-22-2007 -* -*******************************************************************************/ - -#ifndef __FREEMASTER_PRIVATE_H -#define __FREEMASTER_PRIVATE_H - -#ifndef __FREEMASTER_H -#error Please include the PE_freemaster.h master header file before the PE_freemaster_private.h -#endif - -#include "PE_freemaster_cfg.h" - -/****************************************************************************** -* Platform-dependent types, macros and functions -******************************************************************************/ - -#undef FMSTR_PLATFORM - -/* platform macro FMSTR_PLATFORM_xxxxxxx should be defined */ -/* as "non-zero" in the "PE_freemaster.h" file */ - -#if defined(FMSTR_PLATFORM_56F8xx) - #if FMSTR_PLATFORM_56F8xx - #include "PE_freemaster_56F8xx.h" - #define FMSTR_PLATFORM 56F8xx - #else - #undef FMSTR_PLATFORM_56F8xx - #endif -#endif - -#if defined(FMSTR_PLATFORM_56F8xxx) - #if FMSTR_PLATFORM_56F8xxx - #include "PE_freemaster_56F8xxx.h" - #define FMSTR_PLATFORM 56F8xxx - #else - #undef FMSTR_PLATFORM_56F8xxx - #endif -#endif - -#if defined(FMSTR_PLATFORM_HC12) - #if FMSTR_PLATFORM_HC12 - #include "PE_freemaster_HC12.h" - #define FMSTR_PLATFORM HC12 - #else - #undef FMSTR_PLATFORM_HC12 - #endif -#endif - -#if defined(FMSTR_PLATFORM_HC08) - #if FMSTR_PLATFORM_HC08 - #include "PE_freemaster_HC08.h" - #define FMSTR_PLATFORM HC08 - #else - #undef FMSTR_PLATFORM_HC08 - #endif -#endif - -#if defined(FMSTR_PLATFORM_MPC55xx) - #if FMSTR_PLATFORM_MPC55xx - #include "PE_freemaster_MPC55xx.h" - #define FMSTR_PLATFORM MPC55xx - #else - #undef FMSTR_PLATFORM_MPC55xx - #endif -#endif - -#if defined(FMSTR_PLATFORM_MPC5xx) - #if FMSTR_PLATFORM_MPC5xx - #include "PE_freemaster_MPC5xx.h" - #define FMSTR_PLATFORM MPC5xx - #else - #undef FMSTR_PLATFORM_MPC5xx - #endif -#endif - -#if defined(FMSTR_PLATFORM_MCF51xx) - #if FMSTR_PLATFORM_MCF51xx - #include "PE_freemaster_MCF51xx.h" - #define FMSTR_PLATFORM MCF51xx - #else - #undef FMSTR_PLATFORM_MCF51xx - #endif -#endif - -#if defined(FMSTR_PLATFORM_MCF52xx) - #if FMSTR_PLATFORM_MCF52xx - #include "PE_freemaster_MCF52xx.h" - #define FMSTR_PLATFORM MCF52xx - #else - #undef FMSTR_PLATFORM_MCF52xx - #endif -#endif - -#ifndef FMSTR_PLATFORM -#error Unknown FreeMASTER driver platform -#endif - -/****************************************************************************** -* NULL needed -******************************************************************************/ - -#ifndef NULL -#define NULL ((void *) 0) -#endif - -/****************************************************************************** -* Boolean values -******************************************************************************/ - -#ifndef FMSTR_TRUE -#define FMSTR_TRUE (1U) -#endif - -#ifndef FMSTR_FALSE -#define FMSTR_FALSE (0U) -#endif - -/****************************************************************************** -* Global non-API functions (used internally in FreeMASTER driver) -******************************************************************************/ - -void FMSTR_InitSerial(void); -void FMSTR_ProtocolDecoder(FMSTR_BPTR pMessageIO); -void FMSTR_SendResponse(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nLength); -void FMSTR_ProcessSCI(void); -void FMSTR_ProcessJTAG(void); - -FMSTR_BPTR FMSTR_GetBoardInfo(FMSTR_BPTR pMessageIO); - -FMSTR_BPTR FMSTR_ReadMem(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_ReadVar(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize); -FMSTR_BPTR FMSTR_WriteMem(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_WriteVar(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize); -FMSTR_BPTR FMSTR_WriteVarMask(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize); -FMSTR_BPTR FMSTR_WriteMemMask(FMSTR_BPTR pMessageIO); - -void FMSTR_InitAppCmds(void); -FMSTR_BPTR FMSTR_StoreAppCmd(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_GetAppCmdStatus(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_GetAppCmdRespData(FMSTR_BPTR pMessageIO); - -void FMSTR_InitScope(void); -FMSTR_BPTR FMSTR_SetUpScope(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_ReadScope(FMSTR_BPTR pMessageIO); - -void FMSTR_InitRec(void); -FMSTR_BPTR FMSTR_SetUpRec(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_StartRec(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_StopRec(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_GetRecStatus(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_GetRecBuff(FMSTR_BPTR pMessageIO); -FMSTR_BOOL FMSTR_IsInRecBuffer(FMSTR_ADDR nAddr, FMSTR_SIZE8 nSize); -FMSTR_SIZE FMSTR_GetRecBuffSize(void); -void FMSTR_AbortRec(void); - -void FMSTR_InitTsa(void); -FMSTR_BPTR FMSTR_GetTsaInfo(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_GetStringLen(FMSTR_BPTR pMessageIO); -FMSTR_BOOL FMSTR_CheckTsaSpace(FMSTR_ADDR nAddr, FMSTR_SIZE8 nSize, FMSTR_BOOL bWriteAccess); -FMSTR_U16 FMSTR_StrLen(FMSTR_ADDR nAddr); - -void FMSTR_InitSfio(void); -FMSTR_BPTR FMSTR_SfioFrame(FMSTR_BPTR pMessageIO); -FMSTR_BPTR FMSTR_SfioGetResp(FMSTR_BPTR pMessageIO); - -void FMSTR_InitPipes(void); -FMSTR_BPTR FMSTR_PipeFrame(FMSTR_BPTR pMessageIO); - -/**************************************************************************************** -* Potentialy unused variable declaration -*****************************************************************************************/ - -#ifdef _lint -#define FMSTR_UNUSED(sym) /*lint -esym(715,sym) -esym(818,sym) -esym(529,sym) -e{960} */ -#else -#define FMSTR_UNUSED(sym) ((sym),0) -#endif - -/****************************************************************************** -* Configuration check -******************************************************************************/ - -/* polling mode as default when nothing selected */ -#if !defined(FMSTR_POLL_DRIVEN) && !defined(FMSTR_LONG_INTR) && !defined(FMSTR_SHORT_INTR) - #define FMSTR_LONG_INTR 0 - #define FMSTR_SHORT_INTR 0 - #define FMSTR_POLL_DRIVEN 1 -#endif - -/* otherwise, "undefined" means false for all three options */ -#ifndef FMSTR_POLL_DRIVEN -#define FMSTR_POLL_DRIVEN 0 -#endif -#ifndef FMSTR_LONG_INTR -#define FMSTR_LONG_INTR 0 -#endif -#ifndef FMSTR_SHORT_INTR -#define FMSTR_SHORT_INTR 0 -#endif - -#if (FMSTR_LONG_INTR && (FMSTR_SHORT_INTR || FMSTR_POLL_DRIVEN)) || \ - (FMSTR_SHORT_INTR && (FMSTR_LONG_INTR || FMSTR_POLL_DRIVEN)) || \ - (FMSTR_POLL_DRIVEN && (FMSTR_LONG_INTR || FMSTR_SHORT_INTR)) || \ - !(FMSTR_POLL_DRIVEN || FMSTR_LONG_INTR || FMSTR_SHORT_INTR) - /* mismatch in interrupt modes, only one can be selected */ - #error You have to enable exctly one of FMSTR_LONG_INTR or FMSTR_SHORT_INTR or FMSTR_POLL_DRIVEN -#endif - -#if FMSTR_SHORT_INTR - /* default short-interrupt FIFO size */ - #ifndef FMSTR_COMM_RQUEUE_SIZE - #define FMSTR_COMM_RQUEUE_SIZE 32 - #endif - - #if !FMSTR_COMM_RQUEUE_SIZE - #undef FMSTR_COMM_RQUEUE_SIZE - #define FMSTR_COMM_RQUEUE_SIZE 32 - #endif - - #if FMSTR_COMM_RQUEUE_SIZE < 1 - #error Error in FMSTR_COMM_RQUEUE_SIZE value. - #endif -#endif - -/* disable both JTAG and SCI by default */ -/* one of these is typically already enabled in PE_freemaster_cfg.h */ -#ifndef FMSTR_USE_JTAG -#define FMSTR_USE_JTAG 0 -#endif -#ifndef FMSTR_USE_SCI - #if defined(FMSTR_SCI_BASE) && !FMSTR_USE_JTAG - #define FMSTR_USE_SCI 1 - #else - #define FMSTR_USE_SCI 0 - #endif -#endif - -/* SCI does not have a transmission double buffer (kind of queue) */ -/* (if not specified differently in platform-dependent header file) */ -#if FMSTR_USE_SCI -#ifndef FMSTR_SCI_HAS_TXQUEUE -#define FMSTR_SCI_HAS_TXQUEUE 0 -#endif -#endif - -/* read memory commands are ENABLED by default */ -#ifndef FMSTR_USE_READMEM -#define FMSTR_USE_READMEM 1 -#endif -#ifndef FMSTR_USE_WRITEMEM -#define FMSTR_USE_WRITEMEM 1 -#endif -#ifndef FMSTR_USE_WRITEMEMMASK -#define FMSTR_USE_WRITEMEMMASK 1 -#endif - -/* read variable commands are DISABLED by default */ -#ifndef FMSTR_USE_READVAR -#define FMSTR_USE_READVAR 0 -#endif -#ifndef FMSTR_USE_WRITEVAR -#define FMSTR_USE_WRITEVAR 0 -#endif -#ifndef FMSTR_USE_WRITEVARMASK -#define FMSTR_USE_WRITEVARMASK 0 -#endif - -/* default scope settings */ -#ifndef FMSTR_USE_SCOPE -#define FMSTR_USE_SCOPE 0 -#endif - -#ifndef FMSTR_MAX_SCOPE_VARS -#define FMSTR_MAX_SCOPE_VARS 8 -#endif - -/* check scope settings */ -#if FMSTR_USE_SCOPE - #if FMSTR_MAX_SCOPE_VARS > 8 || FMSTR_MAX_SCOPE_VARS < 2 - #error Error in FMSTR_MAX_SCOPE_VARS value. Use a value in range 2..8 - #endif -#endif - -/* default recorder settings */ -#ifndef FMSTR_USE_RECORDER -#define FMSTR_USE_RECORDER 0 -#endif - -#ifndef FMSTR_MAX_REC_VARS -#define FMSTR_MAX_REC_VARS 8 -#endif - -#ifndef FMSTR_REC_FARBUFF -#define FMSTR_REC_FARBUFF 0 -#endif - -#ifndef FMSTR_REC_OWNBUFF -#define FMSTR_REC_OWNBUFF 0 -#endif - -#ifndef FMSTR_USE_FASTREC -#define FMSTR_USE_FASTREC 0 -#endif - -/* check recorder settings */ -#if FMSTR_USE_RECORDER || FMSTR_USE_FASTREC - #if FMSTR_MAX_REC_VARS > 8 || FMSTR_MAX_REC_VARS < 2 - #error Error in FMSTR_MAX_REC_VARS value. Use a value in range 2..8 - #endif - - /* 0 means recorder time base is "unknown" */ - #ifndef FMSTR_REC_TIMEBASE - #define FMSTR_REC_TIMEBASE 0 - #endif - - /* default recorder buffer size is 256 */ - #ifndef FMSTR_REC_BUFF_SIZE - #define FMSTR_REC_BUFF_SIZE 256 - #endif - - #if !FMSTR_USE_READMEM - #error Recorder needs the FMSTR_USE_READMEM feature - #endif -#endif - -/* fast recorder requires its own allocation of recorder buffer */ -#if FMSTR_USE_FASTREC - #if FMSTR_REC_OWNBUFF - #error Fast recorder requires its own buffer allocation - #endif -#endif - -/* default app.cmds settings */ -#ifndef FMSTR_USE_APPCMD -#define FMSTR_USE_APPCMD 0 -#endif - -#ifndef FMSTR_APPCMD_BUFF_SIZE -#define FMSTR_APPCMD_BUFF_SIZE 16 -#endif - -#ifndef FMSTR_MAX_APPCMD_CALLS -#define FMSTR_MAX_APPCMD_CALLS 0 -#endif - -/* TSA configuration check */ -#ifndef FMSTR_USE_TSA -#define FMSTR_USE_TSA 0 -#endif - -#ifndef FMSTR_USE_TSA_SAFETY -#define FMSTR_USE_TSA_SAFETY 0 -#endif - -#if FMSTR_USE_TSA - #if !FMSTR_USE_READMEM - #error TSA needs the FMSTR_USE_READMEM feature - #endif -#endif - -/* SFIO not used by default */ -#ifndef FMSTR_USE_SFIO -#define FMSTR_USE_SFIO 0 -#endif - -/* check SFIO settings */ -#if FMSTR_USE_SFIO - - /* The SFIO configuration files (sfio.h and optionally also the sfio_cfg.h) exist - in project to define SFIO parameters. */ - #include "sfio.h" - - #ifndef SFIO_MAX_INPUT_DATA_LENGTH - #error SFIO_MAX_INPUT_DATA_LENGTH was not defined in sfio_cfg.h - #endif - #ifndef SFIO_MAX_OUTPUT_DATA_LENGTH - #error SFIO_MAX_OUTPUT_DATA_LENGTH was not defined in sfio_cfg.h - #endif - -#endif - -/* use transport "pipe" functionality */ -#ifndef FMSTR_USE_PIPES -#define FMSTR_USE_PIPES 0 -#endif - -#if FMSTR_USE_PIPES - - #warning FreeMASTER Pipes feature is still in a prototype/experimental version. - - #ifndef FMSTR_MAX_PIPES_COUNT - #define FMSTR_MAX_PIPES_COUNT 1 - #endif - - /* at least one */ - #if FMSTR_MAX_PIPES_COUNT < 1 - #warning No sense to allocate zero-count pipes. Disabling pipes. - #undef FMSTR_USE_PIPES - #define FMSTR_USE_PIPES 0 - #endif - -#endif - -/* what kind of board information structure will be sent? */ -#ifndef FMSTR_USE_BRIEFINFO - #if FMSTR_USE_RECORDER - /* recorder requires full info */ - #define FMSTR_USE_BRIEFINFO 0 - #else - /* otherwise no brief info is enough */ - #define FMSTR_USE_BRIEFINFO 1 - #endif -#endif - -/* check what kind of board info is sent */ -#if FMSTR_USE_BRIEFINFO - #if FMSTR_USE_RECORDER - #warning The full information structure must be used when recorder is to be used - #undef FMSTR_USE_BRIEFINFO - #define FMSTR_USE_BRIEFINFO 1 - #endif -#endif - -/* automatic buffer size by default */ -#ifndef FMSTR_COMM_BUFFER_SIZE -#define FMSTR_COMM_BUFFER_SIZE 0 -#endif - -/* check minimal buffer size required for all enabled features */ -#if FMSTR_COMM_BUFFER_SIZE - - /* basic commands (getinfobrief, write/read memory etc.) */ - #if FMSTR_USE_BRIEFINFO && FMSTR_COMM_BUFFER_SIZE < 11 - #error FMSTR_COMM_BUFFER_SIZE set too small for basic FreeMASTER commands (11 bytes) - #endif - - /* full info required */ - #if !(FMSTR_USE_BRIEFINFO) && FMSTR_COMM_BUFFER_SIZE < 35 - #error FMSTR_COMM_BUFFER_SIZE set too small for GETINFO command (size 35) - #endif - - /* application commands */ - #if FMSTR_USE_APPCMD && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_APPCMD_BUFF_SIZE)+1) - #error FMSTR_COMM_BUFFER_SIZE set too small for SENDAPPCMD command (size FMSTR_APPCMD_BUFF_SIZE+1) - #endif - - /* configuring scope (EX) */ - #if FMSTR_USE_SCOPE && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_MAX_SCOPE_VARS)*5+1) - #error FMSTR_COMM_BUFFER_SIZE set too small for SETUPSCOPEEX command (size FMSTR_MAX_SCOPE_VARS*5+1) - #endif - - /* configuring recorder (EX) */ - #if FMSTR_USE_RECORDER && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_MAX_REC_VARS)*5+18) - #error FMSTR_COMM_BUFFER_SIZE set too small for SETUPRECEX command (size FMSTR_MAX_REC_VARS*5+18) - #endif - - /* SFIO encapsulation */ - #if FMSTR_USE_SFIO - #if (FMSTR_COMM_BUFFER_SIZE < ((SFIO_MAX_INPUT_DATA_LENGTH)+1)) || \ - (FMSTR_COMM_BUFFER_SIZE < ((SFIO_MAX_OUTPUT_DATA_LENGTH)+1)) - #error FMSTR_COMM_BUFFER_SIZE set too small for SFIO encapsulation (see SFIO_MAX_xxx_DATA_LENGTH) - #endif - #endif - -/* automatic: determine required buffer size based on features enabled */ -#else - /* smallest for basic commands (getinfobrief, write/read memory etc.) */ - #undef FMSTR_COMM_BUFFER_SIZE - #define FMSTR_COMM_BUFFER_SIZE 11 - - /* full info required */ - #if !(FMSTR_USE_BRIEFINFO) && FMSTR_COMM_BUFFER_SIZE < 35 - #undef FMSTR_COMM_BUFFER_SIZE - #define FMSTR_COMM_BUFFER_SIZE 35 - #endif - - /* using application commands (must accomodate maximal app.cmd data length) */ - #if FMSTR_USE_APPCMD && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_APPCMD_BUFF_SIZE)+1) - #undef FMSTR_COMM_BUFFER_SIZE - #define FMSTR_COMM_BUFFER_SIZE ((FMSTR_APPCMD_BUFF_SIZE)+1) - #endif - - /* configuring scope (EX) */ - #if FMSTR_USE_SCOPE && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_MAX_SCOPE_VARS)*5+1) - #undef FMSTR_COMM_BUFFER_SIZE - #define FMSTR_COMM_BUFFER_SIZE ((FMSTR_MAX_SCOPE_VARS)*5+1) - #endif - - /* configuring recorder (EX) */ - #if FMSTR_USE_RECORDER && FMSTR_COMM_BUFFER_SIZE < ((FMSTR_MAX_REC_VARS)*5+18) - #undef FMSTR_COMM_BUFFER_SIZE - #define FMSTR_COMM_BUFFER_SIZE ((FMSTR_MAX_REC_VARS)*5+18) - #endif - - /* SFIO encapsulation (in buffer) */ - #if FMSTR_USE_SFIO - #if FMSTR_COMM_BUFFER_SIZE < ((SFIO_MAX_INPUT_DATA_LENGTH)+1) - #undef FMSTR_COMM_BUFFER_SIZE - #define FMSTR_COMM_BUFFER_SIZE ((SFIO_MAX_INPUT_DATA_LENGTH)+1) - #endif - #endif - - /* SFIO encapsulation (out buffer) */ - #if FMSTR_USE_SFIO - #if FMSTR_COMM_BUFFER_SIZE < ((SFIO_MAX_OUTPUT_DATA_LENGTH)+1) - #undef FMSTR_COMM_BUFFER_SIZE - #define FMSTR_COMM_BUFFER_SIZE ((SFIO_MAX_OUTPUT_DATA_LENGTH)+1) - #endif - #endif - -#endif - -#endif /* __FREEMASTER_PRIVATE_H */ - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_protocol.c b/Projects/epwm_test/Freemaster/PE_freemaster_protocol.c deleted file mode 100644 index 3694bf1..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_protocol.c +++ /dev/null @@ -1,658 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_protocol.c -* -* @brief FreeMASTER protocol handler -* -* @version 1.0.11.0 -* -* @date Apr-11-2007 -* -******************************************************************************* -* -* This file contains the FreeMASTER protocol decoder and also the handlers -* of basic protocol commands (read/write memory etc). -* -*******************************************************************************/ - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" -#include "PE_freemaster_protocol.h" - -extern __inline FMSTR_BPTR FMSTR_ConstToBuffer16(FMSTR_BPTR pDest, FMSTR_U16 src); -extern __inline FMSTR_BPTR FMSTR_ConstToBuffer8(FMSTR_BPTR pDest, FMSTR_U8 src); -extern __inline FMSTR_BPTR FMSTR_ValueFromBuffer16(FMSTR_U16* pDest, FMSTR_BPTR pSrc); -extern __inline FMSTR_BPTR FMSTR_ValueFromBuffer8(FMSTR_U8* pDest, register FMSTR_BPTR pSrc); -extern __inline FMSTR_BPTR FMSTR_SkipInBuffer(FMSTR_BPTR pDest, FMSTR_SIZE8 nSize); -extern __inline FMSTR_BPTR FMSTR_ValueToBuffer16(FMSTR_BPTR pDest, FMSTR_U16 src); -extern __inline FMSTR_BPTR FMSTR_ValueToBuffer32(FMSTR_BPTR pDest, FMSTR_U32 src); -extern __inline FMSTR_BPTR FMSTR_ValueToBuffer8(FMSTR_BPTR pDest, FMSTR_U8 src); -extern __inline FMSTR_BPTR FMSTR_ValueFromBuffer32(FMSTR_U32* pDest, FMSTR_BPTR pSrc); - -/**************************************************************************//*! -* -* @brief FreeMASTER driver initialization -* -******************************************************************************/ - -void FMSTR_Init(void) -{ -#if FMSTR_USE_TSA - /* initialize TSA */ - FMSTR_InitTsa(); -#endif - -#if FMSTR_USE_SCOPE - /* initialize Scope */ - FMSTR_InitScope(); -#endif - -#if FMSTR_USE_RECORDER - /* initialize Recorder */ - FMSTR_InitRec(); -#endif - -#if FMSTR_USE_APPCMD - /* initialize application commands */ - FMSTR_InitAppCmds(); -#endif - -#if FMSTR_USE_SFIO - /* initiazlize SFIO encapsulation layer */ - FMSTR_InitSfio(); -#endif - -#if FMSTR_USE_PIPES - /* initialize PIPES interface */ - FMSTR_InitPipes(); -#endif - -#if FMSTR_USE_SCI || FMSTR_USE_JTAG - /* initialize communication and start listening for commands */ - FMSTR_InitSerial(); -#endif -} - -/**************************************************************************//*! -* -* @brief Decodes the FreeMASTER protocol and calls appropriate handlers -* -* @param pMessageIO - message in/out buffer -* -* -* This Function decodes given message and invokes proper command handler -* which fills in the response. The response transmission is initiated -* in this call as well. -* -******************************************************************************/ - -void FMSTR_ProtocolDecoder(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponseEnd; - FMSTR_U8 nCmd; - - /* no EX access by default */ - FMSTR_SetExAddr(FMSTR_FALSE); - - /* command code comes first in the message */ - /*lint -e{534} return value is not used */ - FMSTR_ValueFromBuffer8(&nCmd, pMessageIO); - - /* process command */ - switch (nCmd) - { - -#if FMSTR_USE_READVAR - - /* read byte */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_READVAR8_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_READVAR8: -#endif - pResponseEnd = FMSTR_ReadVar(pMessageIO, 1U); - break; - - /* read word */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_READVAR16_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_READVAR16: -#endif - pResponseEnd = FMSTR_ReadVar(pMessageIO, 2U); - break; - - /* read dword */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_READVAR32_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_READVAR32: -#endif - pResponseEnd = FMSTR_ReadVar(pMessageIO, 4U); - break; -#endif /* FMSTR_USE_READVAR */ - -#if FMSTR_USE_READMEM - - /* read a block of memory */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_READMEM_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_READMEM: -#endif - pResponseEnd = FMSTR_ReadMem(pMessageIO); //Ñþäà ïîñëå ïåðâîãî ÷òåíèÿ - break; - -#endif /* FMSTR_USE_READMEM */ - -#if FMSTR_USE_SCOPE - - /* prepare scope variables */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_SETUPSCOPE_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_SETUPSCOPE: -#endif - pResponseEnd = FMSTR_SetUpScope(pMessageIO); - break; - - case FMSTR_CMD_READSCOPE: - pResponseEnd = FMSTR_ReadScope(pMessageIO); - break; -#endif /* FMSTR_USE_SCOPE */ - -#if FMSTR_USE_RECORDER - - /* get recorder status */ - case FMSTR_CMD_GETRECSTS: - pResponseEnd = FMSTR_GetRecStatus(pMessageIO); - break; - - /* start recorder */ - case FMSTR_CMD_STARTREC: - pResponseEnd = FMSTR_StartRec(pMessageIO); - break; - - /* stop recorder */ - case FMSTR_CMD_STOPREC: - pResponseEnd = FMSTR_StopRec(pMessageIO); - break; - - /* setup recorder */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_SETUPREC_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_SETUPREC: -#endif - pResponseEnd = FMSTR_SetUpRec(pMessageIO); - break; - - /* get recorder buffer information (force EX instead of non-EX) */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_GETRECBUFF_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#elif FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_GETRECBUFF: -#endif - pResponseEnd = FMSTR_GetRecBuff(pMessageIO);//recorder here - break; -#endif /* FMSTR_USE_RECORDER */ - -#if FMSTR_USE_APPCMD - - /* accept the application command */ - case FMSTR_CMD_SENDAPPCMD: - pResponseEnd = FMSTR_StoreAppCmd(pMessageIO); - break; - - /* get the application command status */ - case FMSTR_CMD_GETAPPCMDSTS: - pResponseEnd = FMSTR_GetAppCmdStatus(pMessageIO); - break; - - /* get the application command data */ - case FMSTR_CMD_GETAPPCMDDATA: - pResponseEnd = FMSTR_GetAppCmdRespData(pMessageIO); - break; -#endif /* FMSTR_USE_APPCMD */ - -#if FMSTR_USE_WRITEMEM - - /* write a block of memory */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_WRITEMEM_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_WRITEMEM: -#endif - pResponseEnd = FMSTR_WriteMem(pMessageIO); - break; -#endif /* FMSTR_USE_WRITEMEM */ - -#if FMSTR_USE_WRITEMEMMASK - - /* write block of memory with a bit mask */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_WRITEMEMMASK_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_WRITEMEMMASK: -#endif - pResponseEnd = FMSTR_WriteMemMask(pMessageIO); - break; -#endif /* FMSTR_USE_WRITEMEMMASK */ - -#if FMSTR_USE_WRITEVAR && FMSTR_USE_NOEX_CMDS - - /* write byte */ - case FMSTR_CMD_WRITEVAR8: - pResponseEnd = FMSTR_WriteVar(pMessageIO, 1U); - break; - - /* write word */ - case FMSTR_CMD_WRITEVAR16: - pResponseEnd = FMSTR_WriteVar(pMessageIO, 2U); - break; - - /* write dword */ - case FMSTR_CMD_WRITEVAR32: - pResponseEnd = FMSTR_WriteVar(pMessageIO, 4U); - break; -#endif /* FMSTR_USE_WRITEVAR && FMSTR_USE_NOEX_CMDS */ - -#if FMSTR_USE_WRITEVARMASK && FMSTR_USE_NOEX_CMDS - - /* write byte with mask */ - case FMSTR_CMD_WRITEVAR8MASK: - pResponseEnd = FMSTR_WriteVarMask(pMessageIO, 1U); - break; - - /* write word with mask */ - case FMSTR_CMD_WRITEVAR16MASK: - pResponseEnd = FMSTR_WriteVarMask(pMessageIO, 2U); - break; - -#endif /* FMSTR_USE_WRITEVARMASK && FMSTR_USE_NOEX_CMDS */ - -#if FMSTR_USE_TSA - - /* get TSA table (force EX instead of non-EX) */ -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_GETTSAINFO_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#elif FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_GETTSAINFO: -#endif - pResponseEnd = FMSTR_GetTsaInfo(pMessageIO); - break; - -#if FMSTR_USE_EX_CMDS - case FMSTR_CMD_GETSTRLEN_EX: - FMSTR_SetExAddr(FMSTR_TRUE); -#endif -#if FMSTR_USE_NOEX_CMDS - /*lint -fallthrough */ - case FMSTR_CMD_GETSTRLEN: -#endif - pResponseEnd = FMSTR_GetStringLen(pMessageIO); - break; - -#endif /* FMSTR_USE_TSA */ - -#if FMSTR_USE_BRIEFINFO - /* retrieve a subset of board information structure */ - case FMSTR_CMD_GETINFOBRIEF: -#else - /* retrieve board information structure */ - case FMSTR_CMD_GETINFO: -#endif - pResponseEnd = FMSTR_GetBoardInfo(pMessageIO); - break; - -#if FMSTR_USE_SFIO - case FMSTR_CMD_SFIOFRAME_0: - case FMSTR_CMD_SFIOFRAME_1: - pResponseEnd = FMSTR_SfioFrame(pMessageIO); - break; - case FMSTR_CMD_SFIOGETRESP_0: - case FMSTR_CMD_SFIOGETRESP_1: - pResponseEnd = FMSTR_SfioGetResp(pMessageIO); - break; -#endif /* FMSTR_USE_SFIO */ - -#if FMSTR_USE_PIPES - case FMSTR_CMD_PIPE: - pResponseEnd = FMSTR_PipeFrame(pMessageIO); - break; -#endif /* FMSTR_USE_PIPES */ - - /* unknown command */ - default: - pResponseEnd = FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_INVCMD); - break; - } - - /* anything to send back? */ - if(pResponseEnd != pMessageIO) - { - /*lint -e{946,960} subtracting pointers is appropriate here */ - FMSTR_SIZE8 nSize = (FMSTR_SIZE8)(pResponseEnd - pMessageIO); - FMSTR_SendResponse(pMessageIO, nSize); - } -} - - -/**************************************************************************//*! -* -* @brief Handling GETINFO or GETINFO_BRIEF -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_GetBoardInfo(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_U16 wTmp; - FMSTR_U8* pStr; - - pResponse = FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); - pResponse = FMSTR_ConstToBuffer8(pResponse, (FMSTR_U8)(FMSTR_PROT_VER)); /* protVer */ - pResponse = FMSTR_ConstToBuffer8(pResponse, (FMSTR_U8)(FMSTR_CFG_FLAGS)); /* cfgFlags */ - pResponse = FMSTR_ConstToBuffer8(pResponse, (FMSTR_U8)(FMSTR_CFG_BUS_WIDTH)); /* dataBusWdt */ - pResponse = FMSTR_ConstToBuffer8(pResponse, (FMSTR_U8)(FMSTR_GLOB_VERSION_MAJOR)); /* globVerMajor */ - pResponse = FMSTR_ConstToBuffer8(pResponse, (FMSTR_U8)(FMSTR_GLOB_VERSION_MINOR)); /* globVerMinor */ - pResponse = FMSTR_ConstToBuffer8(pResponse, (FMSTR_U8)(FMSTR_COMM_BUFFER_SIZE)); /* cmdBuffSize */ - - /* that is all for brief info */ -#if FMSTR_USE_BRIEFINFO - FMSTR_UNUSED(pStr); - FMSTR_UNUSED(wTmp); - -#else /* FMSTR_USE_BRIEFINFO */ - -#if FMSTR_USE_RECORDER - - /* recorder buffer size is always mesured in bytes */ - wTmp = FMSTR_GetRecBuffSize(); - wTmp *= FMSTR_CFG_BUS_WIDTH; - - /* send size and timebase */ - pResponse = FMSTR_ValueToBuffer16(pResponse, wTmp); - pResponse = FMSTR_ConstToBuffer16(pResponse, (FMSTR_U16) FMSTR_REC_TIMEBASE); -#else /* FMSTR_USE_RECORDER */ - - FMSTR_UNUSED(wTmp); - - /* recorder info zeroed */ - pResponse = FMSTR_ConstToBuffer16(pResponse, 0); - pResponse = FMSTR_ConstToBuffer16(pResponse, 0); -#endif /* FMSTR_USE_RECORDER */ - - /* description string */ - pStr = (FMSTR_U8*) FMSTR_IDT_STRING; - for(wTmp = 0U; wTmp < (FMSTR_U8)(FMSTR_DESCR_SIZE); wTmp++) - { - pResponse = FMSTR_ValueToBuffer8(pResponse, *pStr); - - /* terminating zero used to clear the remainder of the buffer */ - if(*pStr) - { - pStr ++; - } - } -#endif /* FMSTR_USE_BRIEFINFO */ - - return pResponse; -} - -/**************************************************************************//*! -* -* @brief Handling READMEM and READMEM_EX commands -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_ReadMem(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_ADDR nAddr; - FMSTR_U8 nSize; - - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 2U); - pMessageIO = FMSTR_ValueFromBuffer8(&nSize, pMessageIO); - pMessageIO = FMSTR_AddressFromBuffer(&nAddr, pMessageIO); - -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(nAddr, (FMSTR_SIZE8) nSize, FMSTR_FALSE)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - - /* check the response will safely fit into comm buffer */ - if(nSize > (FMSTR_U8)FMSTR_COMM_BUFFER_SIZE) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_RSPBUFFOVF); - } - - /* success */ - pResponse = FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); - - return FMSTR_CopyToBuffer(pResponse, nAddr, (FMSTR_SIZE8) nSize); -} - -/**************************************************************************//*! -* -* @brief Handling READVAR and READVAR_EX commands (for all sizes 1,2,4) -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_ReadVar(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_ADDR nAddr; - - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 1U); - pMessageIO = FMSTR_AddressFromBuffer(&nAddr, pMessageIO); - -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(nAddr, nSize, FMSTR_FALSE)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - - /* success */ - pResponse = FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); - - return FMSTR_CopyToBuffer(pResponse, nAddr, nSize); -} - -/**************************************************************************//*! -* -* @brief Handling WRITEMEM and WRITEMEM_EX commands -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_WriteMem(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_ADDR nAddr; - FMSTR_U8 nSize; - - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 2U); - pMessageIO = FMSTR_ValueFromBuffer8(&nSize, pMessageIO); - pMessageIO = FMSTR_AddressFromBuffer(&nAddr, pMessageIO); - -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(nAddr, (FMSTR_SIZE8) nSize, FMSTR_TRUE)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - - /*lint -e{534} ignoring function return value */ - FMSTR_CopyFromBuffer(nAddr, pMessageIO, (FMSTR_SIZE8) nSize); - - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); -} - -/**************************************************************************//*! -* -* @brief Handling WRITEVAR command -* -* @param pMessageIO - original command (in) and response buffer (out) -* @param nSize - variable size -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_WriteVar(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_ADDR nAddr; - - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 1U); - pMessageIO = FMSTR_AddressFromBuffer(&nAddr, pMessageIO); - -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(nAddr, nSize, FMSTR_TRUE)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - - /*lint -e{534} ignoring function return value */ - FMSTR_CopyFromBuffer(nAddr, pMessageIO, nSize); - - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); -} - - -/**************************************************************************//*! -* -* @brief Handling WRITEMEMMASK and WRITEMEMMASK_EX commands -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_WriteMemMask(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_ADDR nAddr; - FMSTR_U8 nSize; - - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 2U); - pMessageIO = FMSTR_ValueFromBuffer8(&nSize, pMessageIO); - pMessageIO = FMSTR_AddressFromBuffer(&nAddr, pMessageIO); - -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(nAddr, (FMSTR_SIZE8)nSize, FMSTR_TRUE)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - -#if FMSTR_CFG_BUS_WIDTH > 1U - /* size must be divisible by bus width (mask must not begin in half of memory word) */ - if(nSize % FMSTR_CFG_BUS_WIDTH) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVSIZE); - } -#endif - - /* put the data */ - FMSTR_CopyFromBufferWithMask(nAddr, pMessageIO, (FMSTR_SIZE8)nSize); - - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); -} - -/**************************************************************************//*! -* -* @brief Handling WRITEVARMASK command -* -* @param pMessageIO - original command (in) and response buffer (out) -* @param nSize - variable size -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_WriteVarMask(FMSTR_BPTR pMessageIO, FMSTR_SIZE8 nSize) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_ADDR nAddr; - - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 1U); - pMessageIO = FMSTR_AddressFromBuffer(&nAddr, pMessageIO); - -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(nAddr, nSize, FMSTR_TRUE)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - - /* put the data */ - FMSTR_CopyFromBufferWithMask(nAddr, pMessageIO, nSize); - - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); -} - - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_protocol.h b/Projects/epwm_test/Freemaster/PE_freemaster_protocol.h deleted file mode 100644 index 799defe..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_protocol.h +++ /dev/null @@ -1,130 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_protocol.h -* -* @brief FreeMASTER protocol header file -* -* @version 1.0.8.0 -* -* @date Apr-11-2007 -* -*******************************************************************************/ - -#ifndef __FREEMASTER_PROTOCOL_H -#define __FREEMASTER_PROTOCOL_H - -/*------------------------------------- - command message - standard commands - -------------------------------------*/ - -#define FMSTR_CMD_READMEM 0x01U -#define FMSTR_CMD_WRITEMEM 0x02U -#define FMSTR_CMD_WRITEMEMMASK 0x03U -#define FMSTR_CMD_READMEM_EX 0x04U /* read a block of memory */ -#define FMSTR_CMD_WRITEMEM_EX 0x05U /* write a block of memory */ -#define FMSTR_CMD_WRITEMEMMASK_EX 0x06U /* write block of memory with bit mask */ -#define FMSTR_CMD_SETUPSCOPE 0x08U -#define FMSTR_CMD_SETUPREC 0x09U -#define FMSTR_CMD_SETUPSCOPE_EX 0x0aU /* setup the osciloscope */ -#define FMSTR_CMD_SETUPREC_EX 0x0bU /* setup the recorder */ -#define FMSTR_CMD_SENDAPPCMD 0x10U /* send the application command */ -#define FMSTR_CMD_GETTSAINFO 0x11U /* get TSA info */ -#define FMSTR_CMD_GETTSAINFO_EX 0x12U /* get TSA info 32bit */ -#define FMSTR_CMD_SFIOFRAME_1 0x13U /* deliver & execute SFIO frame (even) */ -#define FMSTR_CMD_SFIOFRAME_0 0x14U /* deliver & execute SFIO frame (odd) */ -#define FMSTR_CMD_PIPE 0x15U /* read/write pipe data */ - -/*------------------------------------- - command message - Fast Commands - -------------------------------------*/ - -/* no data part */ -#define FMSTR_CMD_GETINFO 0xc0U /* retrieve board information structure */ -#define FMSTR_CMD_STARTREC 0xc1U /* start data recorder */ -#define FMSTR_CMD_STOPREC 0xc2U /* stop data recorder */ -#define FMSTR_CMD_GETRECSTS 0xc3U /* get the recorder status */ -#define FMSTR_CMD_GETRECBUFF 0xc4U -#define FMSTR_CMD_READSCOPE 0xc5U /* read the scope data */ -#define FMSTR_CMD_GETAPPCMDSTS 0xc6U /* get the application command status */ -#define FMSTR_CMD_GETINFOBRIEF 0xc8U /* retrieve a subset of board information structure */ -#define FMSTR_CMD_GETRECBUFF_EX 0xc9U /* get the recorder data */ -#define FMSTR_CMD_SFIOGETRESP_0 0xcaU /* retry to get last SFIO response (even) */ -#define FMSTR_CMD_SFIOGETRESP_1 0xcbU /* retry to get last SFIO response (odd) */ - -/* 2 bytes data part */ -#define FMSTR_CMD_READVAR8 0xD0U -#define FMSTR_CMD_READVAR16 0xD1U -#define FMSTR_CMD_READVAR32 0xD2U -#define FMSTR_CMD_GETAPPCMDDATA 0xD3U /* get the application command data */ -#define FMSTR_CMD_GETSTRLEN 0xD4U /* get string length (required by TSA) */ - -/* 4 bytes data part */ -#define FMSTR_CMD_READVAR8_EX 0xe0U /* read byte variable */ -#define FMSTR_CMD_READVAR16_EX 0xe1U /* read word variable */ -#define FMSTR_CMD_READVAR32_EX 0xe2U /* read dword variable */ -#define FMSTR_CMD_WRITEVAR8 0xe3U /* write byte variable */ -#define FMSTR_CMD_WRITEVAR16 0xe4U /* write word variable */ -#define FMSTR_CMD_WRITEVAR8MASK 0xe5U /* write specified bits in byte variable */ -#define FMSTR_CMD_GETSTRLEN_EX 0xe6U /* get string length (required by TSA) */ - -/* 6 bytes data part */ -#define FMSTR_CMD_WRITEVAR32 0xf0U /* write dword variable */ -#define FMSTR_CMD_WRITEVAR16MASK 0xf1U /* write specified bits in word variable */ - -/*------------------------------------- - response message - status byte - -------------------------------------*/ - -/* flags in response codes */ -#define FMSTR_STSF_ERROR 0x80U /* FLAG: error answer (no response data) */ -#define FMSTR_STSF_VARLEN 0x40U /* FLAG: variable-length answer (length byte) */ -#define FMSTR_STSF_EVENT 0x20U /* FLAG: reserved */ - -/* confirmation codes */ -#define FMSTR_STS_OK 0x00U /* operation finished successfuly */ -#define FMSTR_STS_RECRUN 0x01U /* data recorder is running */ -#define FMSTR_STS_RECDONE 0x02U /* data recorder is stopped */ - -/* error codes */ -#define FMSTR_STC_INVCMD 0x81U /* unknown command code */ -#define FMSTR_STC_CMDCSERR 0x82U /* command checksum error */ -#define FMSTR_STC_CMDTOOLONG 0x83U /* comand is too long */ -#define FMSTR_STC_RSPBUFFOVF 0x84U /* the response would not fit into transmit buffer */ -#define FMSTR_STC_INVBUFF 0x85U /* invalid buffer length or operation */ -#define FMSTR_STC_INVSIZE 0x86U /* invalid size specified */ -#define FMSTR_STC_SERVBUSY 0x87U /* service is busy */ -#define FMSTR_STC_NOTINIT 0x88U /* service is not initialised */ -#define FMSTR_STC_EACCESS 0x89U /* access is denied */ -#define FMSTR_STC_SFIOERR 0x8AU /* Error in SFIO frame */ -#define FMSTR_STC_SFIOUNMATCH 0x8BU /* Even/odd mismatch in SFIO transaction */ -#define FMSTR_STC_PIPEERR 0x8CU /* Pipe error */ -#define FMSTR_STC_FASTRECERR 0x8DU /* Feature not implemented in Fast Recorder */ - -/****************************************************************************** -* Protocol constants -*******************************************************************************/ - -#define FMSTR_SOB 0x2bU /* '+' - start of message*/ -#define FMSTR_FASTCMD 0xc0U /* code of fast cmd 0xc0> */ -#define FMSTR_FASTCMD_DATALEN_MASK 0x30U /* mask of data length part of fast command */ -#define FMSTR_FASTCMD_DATALEN_SHIFT 3 -#define FMSTR_DESCR_SIZE 25U /* length board desription string */ - -/* Board configuration flags */ -#define FMSTR_CFGFLAG_BIGENDIAN 0x01U /*/< used when CPU is big endian */ - -/* TSA-global flags */ -#define FMSTR_TSA_INFO_VERSION_MASK 0x000fU /*/< TSA version */ -#define FMSTR_TSA_INFO_32BIT 0x0100U /*/< TSA address format (16/32 bit) */ -#define FMSTR_TSA_INFO_HV2BA 0x0200U /*/< TSA HawkV2 byte-addressing mode */ - -#endif /* __FREEMASTER_PROTOCOL_H */ - - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_rec.c b/Projects/epwm_test/Freemaster/PE_freemaster_rec.c deleted file mode 100644 index d7c5302..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_rec.c +++ /dev/null @@ -1,723 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_rec.c -* -* @brief FreeMASTER Recorder implementation. -* -* @version 1.0.10.0 -* -* @date Oct-22-2007 -* -*******************************************************************************/ - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" -#include "PE_freemaster_protocol.h" - -#if FMSTR_USE_RECORDER - -#include "PE_freemaster_rec.h" - -#if FMSTR_USE_FASTREC -#include "PE_freemaster_fastrec.h" -#endif - -/******************************************************** -* global variables (shared with FastRecorder if used) -********************************************************/ - -/* configuration variables */ -FMSTR_U16 pcm_wRecTotalSmps; /* number of samples to measure */ -FMSTR_U16 pcm_wRecPostTrigger; /* number of post-trigger samples to keep */ -FMSTR_U8 pcm_nRecTriggerMode; /* triger mode (0 = disabled, 1 = _/, 2 = \_) */ -FMSTR_U16 pcm_wRecTimeDiv; /* divisor of recorder "clock" */ - -FMSTR_U8 pcm_nRecVarCount; /* number of active recorder variables */ -FMSTR_ADDR pcm_pRecVarAddr[FMSTR_MAX_SCOPE_VARS]; /* addresses of recorded variables */ -FMSTR_SIZE8 pcm_pRecVarSize[FMSTR_MAX_SCOPE_VARS]; /* sizes of recorded variables */ - -/* runtime variables */ -FMSTR_U16 pcm_wRecBuffStartIx; /* first sample index */ - -FMSTR_ADDR pcm_dwRecWritePtr; /* write pointer in recorder buffer */ -FMSTR_ADDR pcm_dwRecEndBuffPtr; /* pointer to end of active recorder buffer */ -FMSTR_U16 pcm_wRecTimeDivCtr; /* recorder "clock" divisor counter */ -FMSTR_U16 pcm_wStoprecCountDown; /* post-trigger countdown counter */ - -/* recorder flags */ -FMSTR_REC_FLAGS pcm_wRecFlags; - -/*********************************** -* local variables -***********************************/ - -/* configuration variables */ -static FMSTR_ADDR pcm_nTrgVarAddr; /* trigger variable address */ -static FMSTR_U8 pcm_nTrgVarSize; /* trigger variable threshold size */ -static FMSTR_U8 pcm_bTrgVarSigned; /* trigger compare mode (0 = unsigned, 1 = signed) */ - -/*lint -e{960} using union */ -static union -{ -#if FMSTR_CFG_BUS_WIDTH == 1 - FMSTR_U8 u8; - FMSTR_S8 s8; -#endif - FMSTR_U16 u16; - FMSTR_S16 s16; - FMSTR_U32 u32; - FMSTR_S32 s32; -} pcm_uTrgThreshold; /* trigger threshold level (1,2 or 4 bytes) */ - -static FMSTR_ADDR pcm_nRecBuffAddr; /* recorder buffer address */ -static FMSTR_SIZE pcm_wRecBuffSize; /* recorder buffer size */ - -/* compare functions prototype */ -typedef FMSTR_BOOL (*FMSTR_PCOMPAREFUNC)(void); - -/*/ pointer to active compare function */ -static FMSTR_PCOMPAREFUNC pcm_pCompareFunc; - -#if !FMSTR_REC_OWNBUFF && !FMSTR_USE_FASTREC -/* put buffer into far memory ? */ -#if FMSTR_REC_FARBUFF -#pragma section fardata begin -#endif /* FMSTR_REC_FARBUFF */ -/* statically allocated recorder buffer (FMSTR_REC_OWNBUFF is FALSE) */ -static FMSTR_U8 pcm_pOwnRecBuffer[FMSTR_REC_BUFF_SIZE]; -/* end of far memory section */ -#if FMSTR_REC_FARBUFF -#pragma section fardata end -#endif /* FMSTR_REC_FARBUFF */ -#endif /* FMSTR_REC_OWNBUFF */ - -/*********************************** -* local functions -***********************************/ - -static FMSTR_BOOL FMSTR_Compare8S(void); -static FMSTR_BOOL FMSTR_Compare8U(void); -static FMSTR_BOOL FMSTR_Compare16S(void); -static FMSTR_BOOL FMSTR_Compare16U(void); -static FMSTR_BOOL FMSTR_Compare32S(void); -static FMSTR_BOOL FMSTR_Compare32U(void); -static void FMSTR_Recorder2(void); - -/**************************************************************************//*! -* -* @brief Recorder Initialization -* -******************************************************************************/ - -void FMSTR_InitRec(void) -{ - /* setup buffer pointer and size so IsInRecBuffer works even - before the recorder is first initialized and used */ - -#if FMSTR_REC_OWNBUFF || FMSTR_USE_FASTREC - /* user wants to use his own buffer */ - pcm_nRecBuffAddr = 0U; - pcm_wRecBuffSize = 0U; -#else - /* size in native sizeof units (=bytes on most platforms) */ - pcm_wRecBuffSize = (FMSTR_SIZE) FMSTR_REC_BUFF_SIZE; - FMSTR_ARR2ADDR(pcm_nRecBuffAddr, pcm_pOwnRecBuffer); - - /*lint -esym(528, pcm_pOwnRecBuffer) this symbol is used outside of lint sight */ -#endif - -#if FMSTR_USE_FASTREC - FMSTR_InitFastRec(); -#endif -} - -/**************************************************************************//*! -* -* @brief API: Replacing the recorder buffer with the user's one -* -* @param pBuffer - user buffer pointer -* @param wBuffSize - buffer size -* -* @note Use the FMSTR_SetUpBuff32 to pass the forced 32bit address in SDM -* -******************************************************************************/ - -void FMSTR_SetUpRecBuff(FMSTR_ADDR pBuffer, FMSTR_SIZE nBuffSize) -{ - pcm_nRecBuffAddr = pBuffer; - pcm_wRecBuffSize = nBuffSize; -} - -/**************************************************************************//*! -* -* @brief Handling SETUPREC and SETUPREC_EX commands -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_SetUpRec(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_SIZE8 nRecVarsetSize; - FMSTR_SIZE blen; - FMSTR_U8 i, sz; - - /* de-initialize first */ - FMSTR_AbortRec(); - -#if FMSTR_REC_OWNBUFF || FMSTR_USE_FASTREC - /* user wants to use his own buffer, check if it is valid */ - if(!pcm_nRecBuffAddr || !pcm_wRecBuffSize) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVBUFF); - } -#else - /* size in native sizeof units (=bytes on most platforms) */ - pcm_wRecBuffSize = (FMSTR_SIZE)FMSTR_REC_BUFF_SIZE; - FMSTR_ARR2ADDR(pcm_nRecBuffAddr, pcm_pOwnRecBuffer); // çàïîëíåíèå áóôåðà -#endif - - /* seek the setup data */ - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 2U); - pMessageIO = FMSTR_ValueFromBuffer8(&pcm_nRecTriggerMode, pMessageIO); - pMessageIO = FMSTR_ValueFromBuffer16(&pcm_wRecTotalSmps, pMessageIO); - pMessageIO = FMSTR_ValueFromBuffer16(&pcm_wRecPostTrigger, pMessageIO); - pMessageIO = FMSTR_ValueFromBuffer16(&pcm_wRecTimeDiv, pMessageIO); - - /* address & size of trigger variable */ - pMessageIO = FMSTR_AddressFromBuffer(&pcm_nTrgVarAddr, pMessageIO); - pMessageIO = FMSTR_ValueFromBuffer8(&pcm_nTrgVarSize, pMessageIO); - - /* trigger compare mode */ - pMessageIO = FMSTR_ValueFromBuffer8(&pcm_bTrgVarSigned, pMessageIO); - - /* threshold value */ - pMessageIO = FMSTR_ValueFromBuffer32(&pcm_uTrgThreshold.u32, pMessageIO); - - /* recorder variable count */ - pMessageIO = FMSTR_ValueFromBuffer8(&pcm_nRecVarCount, pMessageIO); - - /* rec variable information must fit into our buffers */ - if(!pcm_nRecVarCount || pcm_nRecVarCount > (FMSTR_U8)FMSTR_MAX_REC_VARS) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVBUFF); - } - - /* calculate sum of sizes of all variables */ - nRecVarsetSize = 0U; - - /* get all addresses and sizes */ - for(i=0U; i 8U) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVSIZE); - } - -#if FMSTR_CFG_BUS_WIDTH > 1U - /* even sizes only */ - if(sz & 0x1) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVSIZE); - } -#endif - -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(pcm_pRecVarAddr[i], (FMSTR_SIZE8)sz, 0U)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - } - - /* fast recorder handles trigger by itself */ -#if !FMSTR_USE_FASTREC - /* any trigger? */ - pcm_pCompareFunc = NULL; - if(pcm_nRecTriggerMode) - { - /* access to trigger variable? */ -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(pcm_nTrgVarAddr, (FMSTR_SIZE8)pcm_nTrgVarSize, 0U)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - /* get compare function */ - switch(pcm_nTrgVarSize) - { -#if FMSTR_CFG_BUS_WIDTH == 1U - case 1: pcm_pCompareFunc = pcm_bTrgVarSigned ? FMSTR_Compare8S : FMSTR_Compare8U; break; -#endif - case 2: pcm_pCompareFunc = pcm_bTrgVarSigned ? FMSTR_Compare16S : FMSTR_Compare16U; break; - case 4: pcm_pCompareFunc = pcm_bTrgVarSigned ? FMSTR_Compare32S : FMSTR_Compare32U; break; - - /* invalid trigger variable size */ - default: - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVSIZE); - } - } -#endif /* !FMSTR_USE_FASTREC */ - - /* total recorder buffer length in native sizeof units (=bytes on most platforms) */ - blen = (FMSTR_SIZE) (pcm_wRecTotalSmps * nRecVarsetSize / FMSTR_CFG_BUS_WIDTH); - - /* recorder memory available? */ - if(blen > pcm_wRecBuffSize) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVSIZE); - } - - /* remember the effective end of circular buffer */ - pcm_dwRecEndBuffPtr = pcm_nRecBuffAddr + blen; - -#if FMSTR_USE_FASTREC - if(!FMSTR_SetUpFastRec()) - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_FASTRECERR); -#endif - - /* everything is okay */ - pcm_wRecFlags.flg.bIsConfigured = 1U; - - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); -} - -/**************************************************************************//*! -* -* @brief Abort and de-initialize recorder -* -******************************************************************************/ - -void FMSTR_AbortRec(void) -{ - /* clear flags */ - pcm_wRecFlags.all = 0U; -} - -/**************************************************************************//*! -* -* @brief Check wether given memory region is inside the recorder buffer -* -* @param dwAddr - address of the memory to be checked -* @param wSize - size of the memory to be checked -* -* @return This function returns non-zero if user space is in recorder buffer -* -* This function is called as a pert of TSA-checking process when the PC host -* is requesting memory contents -* -******************************************************************************/ - -FMSTR_BOOL FMSTR_IsInRecBuffer(FMSTR_ADDR dwAddr, FMSTR_SIZE8 nSize) -{ - FMSTR_BOOL bRet = 0U; - - if(dwAddr >= pcm_nRecBuffAddr) - { - bRet = (FMSTR_BOOL)((dwAddr + nSize) <= (pcm_nRecBuffAddr + FMSTR_GetRecBuffSize()) ? FMSTR_TRUE : FMSTR_FALSE); - } - - return bRet; -} - -/**************************************************************************//*! -* -* @brief Get recorder memory size -* -* @return Recorder memory size in native sizeof units (=bytes on most platforms) -* -******************************************************************************/ - -FMSTR_SIZE FMSTR_GetRecBuffSize() -{ -#if FMSTR_REC_OWNBUFF || FMSTR_USE_FASTREC - return pcm_wRecBuffSize; -#else - return (FMSTR_SIZE) FMSTR_REC_BUFF_SIZE; -#endif -} - -/**************************************************************************//*! -* -* @brief API: Pull the trigger of the recorder -* -* This function starts the post-trigger stop countdown -* -******************************************************************************/ - -void FMSTR_TriggerRec(void) -{ - if(!pcm_wRecFlags.flg.bIsStopping) - { - pcm_wRecFlags.flg.bIsStopping = 1U; - pcm_wStoprecCountDown = pcm_wRecPostTrigger; - -#if FMSTR_USE_FASTREC - FMSTR_TriggerFastRec(); -#endif - } -} - -/**************************************************************************//*! -* -* @brief Handling STARTREC command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the length -* of the response filled into the buffer (including status byte) -* -* This function starts recording (initializes internal recording variables -* and flags) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_StartRec(FMSTR_BPTR pMessageIO) -{ - /* must be configured */ - if(!pcm_wRecFlags.flg.bIsConfigured) - { - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_NOTINIT); - } - - /* already running ? */ - if(pcm_wRecFlags.flg.bIsRunning) - { - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STS_RECRUN); - } - - /* initialize write pointer */ - pcm_dwRecWritePtr = pcm_nRecBuffAddr; - - /* current (first) sample index */ - pcm_wRecBuffStartIx = 0U; - - /* initialize time divisor */ - pcm_wRecTimeDivCtr = 0U; - - /* initiate virgin cycle */ - pcm_wRecFlags.flg.bIsStopping = 0U; /* no trigger active */ - pcm_wRecFlags.flg.bTrgCrossActive = 0U; /* waiting for threshold crossing */ - pcm_wRecFlags.flg.bInvirginCycle = 1U; /* initial cycle */ - - /* start fast recorder */ -#if FMSTR_USE_FASTREC - FMSTR_StartFastRec(); -#endif - - /* run now */ - pcm_wRecFlags.flg.bIsRunning = 1U; /* is running now! */ - - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STS_OK); -} - -/**************************************************************************//*! -* -* @brief Handling STOPREC command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the length -* of the response filled into the buffer (including status byte) -* -* This function stops recording (same as manual trigger) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_StopRec(FMSTR_BPTR pMessageIO) -{ - /* must be configured */ - if(!pcm_wRecFlags.flg.bIsConfigured) - { - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_NOTINIT); - } - - /* already stopped ? */ - if(!pcm_wRecFlags.flg.bIsRunning) - { - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STS_RECDONE); - } - - /* simulate trigger */ - FMSTR_TriggerRec(); - - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STS_OK); -} - -/**************************************************************************//*! -* -* @brief Handling GETRECSTS command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -* This function returns current recorder status -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_GetRecStatus(FMSTR_BPTR pMessageIO) -{ - /* must be configured */ - if(!pcm_wRecFlags.flg.bIsConfigured) - { - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_NOTINIT); - } - - /* get run/stop status */ - return FMSTR_ConstToBuffer8(pMessageIO, (FMSTR_U8)(pcm_wRecFlags.flg.bIsRunning ? - FMSTR_STS_RECRUN : FMSTR_STS_RECDONE)); -} - -/**************************************************************************//*! -* -* @brief Handling GETRECBUFF and GETRECBUFF_EX command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -* This function returns recorder buffer information -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_GetRecBuff(FMSTR_BPTR pMessageIO) -{ - /* must be configured */ - if(!pcm_wRecFlags.flg.bIsConfigured) - { - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_NOTINIT); - } - - /* must be stopped */ - if(pcm_wRecFlags.flg.bIsRunning) - { - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_SERVBUSY); - } - -#if FMSTR_USE_FASTREC - FMSTR_GetFastRecBuff(); -#endif - - /* fill the return info */ - pMessageIO = FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STS_OK); - pMessageIO = FMSTR_AddressToBuffer(pMessageIO, pcm_nRecBuffAddr); - - return FMSTR_ValueToBuffer16(pMessageIO, pcm_wRecBuffStartIx); -} - -/* now follows the sampling routines, skip that if FastRecorder is used */ -#if !FMSTR_USE_FASTREC - -/**************************************************************************//*! -* -* @brief Compare macro used in trigger detection -* -* @param v - original command -* @param t - response buffer -* -* @return zero when value is lower than threshold. -* @return non-zero when value is greater than or equal as treshold -* -******************************************************************************/ - -#define CMP(v,t) ((FMSTR_BOOL)(((v) < (t)) ? 0 : 1)) - -#if FMSTR_CFG_BUS_WIDTH == 1U - -static FMSTR_BOOL FMSTR_Compare8S() -{ - return CMP(FMSTR_GetS8(pcm_nTrgVarAddr), pcm_uTrgThreshold.s8); -} - -static FMSTR_BOOL FMSTR_Compare8U() -{ - return CMP(FMSTR_GetU8(pcm_nTrgVarAddr), pcm_uTrgThreshold.u8); -} - -#endif - -static FMSTR_BOOL FMSTR_Compare16S() -{ - return CMP(FMSTR_GetS16(pcm_nTrgVarAddr), pcm_uTrgThreshold.s16); -} - -static FMSTR_BOOL FMSTR_Compare16U() -{ - return CMP(FMSTR_GetU16(pcm_nTrgVarAddr), pcm_uTrgThreshold.u16); -} - -static FMSTR_BOOL FMSTR_Compare32S() -{ - return CMP(FMSTR_GetS32(pcm_nTrgVarAddr), pcm_uTrgThreshold.s32); -} - -static FMSTR_BOOL FMSTR_Compare32U() -{ - return CMP(FMSTR_GetU32(pcm_nTrgVarAddr), pcm_uTrgThreshold.u32); -} - -/**************************************************************************//*! -* -* @brief API: Recorder worker routine - can be called from application's timer ISR -* -* -* This returns quickly if recorder is not running, otherwise it calls quite lengthy -* recorder routine which does all the recorder work (sampling, triggering) -* -******************************************************************************/ - -void FMSTR_Recorder(void) -{ - /* recorder not active */ - if(!pcm_wRecFlags.flg.bIsRunning) - { - return ; - } - - /* do the hard work */ - FMSTR_Recorder2(); -} - -/**************************************************************************//*! -* -* @brief Recorder function called when recorder is active -* -******************************************************************************/ - -static void FMSTR_Recorder2(void) -{ - FMSTR_SIZE8 sz; - FMSTR_BOOL cmp; - FMSTR_U8 i; - - /* skip this call ? */ - if(pcm_wRecTimeDivCtr) - { - /* maybe next time... */ - pcm_wRecTimeDivCtr--; - return; - } - - /* re-initialize divider */ - pcm_wRecTimeDivCtr = pcm_wRecTimeDiv; - - /* take snapshot of variable values */ - for (i=0U; i= pcm_dwRecEndBuffPtr) - { - pcm_dwRecWritePtr = pcm_nRecBuffAddr; - pcm_wRecFlags.flg.bInvirginCycle = 0U; - pcm_wRecBuffStartIx = 0U; - } - - /* no trigger testing in virgin cycle */ - if(pcm_wRecFlags.flg.bInvirginCycle) - { - return; - } - - /* test trigger condition if still running */ - if(!pcm_wRecFlags.flg.bIsStopping && pcm_pCompareFunc != NULL) - { - /* compare trigger threshold */ - cmp = pcm_pCompareFunc(); - - /* negated logic (falling-edge) ? */ - if(pcm_nRecTriggerMode == 2U) - { - cmp = (FMSTR_BOOL) !cmp; - } - - /* above threshold ? */ - if(cmp) - { - /* were we at least once below threshold ? */ - if(pcm_wRecFlags.flg.bTrgCrossActive) - { - /* EDGE TRIGGER ! */ - FMSTR_TriggerRec(); - } - } - else - { - /* we got bellow threshold, now wait for being above threshold */ - pcm_wRecFlags.flg.bTrgCrossActive = 1U; - } - } - - /* in stopping mode ? (note that this bit might have been set just above!) */ - if(pcm_wRecFlags.flg.bIsStopping) - { - /* count down post-trigger samples expired ? */ - if(!pcm_wStoprecCountDown) - { - /* STOP RECORDER */ - pcm_wRecFlags.flg.bIsRunning = 0U; - return; - } - - /* perhaps next time */ - pcm_wStoprecCountDown--; - } -} - -#endif /* !FMSTR_USE_FASTREC */ - -#else /* FMSTR_USE_RECORDER */ - -/* use void recorder API functions */ -void FMSTR_Recorder(void) -{ -} - -void FMSTR_TriggerRec(void) -{ -} - -void FMSTR_SetUpRecBuff(FMSTR_ADDR pBuffer, FMSTR_SIZE wBuffSize) -{ - FMSTR_UNUSED(pBuffer); - FMSTR_UNUSED(wBuffSize); -} - -/*lint -efile(766, PE_freemaster_protocol.h) include file is not used in this case */ - -#endif /* FMSTR_USE_RECORDER */ - - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_rec.h b/Projects/epwm_test/Freemaster/PE_freemaster_rec.h deleted file mode 100644 index 4e1ee7c..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_rec.h +++ /dev/null @@ -1,83 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_rec.h -* -* @brief FreeMASTER Recorder implementation. -* -* @version 1.0.2.0 -* -* @date Aug-15-2007 -* -*******************************************************************************/ - -#ifndef __FREEMASTER_REC_H -#define __FREEMASTER_REC_H - -#ifndef __FREEMASTER_H -#error Please include PE_freemaster_rec.h after PE_freemaster.h main header file. -#endif - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" - -/*********************************** -* global recorder types -***********************************/ - -/* recorder runtime flags */ -typedef volatile union -{ - FMSTR_FLAGS all; - - struct - { - unsigned bIsConfigured : 1; /* recorder is configured */ - unsigned bIsRunning : 1; /* recorder is running */ - unsigned bIsStopping : 1; /* trigger activated, sample countdown */ - unsigned bInvirginCycle : 1; /* virgin cycle of the circular buffer in-progress */ - unsigned bTrgCrossActive : 1; /* trigger trheshold was crossed */ - } flg; - -} FMSTR_REC_FLAGS; - -/* the same flags for optimized asm access (see fast recorder) */ -#if defined(FMSTR_PLATFORM_56F8xxx) /* flag allocation tested on 56f8xxx only */ -#define FMSTR_REC_FLAG_bIsConfigured 0x01 -#define FMSTR_REC_FLAG_bIsRunning 0x02 -#define FMSTR_REC_FLAG_bIsStopping 0x04 -#define FMSTR_REC_FLAG_bInvirginCycle 0x08 -#define FMSTR_REC_FLAG_bTrgCrossActive 0x10 -#endif - -/*********************************** -* global recorder variables -***********************************/ - -/* configuration variables */ -extern FMSTR_U16 pcm_wRecTotalSmps; /* number of samples to measure */ -extern FMSTR_U16 pcm_wRecPostTrigger; /* number of post-trigger samples to keep */ -extern FMSTR_U8 pcm_nRecTriggerMode; /* triger mode (0 = disabled, 1 = _/, 2 = \_) */ -extern FMSTR_U16 pcm_wRecTimeDiv; /* divisor of recorder "clock" */ - -extern FMSTR_U8 pcm_nRecVarCount; /* number of active recorder variables */ -extern FMSTR_ADDR pcm_pRecVarAddr[FMSTR_MAX_SCOPE_VARS]; /* addresses of recorded variables */ -extern FMSTR_SIZE8 pcm_pRecVarSize[FMSTR_MAX_SCOPE_VARS]; /* sizes of recorded variables */ - -/* runtime variables */ -extern FMSTR_U16 pcm_wRecBuffStartIx; /* first sample index */ - -extern FMSTR_ADDR pcm_dwRecWritePtr; /* write pointer in recorder buffer */ -extern FMSTR_ADDR pcm_dwRecEndBuffPtr; /* pointer to end of active recorder buffer */ -extern FMSTR_U16 pcm_wRecTimeDivCtr; /* recorder "clock" divisor counter */ -extern FMSTR_U16 pcm_wStoprecCountDown; /* post-trigger countdown counter */ - -extern FMSTR_REC_FLAGS pcm_wRecFlags; - -#endif /* __FREEMASTER_REC_H */ diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_scope.c b/Projects/epwm_test/Freemaster/PE_freemaster_scope.c deleted file mode 100644 index cf72b60..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_scope.c +++ /dev/null @@ -1,152 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_scope.c -* -* @brief FreeMASTER Oscilloscope implementation -* -* @version 1.0.4.0 -* -* @date Apr-11-2007 -* -*******************************************************************************/ - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" -#include "PE_freemaster_protocol.h" - -#if FMSTR_USE_SCOPE - -/*********************************** -* local variables -***********************************/ - -static FMSTR_U8 pcm_nScopeVarCount; /* number of active scope variables */ -static FMSTR_ADDR pcm_pScopeVarAddr[FMSTR_MAX_SCOPE_VARS]; /* addresses of scope variables */ -static FMSTR_SIZE8 pcm_pScopeVarSize[FMSTR_MAX_SCOPE_VARS]; /* sizes of scope variables */ - -/**************************************************************************//*! -* -* @brief Scope Initialization -* -******************************************************************************/ - -void FMSTR_InitScope(void) -{ -} - -/**************************************************************************//*! -* -* @brief Handling SETUPSCOPE and SETUPSCOPE_EX command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_SetUpScope(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_U8 i, sz, nVarCnt; - - /* uninitialize scope */ - pcm_nScopeVarCount = 0U; - - /* seek the setup data */ - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 2U); - - /* scope variable count */ - pMessageIO = FMSTR_ValueFromBuffer8(&nVarCnt, pMessageIO); - - /* scope variable information must fit into our buffers */ - if(!nVarCnt || nVarCnt > (FMSTR_U8)FMSTR_MAX_SCOPE_VARS) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVBUFF); - } - - /* get all addresses and sizes */ - for(i=0U; i 8U) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVSIZE); - } - -#if FMSTR_CFG_BUS_WIDTH > 1U - /* even sizes only */ - if(sz & 0x1) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_INVSIZE); - } -#endif - -#if FMSTR_USE_TSA && FMSTR_USE_TSA_SAFETY - if(!FMSTR_CheckTsaSpace(pcm_pScopeVarAddr[i], (FMSTR_SIZE8) sz, 0U)) - { - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_EACCESS); - } -#endif - - } - - /* activate scope */ - pcm_nScopeVarCount = nVarCnt; - - /* return just a status */ - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); -} - -/**************************************************************************//*! -* -* @brief Handling READSCOPE command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_ReadScope(FMSTR_BPTR pMessageIO) -{ - FMSTR_U8 i; - - if(!pcm_nScopeVarCount) - { - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_NOTINIT); - } - - /* success */ - pMessageIO = FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STS_OK); - - for (i=0U; i 0U) - { - /* add padding bytes */ - while(!(pcm_wJtagTxCtr & 4U)) - { - pcm_wJtagTxData = (pcm_wJtagTxData << 8U) | 0xffU; - pcm_wJtagTxCtr++; - } - - /* send the word just completed */ - FMSTR_JTAG_PUTDWORD(pcm_wJtagTxData); - - /* done, bTxActive will be deactivated next time */ - pcm_wJtagTxCtr = 0U; - } -#endif - /* transmission finished, start listening again */ - else - { - /* when SCI TX buffering is enabled, we must first wait until all - characters are physically transmitted (before disabling transmitter) */ -#if FMSTR_USE_SCI && FMSTR_SCI_HAS_TXQUEUE - pcm_wFlags.flg.bTxWaitTC = 1; - - /* wait for SCI TC interrupt */ - #if FMSTR_SHORT_INTR || FMSTR_LONG_INTR - FMSTR_SCI_ETCI(); - #endif -#else - /* start listening immediatelly */ - FMSTR_Listen(); -#endif - } -} - - -/**************************************************************************//*! -* -* @brief Handle received character -* -* @param nRxChar The character to be processed -* -* Handle the character received and -if the message is complete- call the -* protocol decode routine. -* -******************************************************************************/ - -static void FMSTR_Rx(FMSTR_BCHR nRxChar) -{ - /* first, handle the replicated SOB characters */ - if(nRxChar == FMSTR_SOB) - { - /* this is the 2nd byte of replicated SOB char */ - if(pcm_wFlags.flg.bRxLastCharSOB) - { - /* join the two SOBs into one 0x2b character and continue processing */ - pcm_wFlags.flg.bRxLastCharSOB = 0U; - } - /* this is either the first byte of replicated SOB or a */ - /* real Start-of-Block mark - we will decide next time in FMSTR_Rx */ - else - { - pcm_wFlags.flg.bRxLastCharSOB = 1U; - return; - } - } - - /* we have got a common character preceeded by the SOB - */ - /* this is the command code! */ - if(pcm_wFlags.flg.bRxLastCharSOB) - { - /* reset reciving process */ - pcm_pRxBuff = pcm_pCommBuffer; - *pcm_pRxBuff++ = nRxChar; - - /* start computing the checksum */ - pcm_nRxCheckSum = nRxChar; - pcm_nRxTodo = 0U; - - /* fast command? */ - if((nRxChar & FMSTR_FASTCMD) == FMSTR_FASTCMD) - { - /* there will be no length information */ - pcm_wFlags.flg.bRxMsgLengthNext = 0U; - /* as it is encoded in the command byte directly */ - pcm_nRxTodo = (FMSTR_SIZE8) - (((((FMSTR_SIZE8)nRxChar) & FMSTR_FASTCMD_DATALEN_MASK) >> FMSTR_FASTCMD_DATALEN_SHIFT) + 1U); - } - /* standard command */ - else - { - /* the message length will come in next byte */ - pcm_wFlags.flg.bRxMsgLengthNext = 1U; - } - - /* command code stored & processed */ - pcm_wFlags.flg.bRxLastCharSOB = 0U; - return; - } - - /* we are waiting for the length byte */ - if(pcm_wFlags.flg.bRxMsgLengthNext) - { - /* this byte, total data length and the checksum */ - pcm_nRxTodo = (FMSTR_SIZE8) (1U + ((FMSTR_SIZE8)nRxChar) + 1U); - /* now read the data bytes */ - pcm_wFlags.flg.bRxMsgLengthNext = 0U; - - } - - /* waiting for a data byte? */ - if(pcm_nRxTodo) - { - /* add this byte to checksum */ - pcm_nRxCheckSum += nRxChar; - - /* was it the last byte of the message (checksum)? */ - if(!--pcm_nRxTodo) - { - /* receive buffer overflow? */ - if(pcm_pRxBuff == NULL) - { - FMSTR_SendError(FMSTR_STC_CMDTOOLONG); - } - /* checksum error? */ - else if((pcm_nRxCheckSum & 0xffU) != 0U) - { - FMSTR_SendError(FMSTR_STC_CMDCSERR); - } - /* message is okay */ - else - { - /* do decode now! */ - FMSTR_ProtocolDecoder(pcm_pCommBuffer); - } - } - /* not the last character yet */ - else - { - /* is there still a space in the buffer? */ - if(pcm_pRxBuff) - { - /*lint -e{946} pointer arithmetic is okay here (same array) */ - if(pcm_pRxBuff < (pcm_pCommBuffer + FMSTR_COMM_BUFFER_SIZE)) - { - /* store byte */ - *pcm_pRxBuff++ = nRxChar; - } - /* buffer is full! */ - else - { - /* NULL rx pointer means buffer overflow - but we still need */ - /* to receive all message characters (for the single-wire mode) */ - /* so keep "receiving" - but throw away all characters from now */ - pcm_pRxBuff = NULL; - } - } - } - } -} - -/******************************************************************************* -* -* @brief Routine to quick-receive a character (put to a queue only) -* -* This function puts received character into a queue and exits as soon as possible. -* -*******************************************************************************/ - -#if FMSTR_SHORT_INTR - -static void FMSTR_RxQueue(FMSTR_BCHR nRxChar) -{ - /* future value of write pointer */ - FMSTR_BPTR wpnext = pcm_pRQueueWP + 1; - - /*lint -e{946} pointer arithmetic is okay here (same array) */ - if(wpnext >= (pcm_pRQueueBuffer + FMSTR_COMM_RQUEUE_SIZE)) - { - wpnext = pcm_pRQueueBuffer; - } - - /* any space in queue? */ - if(wpnext != pcm_pRQueueRP) - { - *pcm_pRQueueWP = (FMSTR_U8) nRxChar; - pcm_pRQueueWP = wpnext; - } -} - -#endif /* FMSTR_SHORT_INTR */ - -/******************************************************************************* -* -* @brief Late processing of queued characters -* -* This function takes the queued characters and calls FMSTR_Rx() for each of them, -* just like as the characters would be received from SCI one by one. -* -*******************************************************************************/ - -#if FMSTR_SHORT_INTR - -static void FMSTR_RxDequeue(void) -{ - FMSTR_BCHR nChar = 0U; - - /* get all queued characters */ - while(pcm_pRQueueRP != pcm_pRQueueWP) - { - nChar = *pcm_pRQueueRP++; - - /*lint -e{946} pointer arithmetic is okay here (same array) */ - if(pcm_pRQueueRP >= (pcm_pRQueueBuffer + FMSTR_COMM_RQUEUE_SIZE)) - { - pcm_pRQueueRP = pcm_pRQueueBuffer; - } - - /* emulate the SCI receive event */ - if(!pcm_wFlags.flg.bTxActive) - { - FMSTR_Rx(nChar); - } - } -} - -#endif /* FMSTR_SHORT_INTR */ - -/**************************************************************************//*! -* -* @brief Handle SCI communication (both TX and RX) -* -* This function checks the SCI flags and calls the Rx and/or Tx functions -* -* @note This function can be called either from SCI ISR or from the polling routine -* -******************************************************************************/ - -#if FMSTR_USE_SCI - -void FMSTR_ProcessSCI(void) -{ - /* read & clear status */ - FMSTR_SCISR wSciSR = FMSTR_SCI_RDCLRSR(); - - /* transmitter active and empty? */ - if (pcm_wFlags.flg.bTxActive) - { - /* able to accept another character? */ - if(wSciSR & FMSTR_SCISR_TDRE) - { - FMSTR_Tx(); - } - - /* read-out and ignore any received character (loopback) */ - if(wSciSR & FMSTR_SCISR_RDRF) - { - /*lint -esym(550, nRxChar) */ - volatile FMSTR_U16 nRxChar; - nRxChar = FMSTR_SCI_GETCHAR(); - } - } - /* transmitter not active, able to receive */ - else - { - /* data byte received? */ - if (wSciSR & FMSTR_SCISR_RDRF) - { - FMSTR_BCHR nRxChar = 0U; - nRxChar = (FMSTR_BCHR) FMSTR_SCI_GETCHAR(); - - FMSTR_Rx(nRxChar); - // FMSTR_Tx(); - } - } -} - -#endif - -/**************************************************************************//*! -* -* @brief Handle JTAG communication (both TX and RX) -* -* This function checks the JTAG flags and calls the Rx and/or Tx functions -* -* @note This function can be called either from JTAG ISR or from the polling routine -* -******************************************************************************/ - -#if FMSTR_USE_JTAG - -void FMSTR_ProcessJTAG(void) -{ - /* read & clear status */ - register FMSTR_U16 wJtagSR = FMSTR_JTAG_GETSR(); - - /* transmitter active? */ - if (pcm_wFlags.flg.bTxActive) - { - /* able to transmit a new character? (TX must be empty = read-out by PC) */ - if(!(wJtagSR & FMSTR_JTAG_OTXRXSR_TDF)) - { - -#if FMSTR_USE_JTAG_TXFIX - /* if TDF bit is useless due to silicon bug, use the RX flag */ - /* instead (PC sends us a dummy word to kick the RX flag on) */ - if(wJtagSR & FMSTR_JTAG_OTXRXSR_RDF) -#endif - { - /* send one byte always */ - FMSTR_Tx(); - - /* try to fill-up the full 32bit JTAG word */ - while(pcm_wFlags.flg.bTxActive && pcm_wJtagTxCtr) - { - FMSTR_Tx(); - } - } - } - - /* ignore (read-out) the JTAG-received word */ - if(wJtagSR & FMSTR_JTAG_OTXRXSR_RDF) - { - /*lint -esym(550, nRxWord) */ - volatile FMSTR_U16 nRxWord; - nRxWord = FMSTR_JTAG_GETWORD(); - } - } - /* transmitter not active */ - else - { - /* JTAG 32bit word (four bytes) received? */ - if(wJtagSR & FMSTR_JTAG_OTXRXSR_RDF) - { - register FMSTR_U32 nRxDWord; - FMSTR_INDEX i; - - nRxDWord = FMSTR_JTAG_GETDWORD(); - - /* process all bytes, MSB first */ - for(i=0; i<4; i++) - { -#if FMSTR_SHORT_INTR - FMSTR_RxQueue((FMSTR_BCHR)((nRxDWord >> 24U) & 0xffU)); - -#else - FMSTR_Rx((FMSTR_BCHR)((nRxDWord >> 24U) & 0xffU)); - - /* ignore the rest if previous bytes triggered a transmission */ - /* (i.e. the packet was complete and only filled-up to 32bit word) */ - if(pcm_wFlags.flg.bTxActive) - { - break; - } -#endif - /* next byte of 32bit word */ - nRxDWord = nRxDWord << 8; - } - } - } -} - -#endif - -/******************************************************************************* -* -* @brief API: Main "Polling" call from the application main loop -* -* This function either handles all the SCI communictaion (polling-only mode = -* FMSTR_POLL_DRIVEN) or decodes messages received on the background by SCI interrupt -* (short-interrupt mode = FMSTR_SHORT_INTR). -* -* In the JTAG interrupt-driven mode (both short and long), this function also checks -* if setting the JTAG RIE bit failed recently. This may happen because of the -* RIE is held low by the EONCE hardware until the EONCE is first accessed from host. -* FMSTR_Init (->FMSTR_Listen) is often called while the PC-side FreeMASTER is still -* turned off. So really, the JTAG is not enabled by this time and RIE bit is not set. -* This problem is detected (see how bJtagRIEPending is set above in FSMTR_Listen) -* and it is tried to be fixed periodically here in FMSTR_Poll. -* -*******************************************************************************/ - -void FMSTR_Poll(void) -{ - FMSTR_ProcessSCI(); -} - -#else /* FMSTR_USE_SCI || FMSTR_USE_JTAG */ - -/* Empty implementation of communication functions - - Without a SCI and JTAG the FreeMASTER driver still passes the compilation, - but no communication is supported. The user may imlement his own communication - protocol and use FreeMASTER by calling FMSTR_ProtocolDecoder and - overriding the FMSTR_SendResponse calls -*/ - -void FMSTR_SendResponse(FMSTR_BPTR pResponse, FMSTR_SIZE8 nLength) -{ - FMSTR_UNUSED(pResponse); - FMSTR_UNUSED(nLength); -} - -void FMSTR_Poll(void) -{ -} - -/*lint -efile(766, PE_freemaster_protocol.h) include file is not used in this case */ - -#endif /* FMSTR_USE_SCI || FMSTR_USE_JTAG */ - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_sfio.c b/Projects/epwm_test/Freemaster/PE_freemaster_sfio.c deleted file mode 100644 index 5fc4643..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_sfio.c +++ /dev/null @@ -1,165 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_sfio.c -* -* @brief FreeMASTER SFIO (Matlab/Simulink interface) encapsulation handler -* -* @version 1.0.2.0 -* -* @date Aug-17-2006 -* -******************************************************************************* -* -* This file contains the SFIO communication handler and enables the SFIO tool -* to run over FreeMASTER. For more information, see Freescale SFIO documentation. -* -*******************************************************************************/ - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" -#include "PE_freemaster_protocol.h" - -#if FMSTR_USE_SFIO - -/* the sfiolib needs to be added to the project */ -#include "sfiolib.h" - -/*********************************** -* local variables -***********************************/ - -static FMSTR_U8 pcm_nSfioRespLen; - -/* recorder runtime flags */ -static volatile union -{ - FMSTR_FLAGS all; - - struct - { - unsigned bEvenRun : 1; /* last command executed was the even one */ - unsigned bLastOK : 1; /* last command executed properly */ - } flg; - -} pcm_wSfioFlags; - -/**************************************************************************//*! -* -* @brief Initialization of SFIO communication layer -* -******************************************************************************/ - -void FMSTR_InitSfio(void) -{ - pcm_wSfioFlags.all = 0; -} - -/**************************************************************************//*! -* -* @brief Handling SFIOFRAME (even and odd) commands -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @note This function handles the SFIO (Matlab/Simulink Interface) command -* encapsulated into FreeMASTER protocol. It emulates the SFIO serial -* char-by-char communication. -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_SfioFrame(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_U8 i, nFrameLen, nByte; - SFIO_U16 nRet = 0; - - /* get command and remember if it was even/odd */ - pMessageIO = FMSTR_ValueFromBuffer8(&nByte, pMessageIO); - pcm_wSfioFlags.flg.bEvenRun = (nByte & 1) ? 0 : 1; - pcm_wSfioFlags.flg.bLastOK = 0; - - /* get data length */ - pMessageIO = FMSTR_ValueFromBuffer8(&nFrameLen, pMessageIO); - - /* feed the SFIO engine byte-by-byte */ - for(i=0; nRet == 0 && i FMSTR_COMM_BUFFER_SIZE) - return FMSTR_ConstToBuffer8(pResponse, FMSTR_STC_RSPBUFFOVF); - - /* remember this command had executed properly */ - pcm_nSfioRespLen = (FMSTR_U8) nRet; - pcm_wSfioFlags.flg.bLastOK = 1; - - /* SFIO response to return */ - pResponse = FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK | FMSTR_STSF_VARLEN); - pResponse = FMSTR_ValueToBuffer8(pResponse, pcm_nSfioRespLen); - return FMSTR_CopyToBuffer(pResponse, (FMSTR_ADDR) SFIO_GetOutputBuffer(), pcm_nSfioRespLen); -} - -/**************************************************************************//*! -* -* @brief Handling SFIOGETRESP (even and odd) commands -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @note This function handles the retried request for the last SFIO response. -* PC may request this retry when the last frame execution took too long -* (e.g. due to breakpoint) but is still finished properly. The original -* SFIOFRAME command returned timeout, so the PC will use SFIOGETRESP -* to finish data. -* -* The even/odd matching is here to have some dgree of robustness for -* a case when SFIOFRAME packet gets lost without ever reaching SFIO engine. -* Without any checking, the SFIOGETRESP would just blindly return the -* pre-last result and would definietelly cause Simulink problems. -* Having the check implemented, the PC can determine the even/odd mismatch -* and may re-send the last SFIOFRAME command. -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_SfioGetResp(FMSTR_BPTR pMessageIO) -{ - FMSTR_U8 nByte; - - /* get command and determine if it is even/odd */ - FMSTR_ValueFromBuffer8(&nByte, pMessageIO); - - /* last command must have been finished propely */ - if(!pcm_wSfioFlags.flg.bLastOK) - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_SFIOERR); - - /* only respond to "matching" request (even to even, odd to odd) */ - if(nByte & 1) - { - if(pcm_wSfioFlags.flg.bEvenRun) - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_SFIOUNMATCH); - } - else - { - if(!pcm_wSfioFlags.flg.bEvenRun) - return FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STC_SFIOUNMATCH); - } - - /* SFIO response to return */ - pMessageIO = FMSTR_ConstToBuffer8(pMessageIO, FMSTR_STS_OK | FMSTR_STSF_VARLEN); - pMessageIO = FMSTR_ValueToBuffer8(pMessageIO, pcm_nSfioRespLen); - return FMSTR_CopyToBuffer(pMessageIO, (FMSTR_ADDR) SFIO_GetOutputBuffer(), pcm_nSfioRespLen); -} - -#endif /* FMSTR_USE_SFIO */ diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_tsa.c b/Projects/epwm_test/Freemaster/PE_freemaster_tsa.c deleted file mode 100644 index ba98ca8..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_tsa.c +++ /dev/null @@ -1,321 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_tsa.c -* -* @brief FreeMASTER TSA implementation -* -* @version 1.0.9.0 -* -* @date Oct-22-2007 -* -******************************************************************************* -* -* This file implements a new FreeMASTER feature called Targer-side address -* translation. -* -*******************************************************************************/ - -#include "PE_freemaster.h" -#include "PE_freemaster_private.h" -#include "PE_freemaster_protocol.h" - -#if FMSTR_USE_TSA - -/**************************************************************************//*! -* -* @brief TSA Initialization -* -******************************************************************************/ - -void FMSTR_InitTsa(void) -{ -} - -/**************************************************************************//*! -* -* @brief Handling GETTSAINFO and GETTSAINFO_EX command -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_GetTsaInfo(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - const FMSTR_TSA_ENTRY* pTbl; - FMSTR_TSA_TINDEX nTblIndex; - FMSTR_TSA_TSIZE nTblSize = 0U; - FMSTR_ADDR tmpAddr; - FMSTR_U16 tmp16; - - /* get index of table the PC is requesting */ - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 2U); - pMessageIO = FMSTR_ValueFromBuffer16(&nTblIndex, pMessageIO); - - /* TSA flags */ - tmp16 = FMSTR_TSA_VERSION | FMSTR_TSA_FLAGS; - - /* sizeof TSA table entry items */ - /*lint -e{506,774} constant value boolean */ - if((sizeof(FMSTR_TSA_ENTRY)/4U) == 4U) - { - tmp16 |= FMSTR_TSA_INFO_32BIT; /* 32bit TSA entries */ - } - - /* get the table (or NULL if no table on given index) */ - pTbl = FMSTR_TsaGetTable(nTblIndex, &nTblSize); - - /* success, flags */ - pResponse = FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); - pResponse = FMSTR_ValueToBuffer16(pResponse, tmp16); - - /* table size in bytes */ - nTblSize *= FMSTR_CFG_BUS_WIDTH; - pResponse = FMSTR_ValueToBuffer16(pResponse, nTblSize); - - /* table address */ - FMSTR_PTR2ADDR(tmpAddr, pTbl); - return FMSTR_AddressToBuffer(pResponse, tmpAddr); -} - -/**************************************************************************//*! -* -* @brief Private inline implementation of "strlen" -* -******************************************************************************/ - -FMSTR_U16 FMSTR_StrLen(FMSTR_ADDR nAddr) -{ - const FMSTR_U8* pStr; - FMSTR_U16 nLen = 0U; - - #ifdef __HCS12X__ - /* convert from logical to global if needed */ - nAddr = FMSTR_FixHcs12xAddr(nAddr); - #endif - - /*lint -e{923} casting address value to pointer */ - pStr = (const FMSTR_U8*) nAddr; - - while(*pStr++) - { - nLen++; - } - - return nLen; -} - -/**************************************************************************//*! -* -* @brief Handling GETSTRLEN and GETSTRLEN_EX commands -* -* @param pMessageIO - original command (in) and response buffer (out) -* -* @return As all command handlers, the return value should be the buffer -* pointer where the response output finished (except checksum) -* -******************************************************************************/ - -FMSTR_BPTR FMSTR_GetStringLen(FMSTR_BPTR pMessageIO) -{ - FMSTR_BPTR pResponse = pMessageIO; - FMSTR_ADDR nAddr; - FMSTR_U16 nLen = 0U; - - pMessageIO = FMSTR_SkipInBuffer(pMessageIO, 1U); - pMessageIO = FMSTR_AddressFromBuffer(&nAddr, pMessageIO); - - nLen = FMSTR_StrLen(nAddr); - - /* return strign size in bytes (even on 16bit DSP) */ - nLen *= FMSTR_CFG_BUS_WIDTH ; - - pResponse = FMSTR_ConstToBuffer8(pResponse, FMSTR_STS_OK); - return FMSTR_ValueToBuffer16(pResponse, nLen); -} - -/**************************************************************************//*! -* -* @brief Helper (inline) function for TSA memory region check -* -* @param nAddrUser - address of region to be checked -* @param nSizeUser - size of region to be checked -* @param nAddrSafe - address of known "safe" region -* @param wSizeSafe - size of safe region -* -* @return This function returns non-zero if given user space is safe -* (i.e. it lies in given safe space) -* -******************************************************************************/ - -#if defined(FMSTR_PLATFORM_56F8xxx) || defined(FMSTR_PLATFORM_56F8xx) -/* make inline */ -inline FMSTR_BOOL FMSTR_CheckMemSpace(FMSTR_ADDR nAddrUser, FMSTR_SIZE8 nSizeUser, - FMSTR_ADDR nAddrSafe, FMSTR_SIZE wSizeSafe); - -inline -#else -/* declare function prototype */ -static FMSTR_BOOL FMSTR_CheckMemSpace(FMSTR_ADDR nAddrUser, FMSTR_SIZE8 nSizeUser, - FMSTR_ADDR nAddrSafe, FMSTR_SIZE wSizeSafe); - -static -#endif - -FMSTR_BOOL FMSTR_CheckMemSpace(FMSTR_ADDR nAddrUser, FMSTR_SIZE8 nSizeUser, - FMSTR_ADDR nAddrSafe, FMSTR_SIZE wSizeSafe) -{ - FMSTR_BOOL bRet = FMSTR_FALSE; - - #ifdef __HCS12X__ - /* convert from logical to global if needed */ - nAddrUser = FMSTR_FixHcs12xAddr(nAddrUser); - nAddrSafe = FMSTR_FixHcs12xAddr(nAddrSafe); - #endif - - if(nAddrUser >= nAddrSafe) - { - bRet = (FMSTR_BOOL) - (((nAddrUser + nSizeUser) <= (nAddrSafe + wSizeSafe)) ? FMSTR_TRUE : FMSTR_FALSE); - } - - return bRet; -} - -/**************************************************************************//*! -* -* @brief Check wether given memory region is "safe" (covered by TSA) -* -* @param dwAddr - address of the memory to be checked -* @param nSize - size of the memory to be checked -* @param bWriteAccess - write access is required -* -* @return This function returns non-zero if user space is safe -* -******************************************************************************/ - -FMSTR_BOOL FMSTR_CheckTsaSpace(FMSTR_ADDR dwAddr, FMSTR_SIZE8 nSize, FMSTR_BOOL bWriteAccess) -{ - const FMSTR_TSA_ENTRY* pte; - FMSTR_TSA_TINDEX nTableIndex; - FMSTR_TSA_TSIZE i, cnt; - FMSTR_SIZE nInfo; - -#if FMSTR_CFG_BUS_WIDTH >= 2U - /* TSA tables use sizeof() operator which returns size in "bus-widths" (e.g. 56F8xx) */ - nSize = (nSize + 1) / FMSTR_CFG_BUS_WIDTH; -#endif - - /* to be as fast as possible during normal opearaion, - check variable entries in all tables first */ - for(nTableIndex=0U; (pte=FMSTR_TsaGetTable(nTableIndex, &cnt)) != NULL; nTableIndex++) - { - /* number of items in a table */ - cnt /= (FMSTR_TSA_TSIZE) sizeof(FMSTR_TSA_ENTRY); - - /* all table entries */ - for(i=0U; iinfo.n; - - /* variable entry only (also check read-write flag) */ - if((nInfo & FMSTR_TSA_INFO_VAR_FLAG) && (!bWriteAccess || (nInfo & FMSTR_TSA_INFO_RWV_FLAG))) - { - /* need to take the larger of the two in union (will be optimized by compiler anyway) */ - /*lint -e{506,774} condition always true/false */ - if(sizeof(pte->addr.p) < sizeof(pte->addr.n)) - { - if(FMSTR_CheckMemSpace(dwAddr, nSize, (FMSTR_ADDR) pte->addr.n, (FMSTR_SIZE) (nInfo >> 2))) - { - return FMSTR_TRUE; /* access granted! */ - } - } - else - { - /*lint -e{923} casting pointer to long (on some architectures) */ - if(FMSTR_CheckMemSpace(dwAddr, nSize, (FMSTR_ADDR) pte->addr.p, (FMSTR_SIZE) (nInfo >> 2))) - { - return FMSTR_TRUE; /* access granted! */ - } - } - } - - pte++; - } - } - - /* no more writeable memory chunks available */ - if(bWriteAccess) - { - return FMSTR_FALSE; - } - - /* allow reading of recorder buffer */ -#if FMSTR_USE_RECORDER - if(FMSTR_IsInRecBuffer(dwAddr, nSize)) - { - return FMSTR_TRUE; - } -#endif - - /* allow reading of any C-constant string referenced in TSA tables */ - for(nTableIndex=0U; (pte=FMSTR_TsaGetTable(nTableIndex, &cnt)) != NULL; nTableIndex++) - { - FMSTR_ADDR tmpAddr; - - /* allow reading of the TSA table itself */ - FMSTR_PTR2ADDR(tmpAddr, pte); - if(FMSTR_CheckMemSpace(dwAddr, nSize, tmpAddr, cnt)) - { - return FMSTR_TRUE; - } - - /* number of items in a table */ - cnt /= (FMSTR_TSA_TSIZE) sizeof(FMSTR_TSA_ENTRY); - - /* all table entries */ - for(i=0U; iname.p); - if(pte->name.p) - { - if(FMSTR_CheckMemSpace(dwAddr, nSize, tmpAddr, FMSTR_StrLen(tmpAddr))) - { - return FMSTR_TRUE; - } - } - - FMSTR_PTR2ADDR(tmpAddr, pte->type.p); - if(pte->type.p) - { - if(FMSTR_CheckMemSpace(dwAddr, nSize, tmpAddr, FMSTR_StrLen(tmpAddr))) - { - return FMSTR_TRUE; - } - } - - pte++; - } - } - - /* no valid TSA entry found => not-safe to access the memory */ - return FMSTR_FALSE; -} - -#else /* FMSTR_USE_TSA */ - -/*lint -efile(766, PE_freemaster_protocol.h) include file is not used in this case */ - -#endif /* FMSTR_USE_TSA */ - diff --git a/Projects/epwm_test/Freemaster/PE_freemaster_tsa.h b/Projects/epwm_test/Freemaster/PE_freemaster_tsa.h deleted file mode 100644 index e9823a6..0000000 --- a/Projects/epwm_test/Freemaster/PE_freemaster_tsa.h +++ /dev/null @@ -1,167 +0,0 @@ -/****************************************************************************** -* -* Freescale Semiconductor Inc. -* (c) Copyright 2004-2006 Freescale Semiconductor, Inc. -* (c) Copyright 2001-2004 Motorola, Inc. -* ALL RIGHTS RESERVED. -* -****************************************************************************//*! -* -* @file PE_freemaster_tsa.h -* -* @brief FreeMASTER Driver TSA feature -* -* @version 1.0.6.0 -* -* @date Apr-11-2007 -* -*******************************************************************************/ - -#ifndef __FREEMASTER_TSA_H -#define __FREEMASTER_TSA_H - -#include "PE_freemaster_cfg.h" - -/***************************************************************************** - Target-side Address translation structures and macros -******************************************************************************/ - -/* current TSA version */ -#define FMSTR_TSA_VERSION 2U - -/* TSA flags carried in TSA_ENTRY.info (except the first entry in table) */ -#define FMSTR_TSA_INFO_ENTRYTYPE_MASK 0x0003U /* flags reserved for TSA_ENTRY use */ -#define FMSTR_TSA_INFO_STRUCT 0x0000U /* ENTRYTYPE: structure parent type */ -#define FMSTR_TSA_INFO_RO_VAR 0x0001U /* ENTRYTYPE: read-only variable */ -#define FMSTR_TSA_INFO_MEMBER 0x0002U /* ENTRYTYPE: structure member */ -#define FMSTR_TSA_INFO_RW_VAR 0x0003U /* ENTRYTYPE: read-write variable */ -#define FMSTR_TSA_INFO_VAR_FLAG 0x0001U /* ENTRYTYPE: FLAG: any variable */ -#define FMSTR_TSA_INFO_RWV_FLAG 0x0002U /* ENTRYTYPE: FLAG: R/W access */ - -/* TSA table index and size (both unsigned, at least 16 bit wide) */ -typedef FMSTR_SIZE FMSTR_TSA_TINDEX; -typedef FMSTR_SIZE FMSTR_TSA_TSIZE; - -/* pointer types used in TSA tables can be overridden in PE_freemaster.h */ -/* (this is why macros are used instead of typedefs) */ -#ifndef FMSTR_TSATBL_STRPTR -#define FMSTR_TSATBL_STRPTR const char* -#endif -#ifndef FMSTR_TSATBL_STRPTR_CAST -#define FMSTR_TSATBL_STRPTR_CAST(x) ((FMSTR_TSATBL_STRPTR)(x)) -#endif -#ifndef FMSTR_TSATBL_VOIDPTR -#define FMSTR_TSATBL_VOIDPTR const void* -#endif -#ifndef FMSTR_TSATBL_VOIDPTR_CAST -#define FMSTR_TSATBL_VOIDPTR_CAST(x) ((FMSTR_TSATBL_VOIDPTR)(x)) -#endif - -/* TSA table entry. The unions inside assures variables sized enough to */ -/* accomodate both the C-pointer and the user-requested size (FMSTR_ADDR) */ -typedef struct -{ - union { FMSTR_TSATBL_STRPTR p; FMSTR_ADDR n; } name; - union { FMSTR_TSATBL_STRPTR p; FMSTR_ADDR n; } type; - union { FMSTR_TSATBL_VOIDPTR p; FMSTR_ADDR n; } addr; - union { FMSTR_TSATBL_VOIDPTR p; FMSTR_ADDR n; } info; -} FMSTR_TSA_ENTRY; - -/* TSA table allocation modifier */ -#ifndef FMSTR_USE_TSA_INROM -#define FMSTR_USE_TSA_INROM 0 -#endif -#if FMSTR_USE_TSA_INROM -#define FMSTR_TSA_CDECL const -#else -#define FMSTR_TSA_CDECL -#endif - -/*//////////////////////////////////////////////// */ -/* single table-building macros */ - -#define FMSTR_TSA_FUNC(id) FMSTR_TsaGetTable_##id -#define FMSTR_TSA_FUNC_PROTO(id) const FMSTR_TSA_ENTRY* FMSTR_TSA_FUNC(id) (FMSTR_TSA_TSIZE* pTableSize) - -#define FMSTR_TSA_TABLE_BEGIN(id) \ - FMSTR_TSA_FUNC_PROTO(id); \ - FMSTR_TSA_FUNC_PROTO(id) { \ - static FMSTR_TSA_CDECL FMSTR_TSA_ENTRY fmstr_tsatable[] = { - -/* entry info */ -#define FMSTR_TSA_INFO1(elem, flags) FMSTR_TSATBL_VOIDPTR_CAST(((sizeof(elem))<<2)|(flags)) -#define FMSTR_TSA_INFO2(size, flags) FMSTR_TSATBL_VOIDPTR_CAST(((size)<<2)|(flags)) - -#define FMSTR_TSA_STRUCT(name) \ - { FMSTR_TSATBL_STRPTR_CAST(#name), FMSTR_TSATBL_STRPTR_CAST(NULL), FMSTR_TSATBL_VOIDPTR_CAST(NULL), FMSTR_TSA_INFO1(name, FMSTR_TSA_INFO_STRUCT) }, - -#define FMSTR_TSA_MEMBER(parenttype,name,type) \ - { FMSTR_TSATBL_STRPTR_CAST(#name), FMSTR_TSATBL_STRPTR_CAST(type), FMSTR_TSATBL_VOIDPTR_CAST(&((parenttype*)0)->name), FMSTR_TSA_INFO1(((parenttype*)0)->name, FMSTR_TSA_INFO_MEMBER) }, - -#define FMSTR_TSA_RO_VAR(name,type) \ - { FMSTR_TSATBL_STRPTR_CAST(#name), FMSTR_TSATBL_STRPTR_CAST(type), FMSTR_TSATBL_VOIDPTR_CAST(&(name)), FMSTR_TSA_INFO1(name, FMSTR_TSA_INFO_RO_VAR) }, - -#define FMSTR_TSA_RW_VAR(name,type) \ - { FMSTR_TSATBL_STRPTR_CAST(#name), FMSTR_TSATBL_STRPTR_CAST(type), FMSTR_TSATBL_VOIDPTR_CAST(&(name)), FMSTR_TSA_INFO1(name, FMSTR_TSA_INFO_RW_VAR) }, - -#define FMSTR_TSA_RO_MEM(name,type,addr,size) \ - { FMSTR_TSATBL_STRPTR_CAST(#name), FMSTR_TSATBL_STRPTR_CAST(type), FMSTR_TSATBL_VOIDPTR_CAST(addr), FMSTR_TSA_INFO2(size, FMSTR_TSA_INFO_RO_VAR) }, - -#define FMSTR_TSA_RW_MEM(name,type,addr,size) \ - { FMSTR_TSATBL_STRPTR_CAST(#name), FMSTR_TSATBL_STRPTR_CAST(type), FMSTR_TSATBL_VOIDPTR_CAST(addr), FMSTR_TSA_INFO2(size, FMSTR_TSA_INFO_RW_VAR) }, - -#define FMSTR_TSA_TABLE_END() }; \ - if(pTableSize) *pTableSize = sizeof(fmstr_tsatable); \ - return fmstr_tsatable; } - -/*///////////////////////////////////////////////////////////////////// */ -/* TSA "Base Types", all are implemented as a one-char strings */ -/* retrieved by PC and parsed according to the binary scheme */ -/* "111STTZZ" where TT=type[int,frac,fp,x] S=signed ZZ=size[1,2,4,8] */ - -#define FMSTR_TSA_UINT8 "\xE0" -#define FMSTR_TSA_UINT16 "\xE1" -#define FMSTR_TSA_UINT32 "\xE2" -#define FMSTR_TSA_UINT64 "\xE3" -#define FMSTR_TSA_SINT8 "\xF0" -#define FMSTR_TSA_SINT16 "\xF1" -#define FMSTR_TSA_SINT32 "\xF2" -#define FMSTR_TSA_SINT64 "\xF3" -#define FMSTR_TSA_UFRAC16 "\xE5" -#define FMSTR_TSA_UFRAC32 "\xE6" -#define FMSTR_TSA_FRAC16 "\xF5" -#define FMSTR_TSA_FRAC32 "\xF6" -#define FMSTR_TSA_FLOAT "\xFA" -#define FMSTR_TSA_DOUBLE "\xFB" - -/* macro used to describe "User Type" */ -#define FMSTR_TSA_USERTYPE(type) #type - -/* macro used to describe pure memory space */ -#define FMSTR_TSA_MEMORY NULL - - -/*//////////////////////////////////////////////// */ -/* master TSA table-retrival building macros */ - -#define FMSTR_TSA_TABLE_LIST_BEGIN() \ - const FMSTR_TSA_ENTRY* FMSTR_TsaGetTable(FMSTR_TSA_TINDEX nTableIndex, FMSTR_TSA_TSIZE* pTableSize) { - -#define FMSTR_TSA_TABLE(id) \ - if(!nTableIndex--) { \ - FMSTR_TSA_FUNC_PROTO(id); \ - return FMSTR_TSA_FUNC(id)(pTableSize); \ - } else - -#define FMSTR_TSA_TABLE_LIST_END() \ - { return NULL; } } - -/***************************************************************************** - Target-side Address translation functions -******************************************************************************/ - -/* master TSA table-retrival function */ -const FMSTR_TSA_ENTRY* FMSTR_TsaGetTable(FMSTR_TSA_TINDEX nTableIndex, FMSTR_TSA_TSIZE* pTableSize); - -#endif /* __FREEMASTER_TSA_H */ - diff --git a/Projects/epwm_test/Start_rfm.pmp b/Projects/epwm_test/Start_rfm.pmp deleted file mode 100644 index 692f088..0000000 Binary files a/Projects/epwm_test/Start_rfm.pmp and /dev/null differ diff --git a/Projects/epwm_test/epwm_test.c b/Projects/epwm_test/epwm_test.c deleted file mode 100644 index c56a7fa..0000000 --- a/Projects/epwm_test/epwm_test.c +++ /dev/null @@ -1,115 +0,0 @@ -//########################################################################### -// -// FILE: epwm_test.c -// - -// -// -//########################################################################### -// - -//########################################################################### - -// -// Included Files -// -#include "f28x_project.h" -#include "init_perif.h" -#include"frm_uart.h" -#include "i2c_init.h" - -#include "BL25CM1A.h" -#include "GD25Q16ETIGR.h" -#include "ZD24C02A.h" -// -// Main -// -volatile uint16_t test=0x1234; -volatile uint16_t test1=0x6789; -volatile uint16_t counter=0 ; -volatile uint16_t counter1=0 ; -volatile uint16_t counter2=0 ; - - -uint16_t sendNowI2C = 0, sendNowSPI = 0; -uint16_t TestADR = 0; -uint16_t NByte = 16; -uint16_t WriteI2C = 0; -uint16_t Adr = 0; - -Uint16 MainTimerTimeouts = 0; - - -void MainTimerBaseTimeoutInc(void) -{ - MainTimerTimeouts++; -} - -uint16_t ArrayForTests[MAX_BUFFER_SIZE] = {0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9A, 0x9B, 0x9C, 0x9D, 0x9E, 0x9F, 0xA0}; - -//uint16_t ArrayMax[256]; - -void main(void) -{ - - InitPerif(); - FRMUartInit(); - GD25Q16ETIGR_en(); -// Bl25cm1a_en(); -// -// IDLE loop. Just sit and loop forever (optional): -// - for(;;) - { - asm (" NOP"); - - if(sendNowI2C) - { - if(WriteI2C) - { - ArrayForTests[0] = Adr; - ZD24C02A_write(NByte, ArrayForTests); - } - else - { - ArrayForTests[0] = Adr; - ZD24C02A_read(NByte, ArrayForTests); - } - sendNowI2C = 0; - } - - if(sendNowSPI == 1) - { - GD25Q16ETIGR_write(); - sendNowSPI = 0; - } - - else if(sendNowSPI == 2) - { - Bl25cm1a_write(); - sendNowSPI = 0; - } - - if(FMSTR_is_enable()) { - if(counter < 100) counter++; - else - { - counter = 0; - if(counter1 < 100) counter1++; - else - { - counter1=0; - counter2++; - } - } - FMSTR_Poll(); - FMSTR_Recorder(); - FMSTR_enable_clr(); - } - } -} - - -// -// End of file -// diff --git a/Projects/epwm_test/f2838x_headers_nonBIOS_cpu1.cmd b/Projects/epwm_test/f2838x_headers_nonBIOS_cpu1.cmd deleted file mode 100644 index 475a56a..0000000 --- a/Projects/epwm_test/f2838x_headers_nonBIOS_cpu1.cmd +++ /dev/null @@ -1,388 +0,0 @@ -MEMORY -{ - PAGE 0: /* Program Memory */ - PAGE 1: /* Data Memory */ - ACCESSPROTECTION : origin = 0x0005F500, length = 0x00000040 - ADCA : origin = 0x00007400, length = 0x00000080 - ADCB : origin = 0x00007480, length = 0x00000080 - ADCC : origin = 0x00007500, length = 0x00000080 - ADCD : origin = 0x00007580, length = 0x00000080 - ADCARESULT : origin = 0x00000B00, length = 0x00000018 - ADCBRESULT : origin = 0x00000B20, length = 0x00000018 - ADCCRESULT : origin = 0x00000B40, length = 0x00000018 - ADCDRESULT : origin = 0x00000B60, length = 0x00000018 - ANALOGSUBSYS : origin = 0x0005D700, length = 0x00000100 - BGCRCCPU : origin = 0x00006340, length = 0x00000040 - BGCRCCLA1 : origin = 0x00006380, length = 0x00000040 - CANA : origin = 0x00048000, length = 0x00000200 - CANB : origin = 0x0004A000, length = 0x00000200 - CLA1 : origin = 0x00001400, length = 0x00000080 - CLB1DATAEXCH : origin = 0x00003180, length = 0x00000080 - CLB2DATAEXCH : origin = 0x00003380, length = 0x00000080 - CLB3DATAEXCH : origin = 0x00003580, length = 0x00000080 - CLB4DATAEXCH : origin = 0x00003780, length = 0x00000080 - CLB5DATAEXCH : origin = 0x00003980, length = 0x00000080 - CLB6DATAEXCH : origin = 0x00003B80, length = 0x00000080 - CLB7DATAEXCH : origin = 0x00003D80, length = 0x00000080 - CLB8DATAEXCH : origin = 0x00003F80, length = 0x00000080 - CLB1LOGICCFG : origin = 0x00003000, length = 0x00000052 - CLB2LOGICCFG : origin = 0x00003200, length = 0x00000052 - CLB3LOGICCFG : origin = 0x00003400, length = 0x00000052 - CLB4LOGICCFG : origin = 0x00003600, length = 0x00000052 - CLB5LOGICCFG : origin = 0x00003800, length = 0x00000052 - CLB6LOGICCFG : origin = 0x00003A00, length = 0x00000052 - CLB7LOGICCFG : origin = 0x00003C00, length = 0x00000052 - CLB8LOGICCFG : origin = 0x00003E00, length = 0x00000052 - CLB1LOGICCTRL : origin = 0x00003100, length = 0x00000040 - CLB2LOGICCTRL : origin = 0x00003300, length = 0x00000040 - CLB3LOGICCTRL : origin = 0x00003500, length = 0x00000040 - CLB4LOGICCTRL : origin = 0x00003700, length = 0x00000040 - CLB5LOGICCTRL : origin = 0x00003900, length = 0x00000040 - CLB6LOGICCTRL : origin = 0x00003B00, length = 0x00000040 - CLB7LOGICCTRL : origin = 0x00003D00, length = 0x00000040 - CLB8LOGICCTRL : origin = 0x00003F00, length = 0x00000040 - CLBXBAR : origin = 0x00007A40, length = 0x00000040 - CLKCFG : origin = 0x0005D200, length = 0x00000100 - CMPSS1 : origin = 0x00005C80, length = 0x00000020 - CMPSS2 : origin = 0x00005CA0, length = 0x00000020 - CMPSS3 : origin = 0x00005CC0, length = 0x00000020 - CMPSS4 : origin = 0x00005CE0, length = 0x00000020 - CMPSS5 : origin = 0x00005D00, length = 0x00000020 - CMPSS6 : origin = 0x00005D20, length = 0x00000020 - CMPSS7 : origin = 0x00005D40, length = 0x00000020 - CMPSS8 : origin = 0x00005D60, length = 0x00000020 - CMCONF : origin = 0x0005DC00, length = 0x00000400 - CPU1TOCMIPC : origin = 0x0005CE40, length = 0x00000026 - CPU1TOCPU2IPC : origin = 0x0005CE00, length = 0x00000026 - SYSPERIPHAC : origin = 0x0005D500, length = 0x00000200 - CPUTIMER0 : origin = 0x00000C00, length = 0x00000008 - CPUTIMER1 : origin = 0x00000C08, length = 0x00000008 - CPUTIMER2 : origin = 0x00000C10, length = 0x00000008 - CPUSYS : origin = 0x0005D300, length = 0x000000A0 - DACA : origin = 0x00005C00, length = 0x00000008 - DACB : origin = 0x00005C10, length = 0x00000008 - DACC : origin = 0x00005C20, length = 0x00000008 - DCC0 : origin = 0x0005E700, length = 0x00000038 - DCC1 : origin = 0x0005E740, length = 0x00000038 - DCC2 : origin = 0x0005E780, length = 0x00000038 - DCSMCOMMON : origin = 0x0005F0C0, length = 0x00000020 - DCSMZ1OTP : origin = 0x00078000, length = 0x00000020 - DCSMZ1 : origin = 0x0005F000, length = 0x0000003E - DCSMZ2OTP : origin = 0x00078200, length = 0x00000020 - DCSMZ2 : origin = 0x0005F080, length = 0x0000003E - DEVCFG : origin = 0x0005D000, length = 0x000001A0 - DMACLASRCSEL : origin = 0x00007980, length = 0x0000001A - DMA : origin = 0x00001000, length = 0x00000200 - ECAP1 : origin = 0x00005200, length = 0x00000020 - ECAP2 : origin = 0x00005240, length = 0x00000020 - ECAP3 : origin = 0x00005280, length = 0x00000020 - ECAP4 : origin = 0x000052C0, length = 0x00000020 - ECAP5 : origin = 0x00005300, length = 0x00000020 - ECAP6 : origin = 0x00005340, length = 0x00000020 - ECAP7 : origin = 0x00005380, length = 0x00000020 - EMIF1CONFIG : origin = 0x0005F4C0, length = 0x00000020 - EMIF2CONFIG : origin = 0x0005F4E0, length = 0x00000020 - EMIF1 : origin = 0x00047000, length = 0x00000070 - EMIF2 : origin = 0x00047800, length = 0x00000070 - EPWM1 : origin = 0x00004000, length = 0x00000100 - EPWM2 : origin = 0x00004100, length = 0x00000100 - EPWM3 : origin = 0x00004200, length = 0x00000100 - EPWM4 : origin = 0x00004300, length = 0x00000100 - EPWM5 : origin = 0x00004400, length = 0x00000100 - EPWM6 : origin = 0x00004500, length = 0x00000100 - EPWM7 : origin = 0x00004600, length = 0x00000100 - EPWM8 : origin = 0x00004700, length = 0x00000100 - EPWM9 : origin = 0x00004800, length = 0x00000100 - EPWM10 : origin = 0x00004900, length = 0x00000100 - EPWM11 : origin = 0x00004A00, length = 0x00000100 - EPWM12 : origin = 0x00004B00, length = 0x00000100 - EPWM13 : origin = 0x00004C00, length = 0x00000100 - EPWM14 : origin = 0x00004D00, length = 0x00000100 - EPWM15 : origin = 0x00004E00, length = 0x00000100 - EPWM16 : origin = 0x00004F00, length = 0x00000100 - EPWMXBAR : origin = 0x00007A00, length = 0x00000040 - EQEP1 : origin = 0x00005100, length = 0x00000040 - EQEP2 : origin = 0x00005140, length = 0x00000040 - EQEP3 : origin = 0x00005180, length = 0x00000040 - ERADCOUNTER1 : origin = 0x0005E980, length = 0x00000010 - ERADCOUNTER2 : origin = 0x0005E990, length = 0x00000010 - ERADCOUNTER3 : origin = 0x0005E9A0, length = 0x00000010 - ERADCOUNTER4 : origin = 0x0005E9B0, length = 0x00000010 - ERADCRCGLOBAL : origin = 0x0005EA00, length = 0x00000010 - ERADCRC1 : origin = 0x0005EA10, length = 0x00000010 - ERADCRC2 : origin = 0x0005EA20, length = 0x00000010 - ERADCRC3 : origin = 0x0005EA30, length = 0x00000010 - ERADCRC4 : origin = 0x0005EA40, length = 0x00000010 - ERADCRC5 : origin = 0x0005EA50, length = 0x00000010 - ERADCRC6 : origin = 0x0005EA60, length = 0x00000010 - ERADCRC7 : origin = 0x0005EA70, length = 0x00000010 - ERADCRC8 : origin = 0x0005EA80, length = 0x00000010 - ERADGLOBAL : origin = 0x0005E800, length = 0x00000014 - ERADHWBP1 : origin = 0x0005E900, length = 0x00000008 - ERADHWBP2 : origin = 0x0005E908, length = 0x00000008 - ERADHWBP3 : origin = 0x0005E910, length = 0x00000008 - ERADHWBP4 : origin = 0x0005E918, length = 0x00000008 - ERADHWBP5 : origin = 0x0005E920, length = 0x00000008 - ERADHWBP6 : origin = 0x0005E928, length = 0x00000008 - ERADHWBP7 : origin = 0x0005E930, length = 0x00000008 - ERADHWBP8 : origin = 0x0005E938, length = 0x00000008 - ESCSSCONFIG : origin = 0x00057F00, length = 0x00000016 - ESCSS : origin = 0x00057E00, length = 0x00000024 - FLASH0CTRL : origin = 0x0005F800, length = 0x00000182 - FLASH0ECC : origin = 0x0005FB00, length = 0x00000028 - FSIRXA : origin = 0x00006680, length = 0x00000050 - FSIRXB : origin = 0x00006780, length = 0x00000050 - FSIRXC : origin = 0x00006880, length = 0x00000050 - FSIRXD : origin = 0x00006980, length = 0x00000050 - FSIRXE : origin = 0x00006A80, length = 0x00000050 - FSIRXF : origin = 0x00006B80, length = 0x00000050 - FSIRXG : origin = 0x00006C80, length = 0x00000050 - FSIRXH : origin = 0x00006D80, length = 0x00000050 - FSITXA : origin = 0x00006600, length = 0x00000050 - FSITXB : origin = 0x00006700, length = 0x00000050 - GPIOCTRL : origin = 0x00007C00, length = 0x00000200 - GPIODATAREAD : origin = 0x00007F80, length = 0x00000010 - GPIODATA : origin = 0x00007F00, length = 0x00000040 - HRCAP6 : origin = 0x00005360, length = 0x00000020 - HRCAP7 : origin = 0x000053A0, length = 0x00000020 - I2CA : origin = 0x00007300, length = 0x00000022 - I2CB : origin = 0x00007340, length = 0x00000022 - INPUTXBAR : origin = 0x00007900, length = 0x00000020 - CLBINPUTXBAR : origin = 0x00007960, length = 0x00000020 - MCANASS : origin = 0x0005C400, length = 0x0000002C - MCANAERR : origin = 0x0005C800, length = 0x00000210 - MCANA : origin = 0x0005C600, length = 0x00000100 - MEMORYERROR : origin = 0x0005F540, length = 0x00000040 - MEMCFG : origin = 0x0005F400, length = 0x000000C0 - MCBSPA : origin = 0x00006000, length = 0x00000024 - MCBSPB : origin = 0x00006040, length = 0x00000024 - NMIINTRUPT : origin = 0x00007060, length = 0x00000010 - OUTPUTXBAR : origin = 0x00007A80, length = 0x00000040 - CLBOUTPUTXBAR : origin = 0x00007BC0, length = 0x00000040 - PIECTRL : origin = 0x00000CE0, length = 0x0000001A - PIEVECTTABLE : origin = 0x00000D00, length = 0x00000200 - PMBUSA : origin = 0x00006400, length = 0x00000020 - ROMPREFETCH : origin = 0x0005F588, length = 0x00000008 - ROMWAITSTATE : origin = 0x0005F580, length = 0x00000008 - SCIA : origin = 0x00007200, length = 0x00000010 - SCIB : origin = 0x00007210, length = 0x00000010 - SCIC : origin = 0x00007220, length = 0x00000010 - SCID : origin = 0x00007230, length = 0x00000010 - SDFM1 : origin = 0x00005E00, length = 0x00000080 - SDFM2 : origin = 0x00005E80, length = 0x00000080 - SPIA : origin = 0x00006100, length = 0x00000010 - SPIB : origin = 0x00006110, length = 0x00000010 - SPIC : origin = 0x00006120, length = 0x00000010 - SPID : origin = 0x00006130, length = 0x00000010 - SYNCSOC : origin = 0x00007940, length = 0x00000006 - SYSSTATUS : origin = 0x0005D400, length = 0x00000100 - TESTERROR : origin = 0x0005F590, length = 0x00000010 - WD : origin = 0x00007000, length = 0x0000002C - XBAR : origin = 0x00007920, length = 0x00000020 - XINT : origin = 0x00007070, length = 0x0000000C - -} - - -SECTIONS -{ -/*** PIE Vect Table and Boot ROM Variables Structures ***/ -UNION run = PIEVECTTABLE -{ - PieVectTableFile - GROUP - { - EmuKeyVar - EmuBModeVar - EmuBootPinsVar - FlashCallbackVar - FlashScalingVar - } -} - - AccessProtectionRegsFile : > ACCESSPROTECTION, type=NOINIT - AdcaRegsFile : > ADCA, type=NOINIT - AdcbRegsFile : > ADCB, type=NOINIT - AdccRegsFile : > ADCC, type=NOINIT - AdcdRegsFile : > ADCD, type=NOINIT - AdcaResultRegsFile : > ADCARESULT, type=NOINIT - AdcbResultRegsFile : > ADCBRESULT, type=NOINIT - AdccResultRegsFile : > ADCCRESULT, type=NOINIT - AdcdResultRegsFile : > ADCDRESULT, type=NOINIT - AnalogSubsysRegsFile : > ANALOGSUBSYS, type=NOINIT - BgcrcCpuRegsFile : > BGCRCCPU, type=NOINIT - BgcrcCla1RegsFile : > BGCRCCLA1, type=NOINIT - CanaRegsFile : > CANA, type=NOINIT - CanbRegsFile : > CANB, type=NOINIT - Cla1RegsFile : > CLA1, type=NOINIT - Clb1DataExchRegsFile : > CLB1DATAEXCH, type=NOINIT - Clb2DataExchRegsFile : > CLB2DATAEXCH, type=NOINIT - Clb3DataExchRegsFile : > CLB3DATAEXCH, type=NOINIT - Clb4DataExchRegsFile : > CLB4DATAEXCH, type=NOINIT - Clb5DataExchRegsFile : > CLB5DATAEXCH, type=NOINIT - Clb6DataExchRegsFile : > CLB6DATAEXCH, type=NOINIT - Clb7DataExchRegsFile : > CLB7DATAEXCH, type=NOINIT - Clb8DataExchRegsFile : > CLB8DATAEXCH, type=NOINIT - Clb1LogicCfgRegsFile : > CLB1LOGICCFG, type=NOINIT - Clb2LogicCfgRegsFile : > CLB2LOGICCFG, type=NOINIT - Clb3LogicCfgRegsFile : > CLB3LOGICCFG, type=NOINIT - Clb4LogicCfgRegsFile : > CLB4LOGICCFG, type=NOINIT - Clb5LogicCfgRegsFile : > CLB5LOGICCFG, type=NOINIT - Clb6LogicCfgRegsFile : > CLB6LOGICCFG, type=NOINIT - Clb7LogicCfgRegsFile : > CLB7LOGICCFG, type=NOINIT - Clb8LogicCfgRegsFile : > CLB8LOGICCFG, type=NOINIT - Clb1LogicCtrlRegsFile : > CLB1LOGICCTRL, type=NOINIT - Clb2LogicCtrlRegsFile : > CLB2LOGICCTRL, type=NOINIT - Clb3LogicCtrlRegsFile : > CLB3LOGICCTRL, type=NOINIT - Clb4LogicCtrlRegsFile : > CLB4LOGICCTRL, type=NOINIT - Clb5LogicCtrlRegsFile : > CLB5LOGICCTRL, type=NOINIT - Clb6LogicCtrlRegsFile : > CLB6LOGICCTRL, type=NOINIT - Clb7LogicCtrlRegsFile : > CLB7LOGICCTRL, type=NOINIT - Clb8LogicCtrlRegsFile : > CLB8LOGICCTRL, type=NOINIT - CLBXbarRegsFile : > CLBXBAR, type=NOINIT - ClkCfgRegsFile : > CLKCFG, type=NOINIT - Cmpss1RegsFile : > CMPSS1, type=NOINIT - Cmpss2RegsFile : > CMPSS2, type=NOINIT - Cmpss3RegsFile : > CMPSS3, type=NOINIT - Cmpss4RegsFile : > CMPSS4, type=NOINIT - Cmpss5RegsFile : > CMPSS5, type=NOINIT - Cmpss6RegsFile : > CMPSS6, type=NOINIT - Cmpss7RegsFile : > CMPSS7, type=NOINIT - Cmpss8RegsFile : > CMPSS8, type=NOINIT - CmConfRegsFile : > CMCONF, type=NOINIT - Cpu1toCmIpcRegsFile : > CPU1TOCMIPC, type=NOINIT - Cpu1toCpu2IpcRegsFile : > CPU1TOCPU2IPC, type=NOINIT - SysPeriphAcRegsFile : > SYSPERIPHAC, type=NOINIT - CpuTimer0RegsFile : > CPUTIMER0, type=NOINIT - CpuTimer1RegsFile : > CPUTIMER1, type=NOINIT - CpuTimer2RegsFile : > CPUTIMER2, type=NOINIT - CpuSysRegsFile : > CPUSYS, type=NOINIT - DacaRegsFile : > DACA, type=NOINIT - DacbRegsFile : > DACB, type=NOINIT - DaccRegsFile : > DACC, type=NOINIT - Dcc0RegsFile : > DCC0, type=NOINIT - Dcc1RegsFile : > DCC1, type=NOINIT - Dcc2RegsFile : > DCC2, type=NOINIT - DcsmCommonRegsFile : > DCSMCOMMON, type=NOINIT - DcsmZ1OtpRegsFile : > DCSMZ1OTP, type=NOINIT - DcsmZ1RegsFile : > DCSMZ1, type=NOINIT - DcsmZ2OtpRegsFile : > DCSMZ2OTP, type=NOINIT - DcsmZ2RegsFile : > DCSMZ2, type=NOINIT - DevCfgRegsFile : > DEVCFG, type=NOINIT - DmaClaSrcSelRegsFile : > DMACLASRCSEL, type=NOINIT - DmaRegsFile : > DMA, type=NOINIT - ECap1RegsFile : > ECAP1, type=NOINIT - ECap2RegsFile : > ECAP2, type=NOINIT - ECap3RegsFile : > ECAP3, type=NOINIT - ECap4RegsFile : > ECAP4, type=NOINIT - ECap5RegsFile : > ECAP5, type=NOINIT - ECap6RegsFile : > ECAP6, type=NOINIT - ECap7RegsFile : > ECAP7, type=NOINIT - Emif1ConfigRegsFile : > EMIF1CONFIG, type=NOINIT - Emif2ConfigRegsFile : > EMIF2CONFIG, type=NOINIT - Emif1RegsFile : > EMIF1, type=NOINIT - Emif2RegsFile : > EMIF2, type=NOINIT - EPwm1RegsFile : > EPWM1, type=NOINIT - EPwm2RegsFile : > EPWM2, type=NOINIT - EPwm3RegsFile : > EPWM3, type=NOINIT - EPwm4RegsFile : > EPWM4, type=NOINIT - EPwm5RegsFile : > EPWM5, type=NOINIT - EPwm6RegsFile : > EPWM6, type=NOINIT - EPwm7RegsFile : > EPWM7, type=NOINIT - EPwm8RegsFile : > EPWM8, type=NOINIT - EPwm9RegsFile : > EPWM9, type=NOINIT - EPwm10RegsFile : > EPWM10, type=NOINIT - EPwm11RegsFile : > EPWM11, type=NOINIT - EPwm12RegsFile : > EPWM12, type=NOINIT - EPwm13RegsFile : > EPWM13, type=NOINIT - EPwm14RegsFile : > EPWM14, type=NOINIT - EPwm15RegsFile : > EPWM15, type=NOINIT - EPwm16RegsFile : > EPWM16, type=NOINIT - EPwmXbarRegsFile : > EPWMXBAR, type=NOINIT - EQep1RegsFile : > EQEP1, type=NOINIT - EQep2RegsFile : > EQEP2, type=NOINIT - EQep3RegsFile : > EQEP3, type=NOINIT - EradCounter1RegsFile : > ERADCOUNTER1, type=NOINIT - EradCounter2RegsFile : > ERADCOUNTER2, type=NOINIT - EradCounter3RegsFile : > ERADCOUNTER3, type=NOINIT - EradCounter4RegsFile : > ERADCOUNTER4, type=NOINIT - EradCRCGlobalRegsFile : > ERADCRCGLOBAL, type=NOINIT - EradCRC1RegsFile : > ERADCRC1, type=NOINIT - EradCRC2RegsFile : > ERADCRC2, type=NOINIT - EradCRC3RegsFile : > ERADCRC3, type=NOINIT - EradCRC4RegsFile : > ERADCRC4, type=NOINIT - EradCRC5RegsFile : > ERADCRC5, type=NOINIT - EradCRC6RegsFile : > ERADCRC6, type=NOINIT - EradCRC7RegsFile : > ERADCRC7, type=NOINIT - EradCRC8RegsFile : > ERADCRC8, type=NOINIT - EradGlobalRegsFile : > ERADGLOBAL, type=NOINIT - EradHWBP1RegsFile : > ERADHWBP1, type=NOINIT - EradHWBP2RegsFile : > ERADHWBP2, type=NOINIT - EradHWBP3RegsFile : > ERADHWBP3, type=NOINIT - EradHWBP4RegsFile : > ERADHWBP4, type=NOINIT - EradHWBP5RegsFile : > ERADHWBP5, type=NOINIT - EradHWBP6RegsFile : > ERADHWBP6, type=NOINIT - EradHWBP7RegsFile : > ERADHWBP7, type=NOINIT - EradHWBP8RegsFile : > ERADHWBP8, type=NOINIT - EscssConfigRegsFile : > ESCSSCONFIG, type=NOINIT - EscssRegsFile : > ESCSS, type=NOINIT - Flash0CtrlRegsFile : > FLASH0CTRL, type=NOINIT - Flash0EccRegsFile : > FLASH0ECC, type=NOINIT - FsiRxaRegsFile : > FSIRXA, type=NOINIT - FsiRxbRegsFile : > FSIRXB, type=NOINIT - FsiRxcRegsFile : > FSIRXC, type=NOINIT - FsiRxdRegsFile : > FSIRXD, type=NOINIT - FsiRxeRegsFile : > FSIRXE, type=NOINIT - FsiRxfRegsFile : > FSIRXF, type=NOINIT - FsiRxgRegsFile : > FSIRXG, type=NOINIT - FsiRxhRegsFile : > FSIRXH, type=NOINIT - FsiTxaRegsFile : > FSITXA, type=NOINIT - FsiTxbRegsFile : > FSITXB, type=NOINIT - GpioCtrlRegsFile : > GPIOCTRL, type=NOINIT - GpioDataReadRegsFile : > GPIODATAREAD, type=NOINIT - GpioDataRegsFile : > GPIODATA, type=NOINIT - HRCap6RegsFile : > HRCAP6, type=NOINIT - HRCap7RegsFile : > HRCAP7, type=NOINIT - I2caRegsFile : > I2CA, type=NOINIT - I2cbRegsFile : > I2CB, type=NOINIT - InputXbarRegsFile : > INPUTXBAR, type=NOINIT - ClbInputXbarRegsFile : > CLBINPUTXBAR, type=NOINIT - McanaSsRegsFile : > MCANASS, type=NOINIT - McanaErrRegsFile : > MCANAERR, type=NOINIT - McanaRegsFile : > MCANA, type=NOINIT - MemoryErrorRegsFile : > MEMORYERROR, type=NOINIT - MemCfgRegsFile : > MEMCFG, type=NOINIT - McbspaRegsFile : > MCBSPA, type=NOINIT - McbspbRegsFile : > MCBSPB, type=NOINIT - NmiIntruptRegsFile : > NMIINTRUPT, type=NOINIT - OutputXbarRegsFile : > OUTPUTXBAR, type=NOINIT - ClbOutputXbarRegsFile : > CLBOUTPUTXBAR, type=NOINIT - PieCtrlRegsFile : > PIECTRL, type=NOINIT - PieVectTableFile : > PIEVECTTABLE, type=NOINIT - PmbusaRegsFile : > PMBUSA, type=NOINIT - RomPrefetchRegsFile : > ROMPREFETCH, type=NOINIT - RomWaitStateRegsFile : > ROMWAITSTATE, type=NOINIT - SciaRegsFile : > SCIA, type=NOINIT - ScibRegsFile : > SCIB, type=NOINIT - ScicRegsFile : > SCIC, type=NOINIT - ScidRegsFile : > SCID, type=NOINIT - Sdfm1RegsFile : > SDFM1, type=NOINIT - Sdfm2RegsFile : > SDFM2, type=NOINIT - SpiaRegsFile : > SPIA, type=NOINIT - SpibRegsFile : > SPIB, type=NOINIT - SpicRegsFile : > SPIC, type=NOINIT - SpidRegsFile : > SPID, type=NOINIT - SyncSocRegsFile : > SYNCSOC, type=NOINIT - SysStatusRegsFile : > SYSSTATUS, type=NOINIT - TestErrorRegsFile : > TESTERROR, type=NOINIT - WdRegsFile : > WD, type=NOINIT - XbarRegsFile : > XBAR, type=NOINIT - XintRegsFile : > XINT, type=NOINIT -} - -/* -//=========================================================================== -// End of file. -//=========================================================================== -*/ - diff --git a/Projects/epwm_test/lib/f2838x_codestartbranch.asm b/Projects/epwm_test/lib/f2838x_codestartbranch.asm deleted file mode 100644 index df7a0e3..0000000 --- a/Projects/epwm_test/lib/f2838x_codestartbranch.asm +++ /dev/null @@ -1,112 +0,0 @@ -;//########################################################################### -;// -;// FILE: f2838x_codestartbranch.asm -;// -;// TITLE: Branch for redirecting code execution after boot. -;// -;// For these examples, code_start is the first code that is executed after -;// exiting the boot ROM code. -;// -;// The codestart section in the linker cmd file is used to physically place -;// this code at the correct memory location. This section should be placed -;// at the location the BOOT ROM will re-direct the code to. For example, -;// for boot to FLASH this code will be located at 0x3f7ff6. -;// -;// In addition, the example F2838x projects are setup such that the codegen -;// entry point is also set to the code_start label. This is done by linker -;// option -e in the project build options. When the debugger loads the code, -;// it will automatically set the PC to the "entry point" address indicated by -;// the -e linker option. In this case the debugger is simply assigning the PC, -;// it is not the same as a full reset of the device. -;// -;// The compiler may warn that the entry point for the project is other then -;// _c_init00. _c_init00 is the C environment setup and is run before -;// main() is entered. The code_start code will re-direct the execution -;// to _c_init00 and thus there is no worry and this warning can be ignored. -;// -;//########################################################################### -;// -;// -;// $Copyright: -;// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -;// -;// Redistribution and use in source and binary forms, with or without -;// modification, are permitted provided that the following conditions -;// are met: -;// -;// Redistributions of source code must retain the above copyright -;// notice, this list of conditions and the following disclaimer. -;// -;// 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. -;// -;// Neither the name of Texas Instruments Incorporated nor the names of -;// its contributors may be used to endorse or promote products derived -;// from this software without specific prior written permission. -;// -;// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -;// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -;// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -;// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -;// OWNER OR CONTRIBUTORS 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. -;// $ -;//########################################################################### - -*********************************************************************** - -WD_DISABLE .set 1 ;set to 1 to disable WD, else set to 0 - - .ref _c_int00 - .global code_start - -*********************************************************************** -* Function: codestart section -* -* Description: Branch to code starting point -*********************************************************************** - - .sect "codestart" - .retain - -code_start: - .if WD_DISABLE == 1 - LB wd_disable ;Branch to watchdog disable code - .else - LB _c_int00 ;Branch to start of boot._asm in RTS library - .endif - -;end codestart section - -*********************************************************************** -* Function: wd_disable -* -* Description: Disables the watchdog timer -*********************************************************************** - .if WD_DISABLE == 1 - - .text -wd_disable: - SETC OBJMODE ;Set OBJMODE for 28x object code - EALLOW ;Enable EALLOW protected register access - MOVZ DP, #7029h>>6 ;Set data page for WDCR register - MOV @7029h, #0068h ;Set WDDIS bit in WDCR to disable WD - EDIS ;Disable EALLOW protected register access - LB _c_int00 ;Branch to start of boot._asm in RTS library - - .endif - -;end wd_disable - - .end - -;// -;// End of file. -;// diff --git a/Projects/epwm_test/lib/f2838x_defaultisr.c b/Projects/epwm_test/lib/f2838x_defaultisr.c deleted file mode 100644 index 0a9c44f..0000000 --- a/Projects/epwm_test/lib/f2838x_defaultisr.c +++ /dev/null @@ -1,4635 +0,0 @@ -//########################################################################### -// -// FILE: f2838x_defaultisr.c -// -// TITLE: f2838x Device Default Interrupt Service Routines -// -//########################################################################### -// $Copyright: -// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 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. -// -// Neither the name of Texas Instruments Incorporated nor the names of -// its contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS 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. -// $ -//########################################################################### - -// -// Included Files -// -#include "f2838x_device.h" // f2838x Header File Include File -#include "f2838x_examples.h" // f2838x Examples Include File - -// -// CPU Timer 1 Interrupt -// -interrupt void TIMER1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// CPU Timer 2 Interrupt -// -interrupt void TIMER2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// Datalogging Interrupt -// -interrupt void DATALOG_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// RTOS Interrupt -// -interrupt void RTOS_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// Emulation Interrupt -// -interrupt void EMU_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// Non-Maskable Interrupt -// -interrupt void NMI_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// Illegal Operation Trap -// -interrupt void ILLEGAL_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 1 -// -interrupt void USER1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 2 -// -interrupt void USER2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 3 -// -interrupt void USER3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 4 -// -interrupt void USER4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 5 -// -interrupt void USER5_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 6 -// -interrupt void USER6_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 7 -// -interrupt void USER7_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 8 -// -interrupt void USER8_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 9 -// -interrupt void USER9_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 10 -// -interrupt void USER10_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 11 -// -interrupt void USER11_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// User Defined Trap 12 -// -interrupt void USER12_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.1 - ADCA Interrupt 1 -// -interrupt void ADCA1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.2 - ADCB Interrupt 1 -// -interrupt void ADCB1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.3 - ADCC Interrupt 1 -// -interrupt void ADCC1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.4 - XINT1 Interrupt -// -interrupt void XINT1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.5 - XINT2 Interrupt -// -interrupt void XINT2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.6 - ADCD Interrupt 1 -// -interrupt void ADCD1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.7 - Timer 0 Interrupt -// -interrupt void TIMER0_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.8 - Standby and Halt Wakeup Interrupt -// -interrupt void WAKE_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.1 - ePWM1 Trip Zone Interrupt -// -interrupt void EPWM1_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.2 - ePWM2 Trip Zone Interrupt -// -interrupt void EPWM2_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.3 - ePWM3 Trip Zone Interrupt -// -interrupt void EPWM3_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.4 - ePWM4 Trip Zone Interrupt -// -interrupt void EPWM4_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.5 - ePWM5 Trip Zone Interrupt -// -interrupt void EPWM5_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.6 - ePWM6 Trip Zone Interrupt -// -interrupt void EPWM6_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.7 - ePWM7 Trip Zone Interrupt -// -interrupt void EPWM7_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.8 - ePWM8 Trip Zone Interrupt -// -interrupt void EPWM8_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.1 - ePWM1 Interrupt -// -interrupt void EPWM1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.2 - ePWM2 Interrupt -// -interrupt void EPWM2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.3 - ePWM3 Interrupt -// -interrupt void EPWM3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.4 - ePWM4 Interrupt -// -interrupt void EPWM4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.5 - ePWM5 Interrupt -// -interrupt void EPWM5_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.6 - ePWM6 Interrupt -// -interrupt void EPWM6_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.7 - ePWM7 Interrupt -// -interrupt void EPWM7_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.8 - ePWM8 Interrupt -// -interrupt void EPWM8_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.1 - eCAP1 Interrupt -// -interrupt void ECAP1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.2 - eCAP2 Interrupt -// -interrupt void ECAP2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.3 - eCAP3 Interrupt -// -interrupt void ECAP3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.4 - eCAP4 Interrupt -// -interrupt void ECAP4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.5 - eCAP5 Interrupt -// -interrupt void ECAP5_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.6 - eCAP6 Interrupt -// -interrupt void ECAP6_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.7 - eCAP7 Interrupt -// -interrupt void ECAP7_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.1 - eQEP1 Interrupt -// -interrupt void EQEP1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.2 - eQEP2 Interrupt -// -interrupt void EQEP2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.3 - eQEP3 Interrupt -// -interrupt void EQEP3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.5 - CLB1 (Reconfigurable Logic) Interrupt -// -interrupt void CLB1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.6 - CLB2 (Reconfigurable Logic) Interrupt -// -interrupt void CLB2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.7 - CLB3 (Reconfigurable Logic) Interrupt -// -interrupt void CLB3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.8 - CLB4 (Reconfigurable Logic) Interrupt -// -interrupt void CLB4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.1 - SPIA Receive Interrupt -// -interrupt void SPIA_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.2 - SPIA Transmit Interrupt -// -interrupt void SPIA_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.3 - SPIB Receive Interrupt -// -interrupt void SPIB_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.4 - SPIB Transmit Interrupt -// -interrupt void SPIB_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.5 - McBSPA Receive Interrupt -// -interrupt void MCBSPA_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.6 - McBSPA Transmit Interrupt -// -interrupt void MCBSPA_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.7 - McBSPB Receive Interrupt -// -interrupt void MCBSPB_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.8 - McBSPB Transmit Interrupt -// -interrupt void MCBSPB_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.1 - DMA Channel 1 Interrupt -// -interrupt void DMA_CH1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.2 - DMA Channel 2 Interrupt -// -interrupt void DMA_CH2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.3 - DMA Channel 3 Interrupt -// -interrupt void DMA_CH3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.4 - DMA Channel 4 Interrupt -// -interrupt void DMA_CH4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.5 - DMA Channel 5 Interrupt -// -interrupt void DMA_CH5_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.6 - DMA Channel 6 Interrupt -// -interrupt void DMA_CH6_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.1 - I2CA Interrupt 1 -// -interrupt void I2CA_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.2 - I2CA Interrupt 2 -// -interrupt void I2CA_FIFO_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.3 - I2CB Interrupt 1 -// -interrupt void I2CB_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.4 - I2CB Interrupt 2 -// -interrupt void I2CB_FIFO_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.5 - SCIC Receive Interrupt -// -interrupt void SCIC_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.6 - SCIC Transmit Interrupt -// -interrupt void SCIC_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.7 - SCID Receive Interrupt -// -interrupt void SCID_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.8 - SCID Transmit Interrupt -// -interrupt void SCID_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.1 - SCIA Receive Interrupt -// -interrupt void SCIA_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.2 - SCIA Transmit Interrupt -// -interrupt void SCIA_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.3 - SCIB Receive Interrupt -// -interrupt void SCIB_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.4 - SCIB Transmit Interrupt -// -interrupt void SCIB_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.5 - CANA Interrupt 0 -// -interrupt void CANA0_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.6 - CANA Interrupt 1 -// -interrupt void CANA1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.7 - CANB Interrupt 0 -// -interrupt void CANB0_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.8 - CANB Interrupt 1 -// -interrupt void CANB1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.1 - ADCA Event Interrupt -// -interrupt void ADCA_EVT_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.2 - ADCA Interrupt 2 -// -interrupt void ADCA2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.3 - ADCA Interrupt 3 -// -interrupt void ADCA3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.4 - ADCA Interrupt 4 -// -interrupt void ADCA4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.5 - ADCB Event Interrupt -// -interrupt void ADCB_EVT_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.6 - ADCB Interrupt 2 -// -interrupt void ADCB2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.7 - ADCB Interrupt 3 -// -interrupt void ADCB3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.8 - ADCB Interrupt 4 -// -interrupt void ADCB4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.1 - CLA1 Interrupt 1 -// -interrupt void CLA1_1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.2 - CLA1 Interrupt 2 -// -interrupt void CLA1_2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.3 - CLA1 Interrupt 3 -// -interrupt void CLA1_3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.4 - CLA1 Interrupt 4 -// -interrupt void CLA1_4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.5 - CLA1 Interrupt 5 -// -interrupt void CLA1_5_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.6 - CLA1 Interrupt 6 -// -interrupt void CLA1_6_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.7 - CLA1 Interrupt 7 -// -interrupt void CLA1_7_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.8 - CLA1 Interrupt 8 -// -interrupt void CLA1_8_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.1 - XINT3 Interrupt -// -interrupt void XINT3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.2 - XINT4 Interrupt -// -interrupt void XINT4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.3 - XINT5 Interrupt -// -interrupt void XINT5_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.4 - MPOST Interrupt -// -interrupt void MPOST_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.5 - Flash Wrapper Operation Done Interrupt -// -interrupt void FMC_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.7 - FPU Overflow Interrupt -// -interrupt void FPU_OFLOW_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.8 - FPU Underflow Interrupt -// -interrupt void FPU_UFLOW_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.9 - I2CA Interrupt high priority -// -interrupt void I2CA_HIGH_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.10 - System error interrupt -// -interrupt void SYS_ERR_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.11 - ETHERCAT SYNC0 interrupt -// -interrupt void ECATSYNC0_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.12 - ETHERCAT main interrupt -// -interrupt void ECAT_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.13 - C28x CPU IPC interrupt 1 -// -interrupt void CIPC0_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.14 - C28x CPU IPC interrupt 2 -// -interrupt void CIPC1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.15 - C28x CPU IPC interrupt 3 -// -interrupt void CIPC2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 1.16 - C28x CPU IPC interrupt 4 -// -interrupt void CIPC3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.9 - ePWM9 Trip Zone Interrupt -// -interrupt void EPWM9_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.10 - ePWM10 Trip Zone Interrupt -// -interrupt void EPWM10_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.11 - ePWM11 Trip Zone Interrupt -// -interrupt void EPWM11_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.12 - ePWM12 Trip Zone Interrupt -// -interrupt void EPWM12_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.13 - ePWM13 Trip Zone Interrupt -// -interrupt void EPWM13_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.14 - ePWM14 Trip Zone Interrupt -// -interrupt void EPWM14_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.15 - ePWM15 Trip Zone Interrupt -// -interrupt void EPWM15_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 2.16 - ePWM16 Trip Zone Interrupt -// -interrupt void EPWM16_TZ_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP2; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.9 - ePWM9 Interrupt -// -interrupt void EPWM9_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.10 - ePWM10 Interrupt -// -interrupt void EPWM10_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.11 - ePWM11 Interrupt -// -interrupt void EPWM11_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.12 - ePWM12 Interrupt -// -interrupt void EPWM12_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.13 - ePWM13 Interrupt -// -interrupt void EPWM13_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.14 - ePWM14 Interrupt -// -interrupt void EPWM14_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.15 - ePWM15 Interrupt -// -interrupt void EPWM15_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 3.16 - ePWM16 Interrupt -// -interrupt void EPWM16_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.9 - FSIA Transmit interrupt 1 -// -interrupt void FSITXA1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.10 - FSIA Transmit interrupt 2 -// -interrupt void FSITXA2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.11 - FSIB Transmit interrupt 1 -// -interrupt void FSITXB1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.12 - FSIB Transmit interrupt 2 -// -interrupt void FSITXB2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.13 - FSIA Receive interrupt 1 -// -interrupt void FSIRXA1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.14 - FSIA Receive interrupt 2 -// -interrupt void FSIRXA2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.15 - FSIB Receive interrupt 1 -// -interrupt void FSIRXB1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 4.16 - FSIB Receive interrupt 2 -// -interrupt void FSIRXB2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP4; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.9 - Sigma Delta Filter Module1 Interrupt -// -interrupt void SDFM1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.10 - Sigma Delta Filter Module2 Interrupt -// -interrupt void SDFM2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.11 - ETHERCAT Resetout Interrupt -// -interrupt void ECATRST_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.12 - ETHERCAT SYNC1 interrupt -// -interrupt void ECATSYNC1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.13 - Sigma Delta Filter Module1 Filter 1 Interrupt -// -interrupt void SDFM1DR1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.14 - Sigma Delta Filter Module1 Filter 2 Interrupt -// -interrupt void SDFM1DR2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.15 - Sigma Delta Filter Module1 Filter 3 Interrupt -// -interrupt void SDFM1DR3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 5.16 - Sigma Delta Filter Module1 Filter 4 Interrupt -// -interrupt void SDFM1DR4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.9 - SPIC Receive Interrupt -// -interrupt void SPIC_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.10 - SPIC Transmit Interrupt -// -interrupt void SPIC_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.11 - SPID Receive Interrupt -// -interrupt void SPID_RX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.12 - SPID Transmit Interrupt -// -interrupt void SPID_TX_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.13 - Sigma Delta Filter Module2 Filter 1 Interrupt -// -interrupt void SDFM2DR1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.14 - Sigma Delta Filter Module2 Filter 2 Interrupt -// -interrupt void SDFM2DR2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.15 - Sigma Delta Filter Module2 Filter 3 Interrupt -// -interrupt void SDFM2DR3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 6.16 - Sigma Delta Filter Module2 Filter 4 Interrupt -// -interrupt void SDFM2DR4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.9 - FSIC Receive interrupt 1 -// -interrupt void FSIRXC1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.10 - FSIC Receive interrupt 2 -// -interrupt void FSIRXC2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.11 - FSID Receive interrupt 1 -// -interrupt void FSIRXD1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.12 - FSID Receive interrupt 2 -// -interrupt void FSIRXD2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.13 - FSIE Receive interrupt 1 -// -interrupt void FSIRXE1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.14 - FSIE Receive interrupt 2 -// -interrupt void FSIRXE2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.15 - FSIF Receive interrupt 1 -// -interrupt void FSIRXF1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 7.16 - FSIF Receive interrupt 2 -// -interrupt void FSIRXF2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP7; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.9 - FSIG Receive interrupt 1 -// -interrupt void FSIRXG1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.10 - FSIG Receive interrupt 2 -// -interrupt void FSIRXG2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.11 - FSIH Receive interrupt 1 -// -interrupt void FSIRXH1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.12 - FSIH Receive interrupt 2 -// -interrupt void FSIRXH2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.13 - CLB5 Interrupt -// -interrupt void CLB5_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.14 - CLB6 Interrupt -// -interrupt void CLB6_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.15 - CLB7 Interrupt -// -interrupt void CLB7_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 8.16 - CLB8 Interrupt -// -interrupt void CLB8_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP8; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.9 - MCAN Sub-System Interrupt 0 -// -interrupt void MCANA_0_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.10 - MCAN Sub-System Interrupt 1 -// -interrupt void MCANA_1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.11 - MCAN Sub-System ECC error Interrupt -// -interrupt void MCANA_ECC_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.12 - MCAN Sub-System wakeup Interrupt -// -interrupt void MCANA_WAKE_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.13 - PMBUSA Interrupt -// -interrupt void PMBUSA_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.14 - CM Reset Status Interrupt -// -interrupt void CM_STATUS_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 9.15 - USBA Interrupt -// -interrupt void USBA_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP9; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.9 - ADCC Event Interrupt -// -interrupt void ADCC_EVT_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.10 - ADCC Interrupt 2 -// -interrupt void ADCC2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.11 - ADCC Interrupt 3 -// -interrupt void ADCC3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.12 - ADCC Interrupt 4 -// -interrupt void ADCC4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.13 - ADCD Event Interrupt -// -interrupt void ADCD_EVT_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.14 - ADCD Interrupt 2 -// -interrupt void ADCD2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.15 - ADCD Interrupt 3 -// -interrupt void ADCD3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 10.16 - ADCD Interrupt 4 -// -interrupt void ADCD4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP10; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.9 - CM to CPU IPC Interrupt 0 -// -interrupt void CMTOCPUXIPC0_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.10 - CM to CPU IPC Interrupt 1 -// -interrupt void CMTOCPUXIPC1_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.11 - CM to CPU IPC Interrupt 2 -// -interrupt void CMTOCPUXIPC2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.12 - CM to CPU IPC Interrupt 3 -// -interrupt void CMTOCPUXIPC3_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.13 - CM to CPU IPC Interrupt 4 -// -interrupt void CMTOCPUXIPC4_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.14 - CM to CPU IPC Interrupt 5 -// -interrupt void CMTOCPUXIPC5_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.15 - CM to CPU IPC Interrupt 6 -// -interrupt void CMTOCPUXIPC6_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 11.16 - CM to CPU IPC Interrupt 7 -// -interrupt void CMTOCPUXIPC7_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP11; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.10 - eCAP6 Interrupt 2 -// -interrupt void ECAP6_2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.11 - eCAP7 Interrupt 2 -// -interrupt void ECAP7_2_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.13 - CPU BGCRC module interrupt -// -interrupt void CPUCRC_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.14 - CLA1 BGCRC module interrupt -// -interrupt void CLA1CRC_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.15 - CLA Overflow Interrupt -// -interrupt void CLA_OVERFLOW_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// 12.16 - CLA Underflow Interrupt -// -interrupt void CLA_UNDERFLOW_ISR(void) -{ - // - // Insert ISR Code here - // - - // - // To receive more interrupts from this PIE group, - // acknowledge this interrupt. - // PieCtrlRegs.PIEACK.all = PIEACK_GROUP12; - // - - // - // Next two lines for debug only to halt the processor here - // Remove after inserting ISR Code - // - asm (" ESTOP0"); - for(;;); -} - -// -// Catch-all Default ISRs: -// - -// -// PIE_RESERVED_ISR - Reserved ISR -// -interrupt void PIE_RESERVED_ISR(void) -{ - asm (" ESTOP0"); - for(;;); -} - -// -// EMPTY_ISR - Only does a return -// -interrupt void EMPTY_ISR(void) -{ - -} - -// -// NOTUSED_ISR - Unused ISR -// -interrupt void NOTUSED_ISR(void) -{ - asm (" ESTOP0"); - for(;;); -} - -// -// End of File -// - diff --git a/Projects/epwm_test/lib/f2838x_epwm.c b/Projects/epwm_test/lib/f2838x_epwm.c deleted file mode 100644 index b1b422c..0000000 --- a/Projects/epwm_test/lib/f2838x_epwm.c +++ /dev/null @@ -1,642 +0,0 @@ -//########################################################################### -// -// FILE: f2838x_epwm.c -// -// TITLE: F2838x EPwm Initialization & Support Functions. -// -//########################################################################### -// -// -// $Copyright: -// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 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. -// -// Neither the name of Texas Instruments Incorporated nor the names of -// its contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS 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. -// $ -//########################################################################### - -// -// Included Files -// -#include "f2838x_device.h" -#include "f2838x_examples.h" - -// -// InitEPwmGpio - Initialize all EPWM modules' GPIOs -// -void InitEPwmGpio(void) -{ - InitEPwm1Gpio(); - InitEPwm2Gpio(); - InitEPwm3Gpio(); - InitEPwm4Gpio(); - InitEPwm5Gpio(); - InitEPwm6Gpio(); - InitEPwm7Gpio(); - InitEPwm8Gpio(); - InitEPwm9Gpio(); - InitEPwm10Gpio(); - InitEPwm11Gpio(); - InitEPwm12Gpio(); - InitEPwm13Gpio(); - InitEPwm14Gpio(); - InitEPwm15Gpio(); - InitEPwm16Gpio(); -} - -// -// InitEPwm1Gpio - Initialize EPWM1 GPIOs -// -void InitEPwm1Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAPUD.bit.GPIO0 = 1; // Disable pull-up on GPIO0 (EPWM1A) - GpioCtrlRegs.GPAPUD.bit.GPIO1 = 1; // Disable pull-up on GPIO1 (EPWM1B) -// GpioCtrlRegs.GPEPUD.bit.GPIO145 = 1; // Disable pull-up on GPIO145 (EPWM1A) -// GpioCtrlRegs.GPEPUD.bit.GPIO146 = 1; // Disable pull-up on GPIO146 (EPWM1B) - - // - // Configure EPWM-1 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM1 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 1; // Configure GPIO0 as EPWM1A - GpioCtrlRegs.GPAMUX1.bit.GPIO1 = 1; // Configure GPIO1 as EPWM1B -// GpioCtrlRegs.GPEMUX2.bit.GPIO145 = 1; // Configure GPIO145 as EPWM1A -// GpioCtrlRegs.GPEMUX2.bit.GPIO146 = 1; // Configure GPIO0146 as EPWM1B - - EDIS; -} - -// -// InitEPwm2Gpio - Initialize EPWM2 GPIOs -// -void InitEPwm2Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAPUD.bit.GPIO2 = 1; // Disable pull-up on GPIO2 (EPWM2A) - GpioCtrlRegs.GPAPUD.bit.GPIO3 = 1; // Disable pull-up on GPIO3 (EPWM2B) -// GpioCtrlRegs.GPEPUD.bit.GPIO147 = 1; // Disable pull-up on GPIO147 (EPWM2A) -// GpioCtrlRegs.GPEPUD.bit.GPIO148 = 1; // Disable pull-up on GPIO148 (EPWM2B) - - // - // Configure EPwm-2 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM2 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAMUX1.bit.GPIO2 = 1; // Configure GPIO2 as EPWM2A - GpioCtrlRegs.GPAMUX1.bit.GPIO3 = 1; // Configure GPIO3 as EPWM2B -// GpioCtrlRegs.GPEMUX2.bit.GPIO147 = 1; // Configure GPIO147 as EPWM2A -// GpioCtrlRegs.GPEMUX2.bit.GPIO148 = 1; // Configure GPIO148 as EPWM2B - - EDIS; -} - -// -// InitEPwm3Gpio - Initialize EPWM3 GPIOs -// -void InitEPwm3Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAPUD.bit.GPIO4 = 1; // Disable pull-up on GPIO4 (EPWM3A) - GpioCtrlRegs.GPAPUD.bit.GPIO5 = 1; // Disable pull-up on GPIO5 (EPWM3B) -// GpioCtrlRegs.GPEPUD.bit.GPIO149 = 1; // Disable pull-up on GPIO149 (EPWM3A) -// GpioCtrlRegs.GPEPUD.bit.GPIO150 = 1; // Disable pull-up on GPIO150 (EPWM3B) - - // - // Configure EPwm-3 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM3 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1; // Configure GPIO4 as EPWM3A - GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 1; // Configure GPIO5 as EPWM3B -// GpioCtrlRegs.GPEMUX2.bit.GPIO149 = 1; // Configure GPIO149 as EPWM3A -// GpioCtrlRegs.GPEMUX2.bit.GPIO150 = 1; // Configure GPIO150 as EPWM3B - - EDIS; -} - -// -// InitEPwm4Gpio - Initialize EPWM4 GPIOs -// -void InitEPwm4Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAPUD.bit.GPIO6 = 1; // Disable pull-up on GPIO6 (EPWM4A) - GpioCtrlRegs.GPAPUD.bit.GPIO7 = 1; // Disable pull-up on GPIO7 (EPWM4B) -// GpioCtrlRegs.GPEPUD.bit.GPIO151 = 1; // Disable pull-up on GPIO151 (EPWM4A) -// GpioCtrlRegs.GPEPUD.bit.GPIO152 = 1; // Disable pull-up on GPIO152 (EPWM4B) - - // - // Configure EPWM-4 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM4 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAMUX1.bit.GPIO6 = 1; // Configure GPIO6 as EPWM4A - GpioCtrlRegs.GPAMUX1.bit.GPIO7 = 1; // Configure GPIO7 as EPWM4B -// GpioCtrlRegs.GPEMUX2.bit.GPIO151 = 1; // Configure GPIO151 as EPWM4A -// GpioCtrlRegs.GPEMUX2.bit.GPIO152 = 1; // Configure GPIO152 as EPWM4B - - EDIS; -} - -// -// InitEPwm5Gpio - Initialize EPWM5 GPIOs -// -void InitEPwm5Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAPUD.bit.GPIO8 = 1; // Disable pull-up on GPIO8 (EPWM5A) - GpioCtrlRegs.GPAPUD.bit.GPIO9 = 1; // Disable pull-up on GPIO9 (EPWM5B) -// GpioCtrlRegs.GPEPUD.bit.GPIO153 = 1; // Disable pull-up on GPIO153 (EPWM5A) -// GpioCtrlRegs.GPEPUD.bit.GPIO154 = 1; // Disable pull-up on GPIO154 (EPWM5B) - - // - // Configure EPWM-5 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM5 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAMUX1.bit.GPIO8 = 1; // Configure GPIO8 as EPWM5A - GpioCtrlRegs.GPAMUX1.bit.GPIO9 = 1; // Configure GPIO9 as EPWM5B -// GpioCtrlRegs.GPEMUX2.bit.GPIO153 = 1; // Configure GPIO153 as EPWM5A -// GpioCtrlRegs.GPEMUX2.bit.GPIO154 = 1; // Configure GPIO0154 as EPWM5B - - EDIS; -} - -// -// InitEPwm6Gpio - Initialize EPWM6 GPIOs -// -void InitEPwm6Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAPUD.bit.GPIO10 = 1; // Disable pull-up on GPIO10 (EPWM6A) - GpioCtrlRegs.GPAPUD.bit.GPIO11 = 1; // Disable pull-up on GPIO11 (EPWM6B) -// GpioCtrlRegs.GPEPUD.bit.GPIO155 = 1; // Disable pull-up on GPIO155 (EPWM6A) -// GpioCtrlRegs.GPEPUD.bit.GPIO156 = 1; // Disable pull-up on GPIO156 (EPWM6B) - - // - // Configure EPWM-6 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM6 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAMUX1.bit.GPIO10 = 1; // Configure GPIO10 as EPWM6A - GpioCtrlRegs.GPAMUX1.bit.GPIO11 = 1; // Configure GPIO11 as EPWM6B -// GpioCtrlRegs.GPEMUX2.bit.GPIO155 = 1; // Configure GPIO155 as EPWM6A -// GpioCtrlRegs.GPEMUX2.bit.GPIO156 = 1; // Configure GPIO156 as EPWM6B - - EDIS; -} - -// -// InitEPwm7Gpio - Initialize EPWM7 GPIOs -// -void InitEPwm7Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAPUD.bit.GPIO12 = 1; // Disable pull-up on GPIO12 (EPWM7A) - GpioCtrlRegs.GPAPUD.bit.GPIO13 = 1; // Disable pull-up on GPIO13 (EPWM7B) -// GpioCtrlRegs.GPEPUD.bit.GPIO157 = 1; // Disable pull-up on GPIO157 (EPWM7A) -// GpioCtrlRegs.GPEPUD.bit.GPIO158 = 1; // Disable pull-up on GPIO158 (EPWM7B) - - // - // Configure EPWM-7 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM7 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAMUX1.bit.GPIO12 = 1; // Configure GPIO12 as EPWM7A - GpioCtrlRegs.GPAMUX1.bit.GPIO13 = 1; // Configure GPIO13 as EPWM7B -// GpioCtrlRegs.GPEMUX2.bit.GPIO157 = 1; // Configure GPIO157 as EPWM7A -// GpioCtrlRegs.GPEMUX2.bit.GPIO158 = 1; // Configure GPIO158 as EPWM7B - - EDIS; -} - -// -// InitEPwm8Gpio - Initialize EPWM8 GPIOs -// -void InitEPwm8Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAPUD.bit.GPIO14 = 1; // Disable pull-up on GPIO14 (EPWM8A) - GpioCtrlRegs.GPAPUD.bit.GPIO15 = 1; // Disable pull-up on GPIO15 (EPWM8B) -// GpioCtrlRegs.GPEPUD.bit.GPIO159 = 1; // Disable pull-up on GPIO159 (EPWM8A) -// GpioCtrlRegs.GPFPUD.bit.GPIO160 = 1; // Disable pull-up on GPIO160 (EPWM8B) - - // - // Configure EPWM-8 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM8 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPAMUX1.bit.GPIO14 = 1; // Configure GPIO14 as EPWM8A - GpioCtrlRegs.GPAMUX1.bit.GPIO15 = 1; // Configure GPIO15 as EPWM8B -// GpioCtrlRegs.GPEMUX2.bit.GPIO159 = 1; // Configure GPIO159 as EPWM8A -// GpioCtrlRegs.GPFMUX1.bit.GPIO160 = 1; // Configure GPIO160 as EPWM8B - - EDIS; -} - -// -// InitEPwm9Gpio - Initialize EPWM9 GPIOs -// -void InitEPwm9Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPFPUD.bit.GPIO161 = 1; // Disable pull-up on GPIO161 (EPWM9A) - GpioCtrlRegs.GPFPUD.bit.GPIO162 = 1; // Disable pull-up on GPIO162 (EPWM9B) -// GpioCtrlRegs.GPAPUD.bit.GPIO16 = 1; // Disable pull-up on GPIO16 (EPWM9A) -// GpioCtrlRegs.GPAPUD.bit.GPIO17 = 1; // Disable pull-up on GPIO17 (EPWM9B) - - // - // Configure EPWM-9 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM9 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPFMUX1.bit.GPIO161 = 1; // Configure GPIO161 as EPWM9A - GpioCtrlRegs.GPFMUX1.bit.GPIO162 = 1; // Configure GPIO162 as EPWM9B - -// // -// // Alternate mapping for EPWM-9. Uncomment if required. Write 0 to -// // GPAMUx register before configuring GPAGMux to avoid glitches. -// // -// GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 0; // Configure GPAMUX to 0 for GPIO16 -// GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 0; // Configure GPAMUX to 0 for GPIO17 -// -// GpioCtrlRegs.GPAGMUX2.bit.GPIO16 = 1; // Configure GPAGMUX for EPWM9A -// GpioCtrlRegs.GPAGMUX2.bit.GPIO17 = 1; // Configure GPAGMUX for EPWM9B -// -// GpioCtrlRegs.GPAMUX2.bit.GPIO16 = 1; // Configure GPAMUX for EPWM9A -// GpioCtrlRegs.GPAMUX2.bit.GPIO17 = 1; // Configure GPAMUX for EPWM9B - - EDIS; -} - -// -// InitEPwm10Gpio - Initialize EPWM10 GPIOs -// -void InitEPwm10Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPFPUD.bit.GPIO163 = 1; // Disable pull-up on GPIO163 (EPWM10A) - GpioCtrlRegs.GPFPUD.bit.GPIO164 = 1; // Disable pull-up on GPIO164 (EPWM10B) -// GpioCtrlRegs.GPAPUD.bit.GPIO18 = 1; // Disable pull-up on GPIO18 (EPWM10A) -// GpioCtrlRegs.GPAPUD.bit.GPIO19 = 1; // Disable pull-up on GPIO19 (EPWM10B) - - // - // Configure EPWM-10 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM10 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPFMUX1.bit.GPIO163 = 1; // Configure GPIO163 as EPWM10A - GpioCtrlRegs.GPFMUX1.bit.GPIO164 = 1; // Configure GPIO164 as EPWM10B - -// // -// // Alternate mapping for EPWM-10. Uncomment if required. Write 0 to -// // GPAMUx register before configuring GPAGMux to avoid glitches. -// // -// GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 0; // Configure GPAMUX to 0 for GPIO18 -// GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 0; // Configure GPAMUX to 0 for GPIO19 -// -// GpioCtrlRegs.GPAGMUX2.bit.GPIO18 = 1; // Configure GPAGMUX for EPWM10A -// GpioCtrlRegs.GPAGMUX2.bit.GPIO19 = 1; // Configure GPAGMUX for EPWM10B -// -// GpioCtrlRegs.GPAMUX2.bit.GPIO18 = 1; // Configure GPAMUX for EPWM10A -// GpioCtrlRegs.GPAMUX2.bit.GPIO19 = 1; // Configure GPAMUX for EPWM10B - - EDIS; -} - -// -// InitEPwm11Gpio - Initialize EPWM11 GPIOs -// -void InitEPwm11Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPFPUD.bit.GPIO165 = 1; // Disable pull-up on GPIO165 (EPWM11A) - GpioCtrlRegs.GPFPUD.bit.GPIO166 = 1; // Disable pull-up on GPIO166 (EPWM11B) -// GpioCtrlRegs.GPAPUD.bit.GPIO20 = 1; // Disable pull-up on GPIO20 (EPWM11A) -// GpioCtrlRegs.GPAPUD.bit.GPIO21 = 1; // Disable pull-up on GPIO21 (EPWM11B) - - // - // Configure EPWM-11 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM11 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPFMUX1.bit.GPIO165 = 1; // Configure GPIO165 as EPWM11A - GpioCtrlRegs.GPFMUX1.bit.GPIO166 = 1; // Configure GPIO166 as EPWM11B - -// // -// // Alternate mapping for EPWM-11. Uncomment if required. Write 0 to -// // GPAMUx register before configuring GPAGMux to avoid glitches. -// // -// GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 0; // Configure GPAMUX to 0 for GPIO20 -// GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 0; // Configure GPAMUX to 0 for GPIO21 -// -// GpioCtrlRegs.GPAGMUX2.bit.GPIO20 = 1; // Configure GPAGMUX for EPWM11A -// GpioCtrlRegs.GPAGMUX2.bit.GPIO21 = 1; // Configure GPAGMUX for EPWM11B -// -// GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 1; // Configure GPAMUX for EPWM11A -// GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 1; // Configure GPAMUX for EPWM11B - - EDIS; -} - -// -// InitEPwm12Gpio - Initialize EPWM12 GPIOs -// -void InitEPwm12Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPFPUD.bit.GPIO167 = 1; // Disable pull-up on GPIO167 (EPWM12A) - GpioCtrlRegs.GPFPUD.bit.GPIO168 = 1; // Disable pull-up on GPIO168 (EPWM12B) -// GpioCtrlRegs.GPAPUD.bit.GPIO22 = 1; // Disable pull-up on GPIO22 (EPWM12A) -// GpioCtrlRegs.GPAPUD.bit.GPIO23 = 1; // Disable pull-up on GPIO23 (EPWM12B) - - // - // Configure EPWM-12 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM12 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPFMUX1.bit.GPIO167 = 1; // Configure GPIO167 as EPWM12A - GpioCtrlRegs.GPFMUX1.bit.GPIO168 = 1; // Configure GPIO168 as EPWM12B - -// // -// // Alternate mapping for EPWM-12. Uncomment if required. Write 0 to -// // GPAMUx register before configuring GPAGMux to avoid glitches. -// // -// GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 0; // Configure GPAMUX to 0 for GPIO22 -// GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 0; // Configure GPAMUX to 0 for GPIO23 -// -// GpioCtrlRegs.GPAGMUX2.bit.GPIO22 = 1; // Configure GPAGMUX for EPWM12A -// GpioCtrlRegs.GPAGMUX2.bit.GPIO23 = 1; // Configure GPAGMUX for EPWM12B -// -// GpioCtrlRegs.GPAMUX2.bit.GPIO22 = 1; // Configure GPAMUX for EPWM12A -// GpioCtrlRegs.GPAMUX2.bit.GPIO23 = 1; // Configure GPAMUX for EPWM12B - - EDIS; -} - -// -// InitEPwm13Gpio - Initialize EPWM13 GPIOs -// -void InitEPwm13Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPEPUD.bit.GPIO137 = 1; // Disable pull-up on GPIO137 (EPWM13A) - GpioCtrlRegs.GPEPUD.bit.GPIO138 = 1; // Disable pull-up on GPIO138 (EPWM13B) -// GpioCtrlRegs.GPAPUD.bit.GPIO24 = 1; // Disable pull-up on GPIO24 (EPWM13A) -// GpioCtrlRegs.GPAPUD.bit.GPIO25 = 1; // Disable pull-up on GPIO25 (EPWM13B) - - // - // Configure EPWM-13 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM13 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPEMUX1.bit.GPIO137 = 1; // Configure GPIO137 as EPWM13A - GpioCtrlRegs.GPEMUX1.bit.GPIO138 = 1; // Configure GPIO138 as EPWM13B - -// // -// // Alternate mapping for EPWM-13. Uncomment if required. Write 0 to -// // GPAMUx register before configuring GPAGMux to avoid glitches. -// // -// GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 0; // Configure GPAMUX to 0 for GPIO24 -// GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 0; // Configure GPAMUX to 0 for GPIO25 -// -// GpioCtrlRegs.GPAGMUX2.bit.GPIO24 = 3; // Configure GPAGMUX for EPWM13A -// GpioCtrlRegs.GPAGMUX2.bit.GPIO25 = 3; // Configure GPAGMUX for EPWM13B -// -// GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 1; // Configure GPAMUX for EPWM13A -// GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 1; // Configure GPAMUX for EPWM13B - - EDIS; -} - -// -// InitEPwm14Gpio - Initialize EPWM14 GPIOs -// -void InitEPwm14Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPEPUD.bit.GPIO139 = 1; // Disable pull-up on GPIO139 (EPWM14A) - GpioCtrlRegs.GPEPUD.bit.GPIO140 = 1; // Disable pull-up on GPIO140 (EPWM14B) -// GpioCtrlRegs.GPAPUD.bit.GPIO26 = 1; // Disable pull-up on GPIO26 (EPWM14A) -// GpioCtrlRegs.GPAPUD.bit.GPIO27 = 1; // Disable pull-up on GPIO27 (EPWM14B) - - // - // Configure EPWM-14 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM14 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPEMUX1.bit.GPIO139 = 1; // Configure GPIO139 as EPWM14A - GpioCtrlRegs.GPEMUX1.bit.GPIO140 = 1; // Configure GPIO140 as EPWM14B - -// // -// // Alternate mapping for EPWM-14. Uncomment if required. Write 0 to -// // GPAMUx register before configuring GPAGMux to avoid glitches. -// // -// GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 0; // Configure GPAMUX to 0 for GPIO26 -// GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 0; // Configure GPAMUX to 0 for GPIO27 -// -// GpioCtrlRegs.GPAGMUX2.bit.GPIO26 = 3; // Configure GPAGMUX for EPWM14A -// GpioCtrlRegs.GPAGMUX2.bit.GPIO27 = 3; // Configure GPAGMUX for EPWM14B -// -// GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 1; // Configure GPAMUX for EPWM14A -// GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 1; // Configure GPAMUX for EPWM14B - - EDIS; -} - -// -// InitEPwm15Gpio - Initialize EPWM15 GPIOs -// -void InitEPwm15Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPEPUD.bit.GPIO141 = 1; // Disable pull-up on GPIO141 (EPWM15A) - GpioCtrlRegs.GPEPUD.bit.GPIO142 = 1; // Disable pull-up on GPIO142 (EPWM15B) -// GpioCtrlRegs.GPAPUD.bit.GPIO28 = 1; // Disable pull-up on GPIO28 (EPWM15A) -// GpioCtrlRegs.GPAPUD.bit.GPIO29 = 1; // Disable pull-up on GPIO29 (EPWM15B) - - // - // Configure EPWM-15 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM15 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPEMUX1.bit.GPIO141 = 1; // Configure GPIO141 as EPWM15A - GpioCtrlRegs.GPEMUX1.bit.GPIO142 = 1; // Configure GPIO142 as EPWM15B - -// // -// // Alternate mapping for EPWM-15. Uncomment if required. Write 0 to -// // GPAMUx register before configuring GPAGMux to avoid glitches. -// // -// GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 0; // Configure GPAMUX to 0 for GPIO28 -// GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 0; // Configure GPAMUX to 0 for GPIO29 -// -// GpioCtrlRegs.GPAGMUX2.bit.GPIO28 = 3; // Configure GPAGMUX for EPWM15A -// GpioCtrlRegs.GPAGMUX2.bit.GPIO29 = 3; // Configure GPAGMUX for EPWM15B -// -// GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; // Configure GPAMUX for EPWM15A -// GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; // Configure GPAMUX for EPWM15B - - EDIS; -} - -// -// InitEPwm16Gpio - Initialize EPWM16 GPIOs -// -void InitEPwm16Gpio(void) -{ - EALLOW; - - // - // Disable internal pull-up for the selected output pins for reduced - // power consumption. Pull-ups can be enabled or disabled by the user. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPEPUD.bit.GPIO143 = 1; // Disable pull-up on GPIO141 (EPWM16A) - GpioCtrlRegs.GPEPUD.bit.GPIO144 = 1; // Disable pull-up on GPIO142 (EPWM16B) -// GpioCtrlRegs.GPAPUD.bit.GPIO30 = 1; // Disable pull-up on GPIO28 (EPWM16A) -// GpioCtrlRegs.GPAPUD.bit.GPIO31 = 1; // Disable pull-up on GPIO29 (EPWM16B) - - // - // Configure EPWM-16 pins using GPIO regs. This specifies which of the - // possible GPIO pins will be EPWM16 functional pins. - // Comment out other unwanted lines. - // - GpioCtrlRegs.GPEMUX1.bit.GPIO143 = 1; // Configure GPIO141 as EPWM16A - GpioCtrlRegs.GPEMUX2.bit.GPIO144 = 1; // Configure GPIO142 as EPWM16B - -// // -// // Alternate mapping for EPWM-16. Uncomment if required. Write 0 to -// // GPAMUx register before configuring GPAGMux to avoid glitches in Mux. -// // -// GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 0; // Configure GPAMUX to 0 for GPIO30 -// GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 0; // Configure GPAMUX to 0 for GPIO31 -// -// GpioCtrlRegs.GPAGMUX2.bit.GPIO30 = 3; // Configure GPAGMUx for EPWM16A -// GpioCtrlRegs.GPAGMUX2.bit.GPIO31 = 3; // Configure GPAGMux for EPWM16B -// -// GpioCtrlRegs.GPAMUX2.bit.GPIO30 = 1; // Configure GPAMUx for EPWM16A -// GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 1; // Configure GPAMux for EPWM16B - - EDIS; -} - -// -// End of File -// diff --git a/Projects/epwm_test/lib/f2838x_globalvariabledefs.c b/Projects/epwm_test/lib/f2838x_globalvariabledefs.c deleted file mode 100644 index db5a2a5..0000000 --- a/Projects/epwm_test/lib/f2838x_globalvariabledefs.c +++ /dev/null @@ -1,1561 +0,0 @@ -//########################################################################### -// -// FILE: f2838x_globalvariabledefs.c -// -// TITLE: f2838x Global Variables and Data Section Pragmas. -// -//########################################################################### -// $Copyright: -// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 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. -// -// Neither the name of Texas Instruments Incorporated nor the names of -// its contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS 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. -// $ -//########################################################################### - -#include "f2838x_device.h" // f2838x Headerfile Include File - -//--------------------------------------------------------------------------- -// Define Global Peripheral Variables: -// - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AccessProtectionRegsFile") -#else -#pragma DATA_SECTION(AccessProtectionRegs,"AccessProtectionRegsFile"); -#endif -volatile struct ACCESS_PROTECTION_REGS AccessProtectionRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AdcaRegsFile") -#else -#pragma DATA_SECTION(AdcaRegs,"AdcaRegsFile"); -#endif -volatile struct ADC_REGS AdcaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AdcbRegsFile") -#else -#pragma DATA_SECTION(AdcbRegs,"AdcbRegsFile"); -#endif -volatile struct ADC_REGS AdcbRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AdccRegsFile") -#else -#pragma DATA_SECTION(AdccRegs,"AdccRegsFile"); -#endif -volatile struct ADC_REGS AdccRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AdcdRegsFile") -#else -#pragma DATA_SECTION(AdcdRegs,"AdcdRegsFile"); -#endif -volatile struct ADC_REGS AdcdRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AdcaResultRegsFile") -#else -#pragma DATA_SECTION(AdcaResultRegs,"AdcaResultRegsFile"); -#endif -volatile struct ADC_RESULT_REGS AdcaResultRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AdcbResultRegsFile") -#else -#pragma DATA_SECTION(AdcbResultRegs,"AdcbResultRegsFile"); -#endif -volatile struct ADC_RESULT_REGS AdcbResultRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AdccResultRegsFile") -#else -#pragma DATA_SECTION(AdccResultRegs,"AdccResultRegsFile"); -#endif -volatile struct ADC_RESULT_REGS AdccResultRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AdcdResultRegsFile") -#else -#pragma DATA_SECTION(AdcdResultRegs,"AdcdResultRegsFile"); -#endif -volatile struct ADC_RESULT_REGS AdcdResultRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("AnalogSubsysRegsFile") -#else -#pragma DATA_SECTION(AnalogSubsysRegs,"AnalogSubsysRegsFile"); -#endif -volatile struct ANALOG_SUBSYS_REGS AnalogSubsysRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("BgcrcCpuRegsFile") -#else -#pragma DATA_SECTION(BgcrcCpuRegs,"BgcrcCpuRegsFile"); -#endif -volatile struct BGCRC_REGS BgcrcCpuRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("BgcrcCla1RegsFile") -#else -#pragma DATA_SECTION(BgcrcCla1Regs,"BgcrcCla1RegsFile"); -#endif -volatile struct BGCRC_REGS BgcrcCla1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("CanaRegsFile") -#else -#pragma DATA_SECTION(CanaRegs,"CanaRegsFile"); -#endif -volatile struct CAN_REGS CanaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("CanbRegsFile") -#else -#pragma DATA_SECTION(CanbRegs,"CanbRegsFile"); -#endif -volatile struct CAN_REGS CanbRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cla1RegsFile") -#else -#pragma DATA_SECTION(Cla1Regs,"Cla1RegsFile"); -#endif -volatile struct CLA_REGS Cla1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb1DataExchRegsFile") -#else -#pragma DATA_SECTION(Clb1DataExchRegs,"Clb1DataExchRegsFile"); -#endif -volatile struct CLB_DATA_EXCHANGE_REGS Clb1DataExchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb2DataExchRegsFile") -#else -#pragma DATA_SECTION(Clb2DataExchRegs,"Clb2DataExchRegsFile"); -#endif -volatile struct CLB_DATA_EXCHANGE_REGS Clb2DataExchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb3DataExchRegsFile") -#else -#pragma DATA_SECTION(Clb3DataExchRegs,"Clb3DataExchRegsFile"); -#endif -volatile struct CLB_DATA_EXCHANGE_REGS Clb3DataExchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb4DataExchRegsFile") -#else -#pragma DATA_SECTION(Clb4DataExchRegs,"Clb4DataExchRegsFile"); -#endif -volatile struct CLB_DATA_EXCHANGE_REGS Clb4DataExchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb5DataExchRegsFile") -#else -#pragma DATA_SECTION(Clb5DataExchRegs,"Clb5DataExchRegsFile"); -#endif -volatile struct CLB_DATA_EXCHANGE_REGS Clb5DataExchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb6DataExchRegsFile") -#else -#pragma DATA_SECTION(Clb6DataExchRegs,"Clb6DataExchRegsFile"); -#endif -volatile struct CLB_DATA_EXCHANGE_REGS Clb6DataExchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb7DataExchRegsFile") -#else -#pragma DATA_SECTION(Clb7DataExchRegs,"Clb7DataExchRegsFile"); -#endif -volatile struct CLB_DATA_EXCHANGE_REGS Clb7DataExchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb8DataExchRegsFile") -#else -#pragma DATA_SECTION(Clb8DataExchRegs,"Clb8DataExchRegsFile"); -#endif -volatile struct CLB_DATA_EXCHANGE_REGS Clb8DataExchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb1LogicCfgRegsFile") -#else -#pragma DATA_SECTION(Clb1LogicCfgRegs,"Clb1LogicCfgRegsFile"); -#endif -volatile struct CLB_LOGIC_CONFIG_REGS Clb1LogicCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb2LogicCfgRegsFile") -#else -#pragma DATA_SECTION(Clb2LogicCfgRegs,"Clb2LogicCfgRegsFile"); -#endif -volatile struct CLB_LOGIC_CONFIG_REGS Clb2LogicCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb3LogicCfgRegsFile") -#else -#pragma DATA_SECTION(Clb3LogicCfgRegs,"Clb3LogicCfgRegsFile"); -#endif -volatile struct CLB_LOGIC_CONFIG_REGS Clb3LogicCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb4LogicCfgRegsFile") -#else -#pragma DATA_SECTION(Clb4LogicCfgRegs,"Clb4LogicCfgRegsFile"); -#endif -volatile struct CLB_LOGIC_CONFIG_REGS Clb4LogicCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb5LogicCfgRegsFile") -#else -#pragma DATA_SECTION(Clb5LogicCfgRegs,"Clb5LogicCfgRegsFile"); -#endif -volatile struct CLB_LOGIC_CONFIG_REGS Clb5LogicCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb6LogicCfgRegsFile") -#else -#pragma DATA_SECTION(Clb6LogicCfgRegs,"Clb6LogicCfgRegsFile"); -#endif -volatile struct CLB_LOGIC_CONFIG_REGS Clb6LogicCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb7LogicCfgRegsFile") -#else -#pragma DATA_SECTION(Clb7LogicCfgRegs,"Clb7LogicCfgRegsFile"); -#endif -volatile struct CLB_LOGIC_CONFIG_REGS Clb7LogicCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb8LogicCfgRegsFile") -#else -#pragma DATA_SECTION(Clb8LogicCfgRegs,"Clb8LogicCfgRegsFile"); -#endif -volatile struct CLB_LOGIC_CONFIG_REGS Clb8LogicCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb1LogicCtrlRegsFile") -#else -#pragma DATA_SECTION(Clb1LogicCtrlRegs,"Clb1LogicCtrlRegsFile"); -#endif -volatile struct CLB_LOGIC_CONTROL_REGS Clb1LogicCtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb2LogicCtrlRegsFile") -#else -#pragma DATA_SECTION(Clb2LogicCtrlRegs,"Clb2LogicCtrlRegsFile"); -#endif -volatile struct CLB_LOGIC_CONTROL_REGS Clb2LogicCtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb3LogicCtrlRegsFile") -#else -#pragma DATA_SECTION(Clb3LogicCtrlRegs,"Clb3LogicCtrlRegsFile"); -#endif -volatile struct CLB_LOGIC_CONTROL_REGS Clb3LogicCtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb4LogicCtrlRegsFile") -#else -#pragma DATA_SECTION(Clb4LogicCtrlRegs,"Clb4LogicCtrlRegsFile"); -#endif -volatile struct CLB_LOGIC_CONTROL_REGS Clb4LogicCtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb5LogicCtrlRegsFile") -#else -#pragma DATA_SECTION(Clb5LogicCtrlRegs,"Clb5LogicCtrlRegsFile"); -#endif -volatile struct CLB_LOGIC_CONTROL_REGS Clb5LogicCtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb6LogicCtrlRegsFile") -#else -#pragma DATA_SECTION(Clb6LogicCtrlRegs,"Clb6LogicCtrlRegsFile"); -#endif -volatile struct CLB_LOGIC_CONTROL_REGS Clb6LogicCtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb7LogicCtrlRegsFile") -#else -#pragma DATA_SECTION(Clb7LogicCtrlRegs,"Clb7LogicCtrlRegsFile"); -#endif -volatile struct CLB_LOGIC_CONTROL_REGS Clb7LogicCtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Clb8LogicCtrlRegsFile") -#else -#pragma DATA_SECTION(Clb8LogicCtrlRegs,"Clb8LogicCtrlRegsFile"); -#endif -volatile struct CLB_LOGIC_CONTROL_REGS Clb8LogicCtrlRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("CLBXbarRegsFile") -#else -#pragma DATA_SECTION(CLBXbarRegs,"CLBXbarRegsFile"); -#endif -volatile struct CLB_XBAR_REGS CLBXbarRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ClkCfgRegsFile") -#else -#pragma DATA_SECTION(ClkCfgRegs,"ClkCfgRegsFile"); -#endif -volatile struct CLK_CFG_REGS ClkCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cmpss1RegsFile") -#else -#pragma DATA_SECTION(Cmpss1Regs,"Cmpss1RegsFile"); -#endif -volatile struct CMPSS_REGS Cmpss1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cmpss2RegsFile") -#else -#pragma DATA_SECTION(Cmpss2Regs,"Cmpss2RegsFile"); -#endif -volatile struct CMPSS_REGS Cmpss2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cmpss3RegsFile") -#else -#pragma DATA_SECTION(Cmpss3Regs,"Cmpss3RegsFile"); -#endif -volatile struct CMPSS_REGS Cmpss3Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cmpss4RegsFile") -#else -#pragma DATA_SECTION(Cmpss4Regs,"Cmpss4RegsFile"); -#endif -volatile struct CMPSS_REGS Cmpss4Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cmpss5RegsFile") -#else -#pragma DATA_SECTION(Cmpss5Regs,"Cmpss5RegsFile"); -#endif -volatile struct CMPSS_REGS Cmpss5Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cmpss6RegsFile") -#else -#pragma DATA_SECTION(Cmpss6Regs,"Cmpss6RegsFile"); -#endif -volatile struct CMPSS_REGS Cmpss6Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cmpss7RegsFile") -#else -#pragma DATA_SECTION(Cmpss7Regs,"Cmpss7RegsFile"); -#endif -volatile struct CMPSS_REGS Cmpss7Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cmpss8RegsFile") -#else -#pragma DATA_SECTION(Cmpss8Regs,"Cmpss8RegsFile"); -#endif -volatile struct CMPSS_REGS Cmpss8Regs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("CmConfRegsFile") -#else -#pragma DATA_SECTION(CmConfRegs,"CmConfRegsFile"); -#endif -volatile struct CM_CONF_REGS CmConfRegs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cpu1toCmIpcRegsFile") -#else -#pragma DATA_SECTION(Cpu1toCmIpcRegs,"Cpu1toCmIpcRegsFile"); -#endif -volatile struct CPU1TOCM_IPC_REGS_CPU1VIEW Cpu1toCmIpcRegs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cpu1toCpu2IpcRegsFile") -#else -#pragma DATA_SECTION(Cpu1toCpu2IpcRegs,"Cpu1toCpu2IpcRegsFile"); -#endif -volatile struct CPU1TOCPU2_IPC_REGS_CPU1VIEW Cpu1toCpu2IpcRegs; -#endif // ifdef CPU1 - -#ifdef CPU2 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cpu2toCpu1IpcRegsFile") -#else -#pragma DATA_SECTION(Cpu2toCpu1IpcRegs,"Cpu2toCpu1IpcRegsFile"); -#endif -volatile struct CPU1TOCPU2_IPC_REGS_CPU2VIEW Cpu2toCpu1IpcRegs; -#endif // ifdef CPU2 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SysPeriphAcRegsFile") -#else -#pragma DATA_SECTION(SysPeriphAcRegs,"SysPeriphAcRegsFile"); -#endif -volatile struct CPU1_PERIPH_AC_REGS SysPeriphAcRegs; -#endif // ifdef CPU1 - -#ifdef CPU2 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Cpu2toCmIpcRegsFile") -#else -#pragma DATA_SECTION(Cpu2toCmIpcRegs,"Cpu2toCmIpcRegsFile"); -#endif -volatile struct CPU2TOCM_IPC_REGS_CPU2VIEW Cpu2toCmIpcRegs; -#endif // ifdef CPU2 - -#ifdef CPU2 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SysPeriphAcRegsFile") -#else -#pragma DATA_SECTION(SysPeriphAcRegs,"SysPeriphAcRegsFile"); -#endif -volatile struct CPU2_PERIPH_AC_REGS SysPeriphAcRegs; -#endif // ifdef CPU2 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("CpuTimer0RegsFile") -#else -#pragma DATA_SECTION(CpuTimer0Regs,"CpuTimer0RegsFile"); -#endif -volatile struct CPUTIMER_REGS CpuTimer0Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("CpuTimer1RegsFile") -#else -#pragma DATA_SECTION(CpuTimer1Regs,"CpuTimer1RegsFile"); -#endif -volatile struct CPUTIMER_REGS CpuTimer1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("CpuTimer2RegsFile") -#else -#pragma DATA_SECTION(CpuTimer2Regs,"CpuTimer2RegsFile"); -#endif -volatile struct CPUTIMER_REGS CpuTimer2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("CpuSysRegsFile") -#else -#pragma DATA_SECTION(CpuSysRegs,"CpuSysRegsFile"); -#endif -volatile struct CPU_SYS_REGS CpuSysRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DacaRegsFile") -#else -#pragma DATA_SECTION(DacaRegs,"DacaRegsFile"); -#endif -volatile struct DAC_REGS DacaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DacbRegsFile") -#else -#pragma DATA_SECTION(DacbRegs,"DacbRegsFile"); -#endif -volatile struct DAC_REGS DacbRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DaccRegsFile") -#else -#pragma DATA_SECTION(DaccRegs,"DaccRegsFile"); -#endif -volatile struct DAC_REGS DaccRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Dcc0RegsFile") -#else -#pragma DATA_SECTION(Dcc0Regs,"Dcc0RegsFile"); -#endif -volatile struct DCC_REGS Dcc0Regs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Dcc1RegsFile") -#else -#pragma DATA_SECTION(Dcc1Regs,"Dcc1RegsFile"); -#endif -volatile struct DCC_REGS Dcc1Regs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Dcc2RegsFile") -#else -#pragma DATA_SECTION(Dcc2Regs,"Dcc2RegsFile"); -#endif -volatile struct DCC_REGS Dcc2Regs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DcsmCommonRegsFile") -#else -#pragma DATA_SECTION(DcsmCommonRegs,"DcsmCommonRegsFile"); -#endif -volatile struct DCSM_COMMON_REGS DcsmCommonRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DcsmZ1OtpRegsFile") -#else -#pragma DATA_SECTION(DcsmZ1OtpRegs,"DcsmZ1OtpRegsFile"); -#endif -volatile struct DCSM_Z1_OTP DcsmZ1OtpRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DcsmZ1RegsFile") -#else -#pragma DATA_SECTION(DcsmZ1Regs,"DcsmZ1RegsFile"); -#endif -volatile struct DCSM_Z1_REGS DcsmZ1Regs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DcsmZ2OtpRegsFile") -#else -#pragma DATA_SECTION(DcsmZ2OtpRegs,"DcsmZ2OtpRegsFile"); -#endif -volatile struct DCSM_Z2_OTP DcsmZ2OtpRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DcsmZ2RegsFile") -#else -#pragma DATA_SECTION(DcsmZ2Regs,"DcsmZ2RegsFile"); -#endif -volatile struct DCSM_Z2_REGS DcsmZ2Regs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DevCfgRegsFile") -#else -#pragma DATA_SECTION(DevCfgRegs,"DevCfgRegsFile"); -#endif -volatile struct DEV_CFG_REGS DevCfgRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DmaClaSrcSelRegsFile") -#else -#pragma DATA_SECTION(DmaClaSrcSelRegs,"DmaClaSrcSelRegsFile"); -#endif -volatile struct DMA_CLA_SRC_SEL_REGS DmaClaSrcSelRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("DmaRegsFile") -#else -#pragma DATA_SECTION(DmaRegs,"DmaRegsFile"); -#endif -volatile struct DMA_REGS DmaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ECap1RegsFile") -#else -#pragma DATA_SECTION(ECap1Regs,"ECap1RegsFile"); -#endif -volatile struct ECAP_REGS ECap1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ECap2RegsFile") -#else -#pragma DATA_SECTION(ECap2Regs,"ECap2RegsFile"); -#endif -volatile struct ECAP_REGS ECap2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ECap3RegsFile") -#else -#pragma DATA_SECTION(ECap3Regs,"ECap3RegsFile"); -#endif -volatile struct ECAP_REGS ECap3Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ECap4RegsFile") -#else -#pragma DATA_SECTION(ECap4Regs,"ECap4RegsFile"); -#endif -volatile struct ECAP_REGS ECap4Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ECap5RegsFile") -#else -#pragma DATA_SECTION(ECap5Regs,"ECap5RegsFile"); -#endif -volatile struct ECAP_REGS ECap5Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ECap6RegsFile") -#else -#pragma DATA_SECTION(ECap6Regs,"ECap6RegsFile"); -#endif -volatile struct ECAP_REGS ECap6Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ECap7RegsFile") -#else -#pragma DATA_SECTION(ECap7Regs,"ECap7RegsFile"); -#endif -volatile struct ECAP_REGS ECap7Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Emif1ConfigRegsFile") -#else -#pragma DATA_SECTION(Emif1ConfigRegs,"Emif1ConfigRegsFile"); -#endif -volatile struct EMIF1_CONFIG_REGS Emif1ConfigRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Emif2ConfigRegsFile") -#else -#pragma DATA_SECTION(Emif2ConfigRegs,"Emif2ConfigRegsFile"); -#endif -volatile struct EMIF2_CONFIG_REGS Emif2ConfigRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Emif1RegsFile") -#else -#pragma DATA_SECTION(Emif1Regs,"Emif1RegsFile"); -#endif -volatile struct EMIF_REGS Emif1Regs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Emif2RegsFile") -#else -#pragma DATA_SECTION(Emif2Regs,"Emif2RegsFile"); -#endif -volatile struct EMIF_REGS Emif2Regs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm1RegsFile") -#else -#pragma DATA_SECTION(EPwm1Regs,"EPwm1RegsFile"); -#endif -volatile struct EPWM_REGS EPwm1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm2RegsFile") -#else -#pragma DATA_SECTION(EPwm2Regs,"EPwm2RegsFile"); -#endif -volatile struct EPWM_REGS EPwm2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm3RegsFile") -#else -#pragma DATA_SECTION(EPwm3Regs,"EPwm3RegsFile"); -#endif -volatile struct EPWM_REGS EPwm3Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm4RegsFile") -#else -#pragma DATA_SECTION(EPwm4Regs,"EPwm4RegsFile"); -#endif -volatile struct EPWM_REGS EPwm4Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm5RegsFile") -#else -#pragma DATA_SECTION(EPwm5Regs,"EPwm5RegsFile"); -#endif -volatile struct EPWM_REGS EPwm5Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm6RegsFile") -#else -#pragma DATA_SECTION(EPwm6Regs,"EPwm6RegsFile"); -#endif -volatile struct EPWM_REGS EPwm6Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm7RegsFile") -#else -#pragma DATA_SECTION(EPwm7Regs,"EPwm7RegsFile"); -#endif -volatile struct EPWM_REGS EPwm7Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm8RegsFile") -#else -#pragma DATA_SECTION(EPwm8Regs,"EPwm8RegsFile"); -#endif -volatile struct EPWM_REGS EPwm8Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm9RegsFile") -#else -#pragma DATA_SECTION(EPwm9Regs,"EPwm9RegsFile"); -#endif -volatile struct EPWM_REGS EPwm9Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm10RegsFile") -#else -#pragma DATA_SECTION(EPwm10Regs,"EPwm10RegsFile"); -#endif -volatile struct EPWM_REGS EPwm10Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm11RegsFile") -#else -#pragma DATA_SECTION(EPwm11Regs,"EPwm11RegsFile"); -#endif -volatile struct EPWM_REGS EPwm11Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm12RegsFile") -#else -#pragma DATA_SECTION(EPwm12Regs,"EPwm12RegsFile"); -#endif -volatile struct EPWM_REGS EPwm12Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm13RegsFile") -#else -#pragma DATA_SECTION(EPwm13Regs,"EPwm13RegsFile"); -#endif -volatile struct EPWM_REGS EPwm13Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm14RegsFile") -#else -#pragma DATA_SECTION(EPwm14Regs,"EPwm14RegsFile"); -#endif -volatile struct EPWM_REGS EPwm14Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm15RegsFile") -#else -#pragma DATA_SECTION(EPwm15Regs,"EPwm15RegsFile"); -#endif -volatile struct EPWM_REGS EPwm15Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwm16RegsFile") -#else -#pragma DATA_SECTION(EPwm16Regs,"EPwm16RegsFile"); -#endif -volatile struct EPWM_REGS EPwm16Regs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EPwmXbarRegsFile") -#else -#pragma DATA_SECTION(EPwmXbarRegs,"EPwmXbarRegsFile"); -#endif -volatile struct EPWM_XBAR_REGS EPwmXbarRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EQep1RegsFile") -#else -#pragma DATA_SECTION(EQep1Regs,"EQep1RegsFile"); -#endif -volatile struct EQEP_REGS EQep1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EQep2RegsFile") -#else -#pragma DATA_SECTION(EQep2Regs,"EQep2RegsFile"); -#endif -volatile struct EQEP_REGS EQep2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EQep3RegsFile") -#else -#pragma DATA_SECTION(EQep3Regs,"EQep3RegsFile"); -#endif -volatile struct EQEP_REGS EQep3Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCounter1RegsFile") -#else -#pragma DATA_SECTION(EradCounter1Regs,"EradCounter1RegsFile"); -#endif -volatile struct ERAD_COUNTER_REGS EradCounter1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCounter2RegsFile") -#else -#pragma DATA_SECTION(EradCounter2Regs,"EradCounter2RegsFile"); -#endif -volatile struct ERAD_COUNTER_REGS EradCounter2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCounter3RegsFile") -#else -#pragma DATA_SECTION(EradCounter3Regs,"EradCounter3RegsFile"); -#endif -volatile struct ERAD_COUNTER_REGS EradCounter3Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCounter4RegsFile") -#else -#pragma DATA_SECTION(EradCounter4Regs,"EradCounter4RegsFile"); -#endif -volatile struct ERAD_COUNTER_REGS EradCounter4Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRCGlobalRegsFile") -#else -#pragma DATA_SECTION(EradCRCGlobalRegs,"EradCRCGlobalRegsFile"); -#endif -volatile struct ERAD_CRC_GLOBAL_REGS EradCRCGlobalRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRC1RegsFile") -#else -#pragma DATA_SECTION(EradCRC1Regs,"EradCRC1RegsFile"); -#endif -volatile struct ERAD_CRC_REGS EradCRC1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRC2RegsFile") -#else -#pragma DATA_SECTION(EradCRC2Regs,"EradCRC2RegsFile"); -#endif -volatile struct ERAD_CRC_REGS EradCRC2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRC3RegsFile") -#else -#pragma DATA_SECTION(EradCRC3Regs,"EradCRC3RegsFile"); -#endif -volatile struct ERAD_CRC_REGS EradCRC3Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRC4RegsFile") -#else -#pragma DATA_SECTION(EradCRC4Regs,"EradCRC4RegsFile"); -#endif -volatile struct ERAD_CRC_REGS EradCRC4Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRC5RegsFile") -#else -#pragma DATA_SECTION(EradCRC5Regs,"EradCRC5RegsFile"); -#endif -volatile struct ERAD_CRC_REGS EradCRC5Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRC6RegsFile") -#else -#pragma DATA_SECTION(EradCRC6Regs,"EradCRC6RegsFile"); -#endif -volatile struct ERAD_CRC_REGS EradCRC6Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRC7RegsFile") -#else -#pragma DATA_SECTION(EradCRC7Regs,"EradCRC7RegsFile"); -#endif -volatile struct ERAD_CRC_REGS EradCRC7Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradCRC8RegsFile") -#else -#pragma DATA_SECTION(EradCRC8Regs,"EradCRC8RegsFile"); -#endif -volatile struct ERAD_CRC_REGS EradCRC8Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradGlobalRegsFile") -#else -#pragma DATA_SECTION(EradGlobalRegs,"EradGlobalRegsFile"); -#endif -volatile struct ERAD_GLOBAL_REGS EradGlobalRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradHWBP1RegsFile") -#else -#pragma DATA_SECTION(EradHWBP1Regs,"EradHWBP1RegsFile"); -#endif -volatile struct ERAD_HWBP_REGS EradHWBP1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradHWBP2RegsFile") -#else -#pragma DATA_SECTION(EradHWBP2Regs,"EradHWBP2RegsFile"); -#endif -volatile struct ERAD_HWBP_REGS EradHWBP2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradHWBP3RegsFile") -#else -#pragma DATA_SECTION(EradHWBP3Regs,"EradHWBP3RegsFile"); -#endif -volatile struct ERAD_HWBP_REGS EradHWBP3Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradHWBP4RegsFile") -#else -#pragma DATA_SECTION(EradHWBP4Regs,"EradHWBP4RegsFile"); -#endif -volatile struct ERAD_HWBP_REGS EradHWBP4Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradHWBP5RegsFile") -#else -#pragma DATA_SECTION(EradHWBP5Regs,"EradHWBP5RegsFile"); -#endif -volatile struct ERAD_HWBP_REGS EradHWBP5Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradHWBP6RegsFile") -#else -#pragma DATA_SECTION(EradHWBP6Regs,"EradHWBP6RegsFile"); -#endif -volatile struct ERAD_HWBP_REGS EradHWBP6Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradHWBP7RegsFile") -#else -#pragma DATA_SECTION(EradHWBP7Regs,"EradHWBP7RegsFile"); -#endif -volatile struct ERAD_HWBP_REGS EradHWBP7Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EradHWBP8RegsFile") -#else -#pragma DATA_SECTION(EradHWBP8Regs,"EradHWBP8RegsFile"); -#endif -volatile struct ERAD_HWBP_REGS EradHWBP8Regs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EscssConfigRegsFile") -#else -#pragma DATA_SECTION(EscssConfigRegs,"EscssConfigRegsFile"); -#endif -volatile struct ESCSS_CONFIG_REGS EscssConfigRegs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("EscssRegsFile") -#else -#pragma DATA_SECTION(EscssRegs,"EscssRegsFile"); -#endif -volatile struct ESCSS_REGS EscssRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Flash0CtrlRegsFile") -#else -#pragma DATA_SECTION(Flash0CtrlRegs,"Flash0CtrlRegsFile"); -#endif -volatile struct FLASH_CTRL_REGS Flash0CtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Flash0EccRegsFile") -#else -#pragma DATA_SECTION(Flash0EccRegs,"Flash0EccRegsFile"); -#endif -volatile struct FLASH_ECC_REGS Flash0EccRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiRxaRegsFile") -#else -#pragma DATA_SECTION(FsiRxaRegs,"FsiRxaRegsFile"); -#endif -volatile struct FSI_RX_REGS FsiRxaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiRxbRegsFile") -#else -#pragma DATA_SECTION(FsiRxbRegs,"FsiRxbRegsFile"); -#endif -volatile struct FSI_RX_REGS FsiRxbRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiRxcRegsFile") -#else -#pragma DATA_SECTION(FsiRxcRegs,"FsiRxcRegsFile"); -#endif -volatile struct FSI_RX_REGS FsiRxcRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiRxdRegsFile") -#else -#pragma DATA_SECTION(FsiRxdRegs,"FsiRxdRegsFile"); -#endif -volatile struct FSI_RX_REGS FsiRxdRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiRxeRegsFile") -#else -#pragma DATA_SECTION(FsiRxeRegs,"FsiRxeRegsFile"); -#endif -volatile struct FSI_RX_REGS FsiRxeRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiRxfRegsFile") -#else -#pragma DATA_SECTION(FsiRxfRegs,"FsiRxfRegsFile"); -#endif -volatile struct FSI_RX_REGS FsiRxfRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiRxgRegsFile") -#else -#pragma DATA_SECTION(FsiRxgRegs,"FsiRxgRegsFile"); -#endif -volatile struct FSI_RX_REGS FsiRxgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiRxhRegsFile") -#else -#pragma DATA_SECTION(FsiRxhRegs,"FsiRxhRegsFile"); -#endif -volatile struct FSI_RX_REGS FsiRxhRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiTxaRegsFile") -#else -#pragma DATA_SECTION(FsiTxaRegs,"FsiTxaRegsFile"); -#endif -volatile struct FSI_TX_REGS FsiTxaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("FsiTxbRegsFile") -#else -#pragma DATA_SECTION(FsiTxbRegs,"FsiTxbRegsFile"); -#endif -volatile struct FSI_TX_REGS FsiTxbRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("GpioCtrlRegsFile") -#else -#pragma DATA_SECTION(GpioCtrlRegs,"GpioCtrlRegsFile"); -#endif -volatile struct GPIO_CTRL_REGS GpioCtrlRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("GpioDataReadRegsFile") -#else -#pragma DATA_SECTION(GpioDataReadRegs,"GpioDataReadRegsFile"); -#endif -volatile struct GPIO_DATA_READ_REGS GpioDataReadRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("GpioDataRegsFile") -#else -#pragma DATA_SECTION(GpioDataRegs,"GpioDataRegsFile"); -#endif -volatile struct GPIO_DATA_REGS GpioDataRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("HRCap6RegsFile") -#else -#pragma DATA_SECTION(HRCap6Regs,"HRCap6RegsFile"); -#endif -volatile struct HRCAP_REGS HRCap6Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("HRCap7RegsFile") -#else -#pragma DATA_SECTION(HRCap7Regs,"HRCap7RegsFile"); -#endif -volatile struct HRCAP_REGS HRCap7Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("I2caRegsFile") -#else -#pragma DATA_SECTION(I2caRegs,"I2caRegsFile"); -#endif -volatile struct I2C_REGS I2caRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("I2cbRegsFile") -#else -#pragma DATA_SECTION(I2cbRegs,"I2cbRegsFile"); -#endif -volatile struct I2C_REGS I2cbRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("InputXbarRegsFile") -#else -#pragma DATA_SECTION(InputXbarRegs,"InputXbarRegsFile"); -#endif -volatile struct INPUT_XBAR_REGS InputXbarRegs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ClbInputXbarRegsFile") -#else -#pragma DATA_SECTION(ClbInputXbarRegs,"ClbInputXbarRegsFile"); -#endif -volatile struct INPUT_XBAR_REGS ClbInputXbarRegs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("McanaSsRegsFile") -#else -#pragma DATA_SECTION(McanaSsRegs,"McanaSsRegsFile"); -#endif -volatile struct MCANSS_REGS McanaSsRegs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("McanaErrRegsFile") -#else -#pragma DATA_SECTION(McanaErrRegs,"McanaErrRegsFile"); -#endif -volatile struct MCAN_ERROR_REGS McanaErrRegs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("McanaRegsFile") -#else -#pragma DATA_SECTION(McanaRegs,"McanaRegsFile"); -#endif -volatile struct MCAN_REGS McanaRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("MemoryErrorRegsFile") -#else -#pragma DATA_SECTION(MemoryErrorRegs,"MemoryErrorRegsFile"); -#endif -volatile struct MEMORY_ERROR_REGS MemoryErrorRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("MemCfgRegsFile") -#else -#pragma DATA_SECTION(MemCfgRegs,"MemCfgRegsFile"); -#endif -volatile struct MEM_CFG_REGS MemCfgRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("McbspaRegsFile") -#else -#pragma DATA_SECTION(McbspaRegs,"McbspaRegsFile"); -#endif -volatile struct McBSP_REGS McbspaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("McbspbRegsFile") -#else -#pragma DATA_SECTION(McbspbRegs,"McbspbRegsFile"); -#endif -volatile struct McBSP_REGS McbspbRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("NmiIntruptRegsFile") -#else -#pragma DATA_SECTION(NmiIntruptRegs,"NmiIntruptRegsFile"); -#endif -volatile struct NMI_INTRUPT_REGS NmiIntruptRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("OutputXbarRegsFile") -#else -#pragma DATA_SECTION(OutputXbarRegs,"OutputXbarRegsFile"); -#endif -volatile struct OUTPUT_XBAR_REGS OutputXbarRegs; -#endif // ifdef CPU1 - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ClbOutputXbarRegsFile") -#else -#pragma DATA_SECTION(ClbOutputXbarRegs,"ClbOutputXbarRegsFile"); -#endif -volatile struct OUTPUT_XBAR_REGS ClbOutputXbarRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("PieCtrlRegsFile") -#else -#pragma DATA_SECTION(PieCtrlRegs,"PieCtrlRegsFile"); -#endif -volatile struct PIE_CTRL_REGS PieCtrlRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("PieVectTableFile") -#else -#pragma DATA_SECTION(PieVectTable,"PieVectTableFile"); -#endif -volatile struct PIE_VECT_TABLE PieVectTable; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("PmbusaRegsFile") -#else -#pragma DATA_SECTION(PmbusaRegs,"PmbusaRegsFile"); -#endif -volatile struct PMBUS_REGS PmbusaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("RomPrefetchRegsFile") -#else -#pragma DATA_SECTION(RomPrefetchRegs,"RomPrefetchRegsFile"); -#endif -volatile struct ROM_PREFETCH_REGS RomPrefetchRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("RomWaitStateRegsFile") -#else -#pragma DATA_SECTION(RomWaitStateRegs,"RomWaitStateRegsFile"); -#endif -volatile struct ROM_WAIT_STATE_REGS RomWaitStateRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SciaRegsFile") -#else -#pragma DATA_SECTION(SciaRegs,"SciaRegsFile"); -#endif -volatile struct SCI_REGS SciaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ScibRegsFile") -#else -#pragma DATA_SECTION(ScibRegs,"ScibRegsFile"); -#endif -volatile struct SCI_REGS ScibRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ScicRegsFile") -#else -#pragma DATA_SECTION(ScicRegs,"ScicRegsFile"); -#endif -volatile struct SCI_REGS ScicRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("ScidRegsFile") -#else -#pragma DATA_SECTION(ScidRegs,"ScidRegsFile"); -#endif -volatile struct SCI_REGS ScidRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Sdfm1RegsFile") -#else -#pragma DATA_SECTION(Sdfm1Regs,"Sdfm1RegsFile"); -#endif -volatile struct SDFM_REGS Sdfm1Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("Sdfm2RegsFile") -#else -#pragma DATA_SECTION(Sdfm2Regs,"Sdfm2RegsFile"); -#endif -volatile struct SDFM_REGS Sdfm2Regs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SpiaRegsFile") -#else -#pragma DATA_SECTION(SpiaRegs,"SpiaRegsFile"); -#endif -volatile struct SPI_REGS SpiaRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SpibRegsFile") -#else -#pragma DATA_SECTION(SpibRegs,"SpibRegsFile"); -#endif -volatile struct SPI_REGS SpibRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SpicRegsFile") -#else -#pragma DATA_SECTION(SpicRegs,"SpicRegsFile"); -#endif -volatile struct SPI_REGS SpicRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SpidRegsFile") -#else -#pragma DATA_SECTION(SpidRegs,"SpidRegsFile"); -#endif -volatile struct SPI_REGS SpidRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SyncSocRegsFile") -#else -#pragma DATA_SECTION(SyncSocRegs,"SyncSocRegsFile"); -#endif -volatile struct SYNC_SOC_REGS SyncSocRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("SysStatusRegsFile") -#else -#pragma DATA_SECTION(SysStatusRegs,"SysStatusRegsFile"); -#endif -volatile struct SYS_STATUS_REGS SysStatusRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("TestErrorRegsFile") -#else -#pragma DATA_SECTION(TestErrorRegs,"TestErrorRegsFile"); -#endif -volatile struct TEST_ERROR_REGS TestErrorRegs; - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("WdRegsFile") -#else -#pragma DATA_SECTION(WdRegs,"WdRegsFile"); -#endif -volatile struct WD_REGS WdRegs; - -#ifdef CPU1 -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("XbarRegsFile") -#else -#pragma DATA_SECTION(XbarRegs,"XbarRegsFile"); -#endif -volatile struct XBAR_REGS XbarRegs; -#endif // ifdef CPU1 - -//---------------------------------------- -#ifdef __cplusplus -#pragma DATA_SECTION("XintRegsFile") -#else -#pragma DATA_SECTION(XintRegs,"XintRegsFile"); -#endif -volatile struct XINT_REGS XintRegs; - - - -//=========================================================================== -// End of file. -//=========================================================================== - - diff --git a/Projects/epwm_test/lib/f2838x_gpio.c b/Projects/epwm_test/lib/f2838x_gpio.c deleted file mode 100644 index aca3330..0000000 --- a/Projects/epwm_test/lib/f2838x_gpio.c +++ /dev/null @@ -1,472 +0,0 @@ -//########################################################################### -// -// FILE: f2838x_gpio.c -// -// TITLE: GPIO module support functions -// -//########################################################################### -// -// -// $Copyright: -// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 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. -// -// Neither the name of Texas Instruments Incorporated nor the names of -// its contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS 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. -// $ -//########################################################################### - -// -// Included Files -// -#include "f2838x_device.h" -#include "f2838x_examples.h" - -// -//Low-level functions for GPIO configuration (CPU1 only) -// - -#ifdef CPU1 - // - // InitGpio - Sets all pins to be muxed to GPIO in input mode. - // Also resets CPU control to CPU1 and disables open - // drain and polarity inversion and sets the qualification to - // synchronous. Also unlocks all GPIOs. Only one CPU should call - // this function. - // - void InitGpio() - { - volatile Uint32 *gpioBaseAddr; - Uint16 regOffset; - - // - //Disable pin locks - // - EALLOW; - GpioCtrlRegs.GPALOCK.all = 0x00000000; - GpioCtrlRegs.GPBLOCK.all = 0x00000000; - GpioCtrlRegs.GPCLOCK.all = 0x00000000; - GpioCtrlRegs.GPDLOCK.all = 0x00000000; - GpioCtrlRegs.GPELOCK.all = 0x00000000; - GpioCtrlRegs.GPFLOCK.all = 0x00000000; - - // - // Fill all registers with zeros. Writing to each register separately - // for six GPIO modules would make this function *very* long. - // Fortunately, we'd be writing them all with zeros anyway, so this - // saves a lot of space. - // - gpioBaseAddr = (Uint32 *)&GpioCtrlRegs; - for (regOffset = 0; regOffset < sizeof(GpioCtrlRegs)/2; regOffset++) - { - // - //Hack to avoid enabling pull-ups on all pins. GPyPUD is offset - //0x0C in each register group of 0x40 words. Since this is a - //32-bit pointer, the addresses must be divided by 2. - // - if (regOffset % (0x40/2) != (0x0C/2)) - { - gpioBaseAddr[regOffset] = 0x00000000; - } - } - - gpioBaseAddr = (Uint32 *)&GpioDataRegs; - for (regOffset = 0; regOffset < sizeof(GpioDataRegs)/2; regOffset++) - { - gpioBaseAddr[regOffset] = 0x00000000; - } - - EDIS; - } - - // - // GPIO_SetupPinMux - Set the peripheral muxing for the specified pin. The - // appropriate parameters can be found in the GPIO Muxed - // Pins table(4.4) in the datasheet. Use the GPIO index - // row (0 to 15) to select a muxing option for the GPIO. - // - void GPIO_SetupPinMux(Uint16 gpioNumber, Uint16 cpu, Uint16 muxPosition) - { - volatile Uint32 *gpioBaseAddr; - volatile Uint32 *mux, *gmux, *csel; - Uint16 pin32, pin16, pin8; - - pin32 = gpioNumber % 32; - pin16 = gpioNumber % 16; - pin8 = gpioNumber % 8; - gpioBaseAddr = (Uint32 *)&GpioCtrlRegs + (gpioNumber/32)*GPY_CTRL_OFFSET; - - // - //Sanity check for valid cpu and peripheral values - // - if (cpu > GPIO_MUX_CPU2CLA || muxPosition > 0xF) - return; - - // - //Create pointers to the appropriate registers. This is a workaround - //for the way GPIO registers are defined. The standard definition - //in the header file makes it very easy to do named accesses of one - //register or bit, but hard to do arbitrary numerical accesses. It's - //easier to have an array of GPIO modules with identical registers, - //including arrays for multi-register groups like GPyCSEL1-4. But - //the header file doesn't define anything we can turn into an array, - //so manual pointer arithmetic is used instead. - // - mux = gpioBaseAddr + GPYMUX + pin32/16; - gmux = gpioBaseAddr + GPYGMUX + pin32/16; - csel = gpioBaseAddr + GPYCSEL + pin32/8; - - // - //Now for the actual function - // - EALLOW; - - // - //To change the muxing, set the peripheral mux to 0/GPIO first to avoid - //glitches, then change the group mux, then set the peripheral mux to - //its target value. Finally, set the CPU select. This procedure is - //described in the TRM. Unfortunately, since we don't know the pin in - //advance we can't hardcode a bitfield reference, so there's some - //tricky bit twiddling here. - // - *mux &= ~(0x3UL << (2*pin16)); - *gmux &= ~(0x3UL << (2*pin16)); - *gmux |= (Uint32)((muxPosition >> 2) & 0x3UL) << (2*pin16); - *mux |= (Uint32)(muxPosition & 0x3UL) << (2*pin16); - - *csel &= ~(0x3L << (4*pin8)); - *csel |= (Uint32)(cpu & 0x3L) << (4*pin8); - - // - //WARNING: This code does not touch the analog mode select registers, - //which are needed to give the USB module control of its IOs. - // - EDIS; - } - - // - // GPIO_SetupPinOptions - Setup up the GPIO input/output options for the - // specified pin. - // - //The flags are a 16-bit mask produced by ORing together options. - //For input pins, the valid flags are: - //GPIO_PULLUP Enable pull-up - //GPIO_INVERT Enable input polarity inversion - //GPIO_SYNC Synchronize the input latch to PLLSYSCLK - // (default -- you don't need to specify this) - //GPIO_QUAL3 Use 3-sample qualification - //GPIO_QUAL6 Use 6-sample qualification - //GPIO_ASYNC Do not use synchronization or qualification - //(Note: only one of SYNC, QUAL3, QUAL6, or ASYNC is allowed) - // - //For output pins, the valid flags are: - //GPIO_OPENDRAIN Output in open drain mode - //GPIO_PULLUP If open drain enabled, also enable the pull-up - //and the input qualification flags (SYNC/QUAL3/QUAL6/SYNC) listed above. - // - //With no flags, the default input state is synchronous with no - //pull-up or polarity inversion. The default output state is - //the standard digital output. - // - void GPIO_SetupPinOptions(Uint16 gpioNumber, Uint16 output, Uint16 flags) - { - volatile Uint32 *gpioBaseAddr; - volatile Uint32 *dir, *pud, *inv, *odr, *qsel; - Uint32 pin32, pin16, pinMask, qual; - - pin32 = gpioNumber % 32; - pin16 = gpioNumber % 16; - pinMask = 1UL << pin32; - gpioBaseAddr = (Uint32 *)&GpioCtrlRegs + (gpioNumber/32)*GPY_CTRL_OFFSET; - - // - //Create pointers to the appropriate registers. This is a workaround - //for the way GPIO registers are defined. The standard definition - //in the header file makes it very easy to do named accesses of one - //register or bit, but hard to do arbitrary numerical accesses. It's - //easier to have an array of GPIO modules with identical registers, - //including arrays for multi-register groups like GPyQSEL1-2. But - //the header file doesn't define anything we can turn into an array, - //so manual pointer arithmetic is used instead. - // - dir = gpioBaseAddr + GPYDIR; - pud = gpioBaseAddr + GPYPUD; - inv = gpioBaseAddr + GPYINV; - odr = gpioBaseAddr + GPYODR; - qsel = gpioBaseAddr + GPYQSEL + pin32/16; - - EALLOW; - - // - //Set the data direction - // - *dir &= ~pinMask; - if (output == 1) - { - // - //Output, with optional open drain mode and pull-up - // - *dir |= pinMask; - - // - //Enable open drain if necessary - // - if (flags & GPIO_OPENDRAIN) - { - *odr |= pinMask; - } - else - { - *odr &= ~pinMask; - } - - // - //Enable pull-up if necessary. Open drain mode must be active. - // - if (flags & (GPIO_OPENDRAIN | GPIO_PULLUP)) - { - *pud &= ~pinMask; - } - else - { - *pud |= pinMask; - } - } - else - { - // - //Input, with optional pull-up, qualification, and polarity - //inversion - // - *dir &= ~pinMask; - - // - //Enable pull-up if necessary - // - if (flags & GPIO_PULLUP) - { - *pud &= ~pinMask; - } - else - { - *pud |= pinMask; - } - - // - //Invert polarity if necessary - // - if (flags & GPIO_INVERT) - { - *inv |= pinMask; - } - else - { - *inv &= ~pinMask; - } - } - - // - //Extract the qualification parameter and load it into the register. - //This is also needed for open drain outputs, so we might as well do it - //all the time. - // - qual = (flags & GPIO_ASYNC) / GPIO_QUAL3; - *qsel &= ~(0x3L << (2 * pin16)); - if (qual != 0x0) - { - *qsel |= qual << (2 * pin16); - } - - EDIS; - } - - // - // GPIO_SetupLock - Enable or disable the GPIO register bit lock for the - // specified pin. - // The valid flags are: - // GPIO_UNLOCK - Unlock the pin setup register bits for - // the specified pin - // GPIO_LOCK - Lock the pin setup register bits for the - // specified pin - // - void GPIO_SetupLock(Uint16 gpioNumber, Uint16 flags) - { - volatile Uint32 *gpioBaseAddr; - volatile Uint32 *lock; - Uint32 pin32, pinMask; - - pin32 = gpioNumber % 32; - pinMask = 1UL << pin32; - gpioBaseAddr = (Uint32 *)&GpioCtrlRegs + (gpioNumber/32)*GPY_CTRL_OFFSET; - - // - //Create pointers to the appropriate registers. This is a workaround - //for the way GPIO registers are defined. The standard definition - //in the header file makes it very easy to do named accesses of one - //register or bit, but hard to do arbitrary numerical accesses. It's - //easier to have an array of GPIO modules with identical registers, - //including arrays for multi-register groups like GPyQSEL1-2. But - //the header file doesn't define anything we can turn into an array, - //so manual pointer arithmetic is used instead. - // - lock = gpioBaseAddr + GPYLOCK; - - EALLOW; - if(flags) - { - //Lock the pin - *lock |= pinMask; - } - else - { - //Unlock the pin - *lock &= ~pinMask; - } - EDIS; - } - - // - //External interrupt setup - // - void GPIO_SetupXINT1Gpio(Uint16 gpioNumber) - { - EALLOW; - InputXbarRegs.INPUT4SELECT = gpioNumber; //Set XINT1 source to GPIO-pin - EDIS; - } - void GPIO_SetupXINT2Gpio(Uint16 gpioNumber) - { - EALLOW; - InputXbarRegs.INPUT5SELECT = gpioNumber; //Set XINT2 source to GPIO-pin - EDIS; - } - void GPIO_SetupXINT3Gpio(Uint16 gpioNumber) - { - EALLOW; - InputXbarRegs.INPUT6SELECT = gpioNumber; //Set XINT3 source to GPIO-pin - EDIS; - } - void GPIO_SetupXINT4Gpio(Uint16 gpioNumber) - { - EALLOW; - InputXbarRegs.INPUT13SELECT = gpioNumber; //Set XINT4 source to GPIO-pin - EDIS; - } - void GPIO_SetupXINT5Gpio(Uint16 gpioNumber) - { - EALLOW; - InputXbarRegs.INPUT14SELECT = gpioNumber; //Set XINT5 source to GPIO-pin - EDIS; - } - - // - //GPIO_EnableUnbondedIOPullupsFor176Pin - Enable pullups for the unbonded - // GPIOs on the 176PTP package: - // GPIOs Grp Bits - // 95-132 C 31 - // D 31:0 - // E 4:0 - // 134-168 E 31:6 - // F 8:0 - // - void GPIO_EnableUnbondedIOPullupsFor176Pin() - { - EALLOW; - GpioCtrlRegs.GPCPUD.all = ~0x80000000; //GPIO 95 - GpioCtrlRegs.GPDPUD.all = ~0xFFFFFFF7; //GPIOs 96-127 - GpioCtrlRegs.GPEPUD.all = ~0xFFFFFFDF; //GPIOs 128-159 except for 133 - GpioCtrlRegs.GPFPUD.all = ~0x000001FF; //GPIOs 160-168 - EDIS; - } - - // - // GPIO_EnableUnbondedIOPullups - InitSysCtrl would call this function - // this takes care of enabling IO pullups. - // - void GPIO_EnableUnbondedIOPullups() - { - // - //bits 8-10 have pin count - // - unsigned char pin_count = (DevCfgRegs.PARTIDL.bit.PIN_COUNT) ; - - // - //6 = 176 pin - //7 = 337 pin - // - if (pin_count == 6) - { - GPIO_EnableUnbondedIOPullupsFor176Pin(); - } - else - { - //do nothing - this is 337 pin package - } - } - -#endif //CPU1 - -// -// GPIO_ReadPin - Read the GPyDAT register bit for the specified pin. Note that -// this returns the actual state of the pin, not the state of -// the output latch. -// -Uint16 GPIO_ReadPin(Uint16 gpioNumber) -{ - volatile Uint32 *gpioDataReg; - Uint16 pinVal; - - gpioDataReg = (volatile Uint32 *)&GpioDataRegs + (gpioNumber/32)*GPY_DATA_OFFSET; - pinVal = (gpioDataReg[GPYDAT] >> (gpioNumber % 32)) & 0x1; - - return pinVal; -} - -// -// GPIO_WritePin - Set the GPyDAT register bit for the specified pin. -// -void GPIO_WritePin(Uint16 gpioNumber, Uint16 outVal) -{ - volatile Uint32 *gpioDataReg; - Uint32 pinMask; - - gpioDataReg = (volatile Uint32 *)&GpioDataRegs + (gpioNumber/32)*GPY_DATA_OFFSET; - pinMask = 1UL << (gpioNumber % 32); - - if (outVal == 0) - { - gpioDataReg[GPYCLEAR] = pinMask; - } - else - { - gpioDataReg[GPYSET] = pinMask; - } -} - -// -// End of file -// diff --git a/Projects/epwm_test/lib/f2838x_piectrl.c b/Projects/epwm_test/lib/f2838x_piectrl.c deleted file mode 100644 index 3fbd8a5..0000000 --- a/Projects/epwm_test/lib/f2838x_piectrl.c +++ /dev/null @@ -1,121 +0,0 @@ -//########################################################################### -// -// FILE: f2838x_piectrl.c -// -// TITLE: F2838x Device PIE Control Register Initialization Functions. -// -//########################################################################### -// -// -// $Copyright: -// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 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. -// -// Neither the name of Texas Instruments Incorporated nor the names of -// its contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS 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. -// $ -//########################################################################### - -// -// Included Files -// -#include "f2838x_device.h" // F2838x Headerfile Include File -#include "f2838x_examples.h" // F2838x Examples Include File - -// -// InitPieCtrl - This function initializes the PIE control registers to a -// known state. -// -void InitPieCtrl(void) -{ - // - // Disable Interrupts at the CPU level: - // - DINT; - - // - // Disable the PIE - // - PieCtrlRegs.PIECTRL.bit.ENPIE = 0; - - // - // Clear all PIEIER registers: - // - PieCtrlRegs.PIEIER1.all = 0; - PieCtrlRegs.PIEIER2.all = 0; - PieCtrlRegs.PIEIER3.all = 0; - PieCtrlRegs.PIEIER4.all = 0; - PieCtrlRegs.PIEIER5.all = 0; - PieCtrlRegs.PIEIER6.all = 0; - PieCtrlRegs.PIEIER7.all = 0; - PieCtrlRegs.PIEIER8.all = 0; - PieCtrlRegs.PIEIER9.all = 0; - PieCtrlRegs.PIEIER10.all = 0; - PieCtrlRegs.PIEIER11.all = 0; - PieCtrlRegs.PIEIER12.all = 0; - - // - // Clear all PIEIFR registers: - // - PieCtrlRegs.PIEIFR1.all = 0; - PieCtrlRegs.PIEIFR2.all = 0; - PieCtrlRegs.PIEIFR3.all = 0; - PieCtrlRegs.PIEIFR4.all = 0; - PieCtrlRegs.PIEIFR5.all = 0; - PieCtrlRegs.PIEIFR6.all = 0; - PieCtrlRegs.PIEIFR7.all = 0; - PieCtrlRegs.PIEIFR8.all = 0; - PieCtrlRegs.PIEIFR9.all = 0; - PieCtrlRegs.PIEIFR10.all = 0; - PieCtrlRegs.PIEIFR11.all = 0; - PieCtrlRegs.PIEIFR12.all = 0; -} - -// -// EnableInterrupts - This function enables the PIE module and CPU __interrupts -// -void EnableInterrupts() -{ - // - // Enable the PIE - // - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; - - // - // Enables PIE to drive a pulse into the CPU - // - PieCtrlRegs.PIEACK.all = 0xFFFF; - - // - // Enable Interrupts at the CPU level - // - EINT; -} - -// -// End of file -// diff --git a/Projects/epwm_test/lib/f2838x_pievect.c b/Projects/epwm_test/lib/f2838x_pievect.c deleted file mode 100644 index 5f0d7cb..0000000 --- a/Projects/epwm_test/lib/f2838x_pievect.c +++ /dev/null @@ -1,309 +0,0 @@ -//########################################################################### -// -// FILE: f2838x_pievect.c -// -// TITLE: f2838x Device PIE Vector Initialization Functions -// -//########################################################################### -// $Copyright: -// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 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. -// -// Neither the name of Texas Instruments Incorporated nor the names of -// its contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS 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. -// $ -//########################################################################### - -// -// Included Files -// -#include "f2838x_device.h" // f2838x Header File Include File -#include "f2838x_examples.h" // f2838x Examples Include File - -// -// Globals -// -const struct PIE_VECT_TABLE PieVectTableInit = { - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - PIE_RESERVED_ISR, // Reserved - TIMER1_ISR, // CPU Timer 1 Interrupt - TIMER2_ISR, // CPU Timer 2 Interrupt - DATALOG_ISR, // Datalogging Interrupt - RTOS_ISR, // RTOS Interrupt - EMU_ISR, // Emulation Interrupt - NMI_ISR, // Non-Maskable Interrupt - ILLEGAL_ISR, // Illegal Operation Trap - USER1_ISR, // User Defined Trap 1 - USER2_ISR, // User Defined Trap 2 - USER3_ISR, // User Defined Trap 3 - USER4_ISR, // User Defined Trap 4 - USER5_ISR, // User Defined Trap 5 - USER6_ISR, // User Defined Trap 6 - USER7_ISR, // User Defined Trap 7 - USER8_ISR, // User Defined Trap 8 - USER9_ISR, // User Defined Trap 9 - USER10_ISR, // User Defined Trap 10 - USER11_ISR, // User Defined Trap 11 - USER12_ISR, // User Defined Trap 12 - ADCA1_ISR, // 1.1 - ADCA Interrupt 1 - ADCB1_ISR, // 1.2 - ADCB Interrupt 1 - ADCC1_ISR, // 1.3 - ADCC Interrupt 1 - XINT1_ISR, // 1.4 - XINT1 Interrupt - XINT2_ISR, // 1.5 - XINT2 Interrupt - ADCD1_ISR, // 1.6 - ADCD Interrupt 1 - TIMER0_ISR, // 1.7 - Timer 0 Interrupt - WAKE_ISR, // 1.8 - Standby and Halt Wakeup Interrupt - EPWM1_TZ_ISR, // 2.1 - ePWM1 Trip Zone Interrupt - EPWM2_TZ_ISR, // 2.2 - ePWM2 Trip Zone Interrupt - EPWM3_TZ_ISR, // 2.3 - ePWM3 Trip Zone Interrupt - EPWM4_TZ_ISR, // 2.4 - ePWM4 Trip Zone Interrupt - EPWM5_TZ_ISR, // 2.5 - ePWM5 Trip Zone Interrupt - EPWM6_TZ_ISR, // 2.6 - ePWM6 Trip Zone Interrupt - EPWM7_TZ_ISR, // 2.7 - ePWM7 Trip Zone Interrupt - EPWM8_TZ_ISR, // 2.8 - ePWM8 Trip Zone Interrupt - EPWM1_ISR, // 3.1 - ePWM1 Interrupt - EPWM2_ISR, // 3.2 - ePWM2 Interrupt - EPWM3_ISR, // 3.3 - ePWM3 Interrupt - EPWM4_ISR, // 3.4 - ePWM4 Interrupt - EPWM5_ISR, // 3.5 - ePWM5 Interrupt - EPWM6_ISR, // 3.6 - ePWM6 Interrupt - EPWM7_ISR, // 3.7 - ePWM7 Interrupt - EPWM8_ISR, // 3.8 - ePWM8 Interrupt - ECAP1_ISR, // 4.1 - eCAP1 Interrupt - ECAP2_ISR, // 4.2 - eCAP2 Interrupt - ECAP3_ISR, // 4.3 - eCAP3 Interrupt - ECAP4_ISR, // 4.4 - eCAP4 Interrupt - ECAP5_ISR, // 4.5 - eCAP5 Interrupt - ECAP6_ISR, // 4.6 - eCAP6 Interrupt - ECAP7_ISR, // 4.7 - eCAP7 Interrupt - PIE_RESERVED_ISR, // 4.8 - Reserved - EQEP1_ISR, // 5.1 - eQEP1 Interrupt - EQEP2_ISR, // 5.2 - eQEP2 Interrupt - EQEP3_ISR, // 5.3 - eQEP3 Interrupt - PIE_RESERVED_ISR, // 5.4 - Reserved - CLB1_ISR, // 5.5 - CLB1 (Reconfigurable Logic) Interrupt - CLB2_ISR, // 5.6 - CLB2 (Reconfigurable Logic) Interrupt - CLB3_ISR, // 5.7 - CLB3 (Reconfigurable Logic) Interrupt - CLB4_ISR, // 5.8 - CLB4 (Reconfigurable Logic) Interrupt - SPIA_RX_ISR, // 6.1 - SPIA Receive Interrupt - SPIA_TX_ISR, // 6.2 - SPIA Transmit Interrupt - SPIB_RX_ISR, // 6.3 - SPIB Receive Interrupt - SPIB_TX_ISR, // 6.4 - SPIB Transmit Interrupt - MCBSPA_RX_ISR, // 6.5 - McBSPA Receive Interrupt - MCBSPA_TX_ISR, // 6.6 - McBSPA Transmit Interrupt - MCBSPB_RX_ISR, // 6.7 - McBSPB Receive Interrupt - MCBSPB_TX_ISR, // 6.8 - McBSPB Transmit Interrupt - DMA_CH1_ISR, // 7.1 - DMA Channel 1 Interrupt - DMA_CH2_ISR, // 7.2 - DMA Channel 2 Interrupt - DMA_CH3_ISR, // 7.3 - DMA Channel 3 Interrupt - DMA_CH4_ISR, // 7.4 - DMA Channel 4 Interrupt - DMA_CH5_ISR, // 7.5 - DMA Channel 5 Interrupt - DMA_CH6_ISR, // 7.6 - DMA Channel 6 Interrupt - PIE_RESERVED_ISR, // 7.7 - Reserved - PIE_RESERVED_ISR, // 7.8 - Reserved - I2CA_ISR, // 8.1 - I2CA Interrupt 1 - I2CA_FIFO_ISR, // 8.2 - I2CA Interrupt 2 - I2CB_ISR, // 8.3 - I2CB Interrupt 1 - I2CB_FIFO_ISR, // 8.4 - I2CB Interrupt 2 - SCIC_RX_ISR, // 8.5 - SCIC Receive Interrupt - SCIC_TX_ISR, // 8.6 - SCIC Transmit Interrupt - SCID_RX_ISR, // 8.7 - SCID Receive Interrupt - SCID_TX_ISR, // 8.8 - SCID Transmit Interrupt - SCIA_RX_ISR, // 9.1 - SCIA Receive Interrupt - SCIA_TX_ISR, // 9.2 - SCIA Transmit Interrupt - SCIB_RX_ISR, // 9.3 - SCIB Receive Interrupt - SCIB_TX_ISR, // 9.4 - SCIB Transmit Interrupt - CANA0_ISR, // 9.5 - CANA Interrupt 0 - CANA1_ISR, // 9.6 - CANA Interrupt 1 - CANB0_ISR, // 9.7 - CANB Interrupt 0 - CANB1_ISR, // 9.8 - CANB Interrupt 1 - ADCA_EVT_ISR, // 10.1 - ADCA Event Interrupt - ADCA2_ISR, // 10.2 - ADCA Interrupt 2 - ADCA3_ISR, // 10.3 - ADCA Interrupt 3 - ADCA4_ISR, // 10.4 - ADCA Interrupt 4 - ADCB_EVT_ISR, // 10.5 - ADCB Event Interrupt - ADCB2_ISR, // 10.6 - ADCB Interrupt 2 - ADCB3_ISR, // 10.7 - ADCB Interrupt 3 - ADCB4_ISR, // 10.8 - ADCB Interrupt 4 - CLA1_1_ISR, // 11.1 - CLA1 Interrupt 1 - CLA1_2_ISR, // 11.2 - CLA1 Interrupt 2 - CLA1_3_ISR, // 11.3 - CLA1 Interrupt 3 - CLA1_4_ISR, // 11.4 - CLA1 Interrupt 4 - CLA1_5_ISR, // 11.5 - CLA1 Interrupt 5 - CLA1_6_ISR, // 11.6 - CLA1 Interrupt 6 - CLA1_7_ISR, // 11.7 - CLA1 Interrupt 7 - CLA1_8_ISR, // 11.8 - CLA1 Interrupt 8 - XINT3_ISR, // 12.1 - XINT3 Interrupt - XINT4_ISR, // 12.2 - XINT4 Interrupt - XINT5_ISR, // 12.3 - XINT5 Interrupt - MPOST_ISR, // 12.4 - MPOST Interrupt - FMC_ISR, // 12.5 - Flash Wrapper Operation Done Interrupt - PIE_RESERVED_ISR, // 12.6 - Reserved - FPU_OFLOW_ISR, // 12.7 - FPU Overflow Interrupt - FPU_UFLOW_ISR, // 12.8 - FPU Underflow Interrupt - I2CA_HIGH_ISR, // 1.9 - I2CA Interrupt high priority - SYS_ERR_ISR, // 1.10 - System error interrupt - ECATSYNC0_ISR, // 1.11 - ETHERCAT SYNC0 interrupt - ECAT_ISR, // 1.12 - ETHERCAT main interrupt - CIPC0_ISR, // 1.13 - C28x CPU IPC interrupt 1 - CIPC1_ISR, // 1.14 - C28x CPU IPC interrupt 2 - CIPC2_ISR, // 1.15 - C28x CPU IPC interrupt 3 - CIPC3_ISR, // 1.16 - C28x CPU IPC interrupt 4 - EPWM9_TZ_ISR, // 2.9 - ePWM9 Trip Zone Interrupt - EPWM10_TZ_ISR, // 2.10 - ePWM10 Trip Zone Interrupt - EPWM11_TZ_ISR, // 2.11 - ePWM11 Trip Zone Interrupt - EPWM12_TZ_ISR, // 2.12 - ePWM12 Trip Zone Interrupt - EPWM13_TZ_ISR, // 2.13 - ePWM13 Trip Zone Interrupt - EPWM14_TZ_ISR, // 2.14 - ePWM14 Trip Zone Interrupt - EPWM15_TZ_ISR, // 2.15 - ePWM15 Trip Zone Interrupt - EPWM16_TZ_ISR, // 2.16 - ePWM16 Trip Zone Interrupt - EPWM9_ISR, // 3.9 - ePWM9 Interrupt - EPWM10_ISR, // 3.10 - ePWM10 Interrupt - EPWM11_ISR, // 3.11 - ePWM11 Interrupt - EPWM12_ISR, // 3.12 - ePWM12 Interrupt - EPWM13_ISR, // 3.13 - ePWM13 Interrupt - EPWM14_ISR, // 3.14 - ePWM14 Interrupt - EPWM15_ISR, // 3.15 - ePWM15 Interrupt - EPWM16_ISR, // 3.16 - ePWM16 Interrupt - FSITXA1_ISR, // 4.9 - FSIA Transmit interrupt 1 - FSITXA2_ISR, // 4.10 - FSIA Transmit interrupt 2 - FSITXB1_ISR, // 4.11 - FSIB Transmit interrupt 1 - FSITXB2_ISR, // 4.12 - FSIB Transmit interrupt 2 - FSIRXA1_ISR, // 4.13 - FSIA Receive interrupt 1 - FSIRXA2_ISR, // 4.14 - FSIA Receive interrupt 2 - FSIRXB1_ISR, // 4.15 - FSIB Receive interrupt 1 - FSIRXB2_ISR, // 4.16 - FSIB Receive interrupt 2 - SDFM1_ISR, // 5.9 - Sigma Delta Filter Module1 Interrupt - SDFM2_ISR, // 5.10 - Sigma Delta Filter Module2 Interrupt - ECATRST_ISR, // 5.11 - ETHERCAT Resetout Interrupt - ECATSYNC1_ISR, // 5.12 - ETHERCAT SYNC1 interrupt - SDFM1DR1_ISR, // 5.13 - Sigma Delta Filter Module1 Filter 1 Interrupt - SDFM1DR2_ISR, // 5.14 - Sigma Delta Filter Module1 Filter 2 Interrupt - SDFM1DR3_ISR, // 5.15 - Sigma Delta Filter Module1 Filter 3 Interrupt - SDFM1DR4_ISR, // 5.16 - Sigma Delta Filter Module1 Filter 4 Interrupt - SPIC_RX_ISR, // 6.9 - SPIC Receive Interrupt - SPIC_TX_ISR, // 6.10 - SPIC Transmit Interrupt - SPID_RX_ISR, // 6.11 - SPID Receive Interrupt - SPID_TX_ISR, // 6.12 - SPID Transmit Interrupt - SDFM2DR1_ISR, // 6.13 - Sigma Delta Filter Module2 Filter 1 Interrupt - SDFM2DR2_ISR, // 6.14 - Sigma Delta Filter Module2 Filter 2 Interrupt - SDFM2DR3_ISR, // 6.15 - Sigma Delta Filter Module2 Filter 3 Interrupt - SDFM2DR4_ISR, // 6.16 - Sigma Delta Filter Module2 Filter 4 Interrupt - FSIRXC1_ISR, // 7.9 - FSIC Receive interrupt 1 - FSIRXC2_ISR, // 7.10 - FSIC Receive interrupt 2 - FSIRXD1_ISR, // 7.11 - FSID Receive interrupt 1 - FSIRXD2_ISR, // 7.12 - FSID Receive interrupt 2 - FSIRXE1_ISR, // 7.13 - FSIE Receive interrupt 1 - FSIRXE2_ISR, // 7.14 - FSIE Receive interrupt 2 - FSIRXF1_ISR, // 7.15 - FSIF Receive interrupt 1 - FSIRXF2_ISR, // 7.16 - FSIF Receive interrupt 2 - FSIRXG1_ISR, // 8.9 - FSIG Receive interrupt 1 - FSIRXG2_ISR, // 8.10 - FSIG Receive interrupt 2 - FSIRXH1_ISR, // 8.11 - FSIH Receive interrupt 1 - FSIRXH2_ISR, // 8.12 - FSIH Receive interrupt 2 - CLB5_ISR, // 8.13 - CLB5 Interrupt - CLB6_ISR, // 8.14 - CLB6 Interrupt - CLB7_ISR, // 8.15 - CLB7 Interrupt - CLB8_ISR, // 8.16 - CLB8 Interrupt - MCANA_0_ISR, // 9.9 - MCAN Sub-System Interrupt 0 - MCANA_1_ISR, // 9.10 - MCAN Sub-System Interrupt 1 - MCANA_ECC_ISR, // 9.11 - MCAN Sub-System ECC error Interrupt - MCANA_WAKE_ISR, // 9.12 - MCAN Sub-System wakeup Interrupt - PMBUSA_ISR, // 9.13 - PMBUSA Interrupt - CM_STATUS_ISR, // 9.14 - CM Reset Status Interrupt - USBA_ISR, // 9.15 - USBA Interrupt - PIE_RESERVED_ISR, // 9.16 - Reserved - ADCC_EVT_ISR, // 10.9 - ADCC Event Interrupt - ADCC2_ISR, // 10.10 - ADCC Interrupt 2 - ADCC3_ISR, // 10.11 - ADCC Interrupt 3 - ADCC4_ISR, // 10.12 - ADCC Interrupt 4 - ADCD_EVT_ISR, // 10.13 - ADCD Event Interrupt - ADCD2_ISR, // 10.14 - ADCD Interrupt 2 - ADCD3_ISR, // 10.15 - ADCD Interrupt 3 - ADCD4_ISR, // 10.16 - ADCD Interrupt 4 - CMTOCPUXIPC0_ISR, // 11.9 - CM to CPU IPC Interrupt 0 - CMTOCPUXIPC1_ISR, // 11.10 - CM to CPU IPC Interrupt 1 - CMTOCPUXIPC2_ISR, // 11.11 - CM to CPU IPC Interrupt 2 - CMTOCPUXIPC3_ISR, // 11.12 - CM to CPU IPC Interrupt 3 - CMTOCPUXIPC4_ISR, // 11.13 - CM to CPU IPC Interrupt 4 - CMTOCPUXIPC5_ISR, // 11.14 - CM to CPU IPC Interrupt 5 - CMTOCPUXIPC6_ISR, // 11.15 - CM to CPU IPC Interrupt 6 - CMTOCPUXIPC7_ISR, // 11.16 - CM to CPU IPC Interrupt 7 - PIE_RESERVED_ISR, // 12.9 - Reserved - ECAP6_2_ISR, // 12.10 - eCAP6 Interrupt 2 - ECAP7_2_ISR, // 12.11 - eCAP7 Interrupt 2 - PIE_RESERVED_ISR, // 12.12 - Reserved - CPUCRC_ISR, // 12.13 - CPU BGCRC module interrupt - CLA1CRC_ISR, // 12.14 - CLA1 BGCRC module interrupt - CLA_OVERFLOW_ISR, // 12.15 - CLA Overflow Interrupt - CLA_UNDERFLOW_ISR, // 12.16 - CLA Underflow Interrupt -}; - -// -// InitPieVectTable - This function initializes the PIE vector table to a -// known state and must be executed after boot time. -// -void InitPieVectTable(void) -{ - Uint16 i; - Uint32 *Source = (void *) &PieVectTableInit; - Uint32 *Dest = (void *) &PieVectTable; - - // - // Do not write over first 3 32-bit locations (these locations are - // initialized by Boot ROM with boot variables) - // - Source = Source + 3; - Dest = Dest + 3; - - EALLOW; - for(i = 0; i < 221; i++) - { - *Dest++ = *Source++; - } - EDIS; - - // - // Enable the PIE Vector Table - // - PieCtrlRegs.PIECTRL.bit.ENPIE = 1; -} - -// -// End of file -// diff --git a/Projects/epwm_test/lib/f2838x_sysctrl.c b/Projects/epwm_test/lib/f2838x_sysctrl.c deleted file mode 100644 index e6da39b..0000000 --- a/Projects/epwm_test/lib/f2838x_sysctrl.c +++ /dev/null @@ -1,1463 +0,0 @@ -//########################################################################### -// -// FILE: f2838x_sysctrl.c -// -// TITLE: F2838x Device System Control Initialization & Support Functions. -// -// DESCRIPTION: -// -// Example initialization of system resources. -// -//########################################################################### -// -// -// $Copyright: -// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions -// are met: -// -// Redistributions of source code must retain the above copyright -// notice, this list of conditions and the following disclaimer. -// -// 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. -// -// Neither the name of Texas Instruments Incorporated nor the names of -// its contributors may be used to endorse or promote products derived -// from this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -// OWNER OR CONTRIBUTORS 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. -// $ -//########################################################################### - -// -// Included Files -// -#include "f2838x_device.h" -#include "f2838x_examples.h" -#include "math.h" - -// -// Functions that will be run from RAM need to be assigned to a different -// section. This section will then be mapped to a load and run address using -// the linker cmd file. -// -// *IMPORTANT* -// -// IF RUNNING FROM FLASH, PLEASE COPY OVER THE SECTION ".TI.ramfunc" FROM -// FLASH TO RAM PRIOR TO CALLING InitSysCtrl(). THIS PREVENTS THE MCU FROM -// THROWING AN EXCEPTION WHEN A CALL TO DELAY_US() IS MADE. -// -#pragma CODE_SECTION(InitFlash, ".TI.ramfunc"); -#pragma CODE_SECTION(FlashOff, ".TI.ramfunc"); - - -// The following values are used to validate PLL Frequency using DCC -// -#define DCC_COUNTER0_TOLERANCE 1 - -#ifdef USE_20MHZ_XTAL - -#define OSC_FREQ 20 - -// -// Multipliers and dividers to configure 200MHz SYSPLL output from 20MHz XTAL -// -#define SYS_IMULT IMULT_40 -#define SYS_REFDIV REFDIV_2 -#define SYS_ODIV ODIV_2 -#define SYS_DIV PLLCLK_BY_1 - -// -// Multipliers and dividers to configure 125MHz AUXPLL output from 20MHz XTAL -// -#define AUX_IMULT IMULT_50 -#define AUX_REFDIV REFDIV_2 -#define AUX_ODIV ODIV_4 -#define AUX_DIV AUXPLLRAWCLK_BY_1 - - -#else // USE_25MHZ_XTAL - -#define OSC_FREQ 25 - -// -// Multipliers and dividers to configure 200MHz SYSPLL output from 25MHz XTAL -// -#define SYS_IMULT IMULT_32 -#define SYS_REFDIV REFDIV_2 -#define SYS_ODIV ODIV_2 -#define SYS_DIV PLLCLK_BY_1 - -// -// Multipliers and dividers to configure 125MHz AUXPLL output from 25MHz XTAL -// -#define AUX_IMULT IMULT_40 -#define AUX_REFDIV REFDIV_2 -#define AUX_ODIV ODIV_4 -#define AUX_DIV AUXPLLRAWCLK_BY_1 - -#endif - -// -// InitSysCtrl - Initialization of system resources. -// -void InitSysCtrl(void) -{ - // - // Disable the watchdog - // - DisableDog(); - -#ifdef _FLASH - // - // Copy time critical code and Flash setup code to RAM. This includes the - // following functions: InitFlash() - // - // The RamfuncsLoadStart, RamfuncsLoadSize, and RamfuncsRunStart - // symbols are created by the linker. Refer to the device .cmd file. - // - memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize); - - // - // Call Flash Initialization to setup flash waitstates. This function must - // reside in RAM. - // - InitFlash(); -#endif - - // - // *IMPORTANT* - // - // The Device_cal function, which copies the ADC & oscillator calibration - // values from TI reserved OTP into the appropriate trim registers, occurs - // automatically in the Boot ROM. If the boot ROM code is bypassed during - // the debug process, the following function MUST be called for the ADC and - // oscillators to function according to specification. The clocks to the - // ADC MUST be enabled before calling this function. - // - // See the device data manual and/or the ADC Reference Manual for more - // information. - // -#ifdef CPU1 - // - // Enable pull-ups on unbonded IOs as soon as possible to reduce power - // consumption. - // - GPIO_EnableUnbondedIOPullups(); - - EALLOW; - - - CpuSysRegs.PCLKCR13.bit.ADC_A = 1; - CpuSysRegs.PCLKCR13.bit.ADC_B = 1; - CpuSysRegs.PCLKCR13.bit.ADC_C = 1; - CpuSysRegs.PCLKCR13.bit.ADC_D = 1; - - // - // Check if device is trimmed - // - if(*((Uint16 *)0x5D736) == 0x0000){ - // - // Device is not trimmed--apply static calibration values - // - AnalogSubsysRegs.ANAREFTRIMA.all = 31709; - AnalogSubsysRegs.ANAREFTRIMB.all = 31709; - AnalogSubsysRegs.ANAREFTRIMC.all = 31709; - AnalogSubsysRegs.ANAREFTRIMD.all = 31709; - } - - CpuSysRegs.PCLKCR13.bit.ADC_A = 0; - CpuSysRegs.PCLKCR13.bit.ADC_B = 0; - CpuSysRegs.PCLKCR13.bit.ADC_C = 0; - CpuSysRegs.PCLKCR13.bit.ADC_D = 0; - EDIS; - - // - // Verify the crystal frequency. - // Note: This check can be removed if you are not using XTAL as the PLL - // source - // - if(!VerifyXTAL(OSC_FREQ)) - { - // - // The actual XTAL frequency does not match OSC_FREQ!! - // Please check the XTAL frequency used. - // - // By default, the InitSysCtrl function assumes 25MHz XTAL. - // If a 20MHz crystal is used, please add a predefined symbol - // "USE_20MHZ_XTAL" in your CCS project. - // If a different XTAL is used, please update the PLL configuration - // below accordingly. - // - // Note that the latest F2838x controlCARDs (Rev.B and later) have been - // updated to use 25MHz XTAL by default. If you have an older 20MHz XTAL - // controlCARD (E1, E2, or Rev.A), refer to the controlCARD - // documentation on steps to reconfigure the controlCARD from 20MHz to - // 25MHz. - // - ESTOP0; - while(1); - } - - // - // Initialize the SYSPLL control to generate a 200Mhz clock - // - // Defined options to be passed as arguments to this function are defined - // in f2838x_examples.h. - // - // Note: The internal oscillator CANNOT be used as the PLL source if the - // PLLSYSCLK is configured to frequencies above 194 MHz. - // - // PLLSYSCLK = (XTAL_OSC) * (IMULT) /(REFDIV) * (ODIV) * (PLLSYSCLKDIV) - // - InitSysPll(XTAL_OSC, SYS_IMULT, SYS_REFDIV, SYS_ODIV, SYS_DIV, SYSCTL_DCC_BASE0); - - // - // Initialize the AUXPLL control to generate a 125Mhz clock: - // - // Defined options to be passed as arguments to this function are defined - // in f2838x_Examples.h. - // - // Note: The internal oscillator CANNOT be used as the PLL source if the - // AUXPLLCLK is configured to frequencies above 194 MHz. - // - // AUXPLLCLK = (XTAL_OSC) * (IMULT) /(REFDIV) * (ODIV) * (AUXPLLDIV) - // - InitAuxPll(XTAL_OSC, AUX_IMULT, AUX_REFDIV, AUX_ODIV, AUX_DIV, SYSCTL_DCC_BASE1); - - // - // Set up CMCLK to use AUXPLL as the clock source and set the - // clock divider to 1. - // - EALLOW; - ClkCfgRegs.CMCLKCTL.bit.CMCLKDIV = 0; // 0 : Divide by 1 - ClkCfgRegs.CMCLKCTL.bit.CMDIVSRCSEL = 0; // 0 : AuxPLL is the source for the CM clock divider. - EDIS; - -#ifndef _FLASH - // - // Call Device_cal function when run using debugger - // This function is called as part of the Boot code. The function is called - // in the InitSysCtrl function since during debug time resets, the boot code - // will not be executed and the gel script will reinitialize all the - // registers and the calibrated values will be lost. - // - Device_cal(); -#endif - -#endif // CPU1 - - // - // Turn on all peripherals - // - InitPeripheralClocks(); -} - -// -// -// Function to verify the XTAL frequency -// freq is the XTAL frequency in MHz -// The function return true if the the actual XTAL frequency matches with the -// input value -// -// -#ifdef CPU1 -bool VerifyXTAL(float freq) -{ - // - // Configures XTAL as CLKSRC0 and INTOSC2 as CLKSRC1. - // Fclk0 = XTAL frequency (input parameter) - // Fclk1 = INTOSC2 frequency = 10MHz - // - // Calculating Counter0 & Valid Seed Value with +/-1% tolerance - // INTOSC can have a variance in frequency of +/-10% - // - // Since Fclk1 < Fclk0, then Async. Error (In Clock0 cycles) = - // 2*(Fclk0/Fclk1) + 2*(Fsysclk/Fclk0) - // Digitization error = 8 Clock0 cycles - // DCC Error (in Cycles) = 2*(Fclk0/Fclk1) + 2*(Fsysclk/Fclk0) + 8 - // Window (in Cycles) = (Total Error) / (0.01 * Tolerance) - // Error due to variance in frequency = Window * freqVariance - // Total error = DCC Error + Error due to variance in frequency - // Counter0 = Window - Total Error - // Valid0 = 2 * Total Error - // Counter1 = Window * (Fclk1/Fclk0) - // - // Note : Update the tolerance and INTOSC2 frequency variance as necessary. - // - uint32_t total_error = ceil((2.0F * freq/10.0F) + (2.0F * 10.0F/freq) + 8.0F); - uint32_t window = total_error / 0.01F; - total_error += window * 0.1F; - - uint32_t count0 = window - total_error; - uint32_t valid = 2 * total_error; - uint32_t count1 = window * 10 / freq; - - EALLOW; - - // - // Enable DCC0 clock - // - CpuSysRegs.PCLKCR21.bit.DCC0 = 1; - - // - // Insert atleast 5 cycles delay after enabling the peripheral clock - // - asm(" RPT #5 || NOP"); - - // - // Clear Error & Done Flag - // - Dcc0Regs.DCCSTATUS.bit.ERR = 1; - Dcc0Regs.DCCSTATUS.bit.DONE = 1; - - // - // Disable DCC - // - Dcc0Regs.DCCGCTRL.bit.DCCENA = 0x5; - - // - // Disable Error Signal - // - Dcc0Regs.DCCGCTRL.bit.ERRENA = 0x5; - - // - // Disable Done Signal - // - Dcc0Regs.DCCGCTRL.bit.DONEENA = 0x5; - - // - // Configure Clock Source0 to XTAL - // - Dcc0Regs.DCCCLKSRC0.all = (0xA << 12) | // bits 12..15 : Key - 0; // bits 0..4 : Source = XTAL(value 0) - - // - // Configure Clock Source1 to INTOSC - // - Dcc0Regs.DCCCLKSRC1.all = (0xA << 12) | // bits 12..15 : Key - 3; // bits 0..4 : Source = INTOS2(value 3) - - // - // Configure COUNTER-0, COUNTER-1 & Valid Window - // - Dcc0Regs.DCCCNTSEED0.all = count0; - Dcc0Regs.DCCCNTSEED1.all = count1; - Dcc0Regs.DCCVALIDSEED0.all = valid; - - // - // Enable Single Shot mode - // - Dcc0Regs.DCCGCTRL.bit.SINGLESHOT = 0xA; - - // - // Enable Error Signal - // - Dcc0Regs.DCCGCTRL.bit.ERRENA = 0xA; - - // - // Enable Done Signal - // - Dcc0Regs.DCCGCTRL.bit.DONEENA = 0xA; - - // - // Enable DCC to start counting - // - Dcc0Regs.DCCGCTRL.bit.DCCENA = 0xA; - - EDIS; - - // - // Wait until Error or Done Flag is generated - // - while((Dcc0Regs.DCCSTATUS.bit.DONE | Dcc0Regs.DCCSTATUS.bit.ERR) == 0); - - // - // Returns true if DCC completes without error - // - if (Dcc0Regs.DCCSTATUS.bit.DONE == 1U) - { - return true; - } - else - { - return false; - } - -} -#endif - -// -// InitPeripheralClocks - Initializes the clocks for the peripherals. -// -// Note: In order to reduce power consumption, turn off the clocks to any -// peripheral that is not specified for your part-number or is not used in the -// application -// -void InitPeripheralClocks(void) -{ - EALLOW; - - CpuSysRegs.PCLKCR0.bit.CLA1 = 1; - CpuSysRegs.PCLKCR0.bit.DMA = 1; - CpuSysRegs.PCLKCR0.bit.CPUTIMER0 = 1; - CpuSysRegs.PCLKCR0.bit.CPUTIMER1 = 1; - CpuSysRegs.PCLKCR0.bit.CPUTIMER2 = 1; - CpuSysRegs.PCLKCR0.bit.CPUBGCRC = 1; - CpuSysRegs.PCLKCR0.bit.CLA1BGCRC = 1; - -#ifdef CPU1 - CpuSysRegs.PCLKCR0.bit.HRCAL = 1; -#endif - - CpuSysRegs.PCLKCR0.bit.TBCLKSYNC = 1; - CpuSysRegs.PCLKCR0.bit.ERAD = 1; - -#ifdef CPU1 - CpuSysRegs.PCLKCR1.bit.EMIF1 = 1; - CpuSysRegs.PCLKCR1.bit.EMIF2 = 1; -#endif - - CpuSysRegs.PCLKCR2.bit.EPWM1 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM2 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM3 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM4 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM5 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM6 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM7 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM8 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM9 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM10 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM11 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM12 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM13 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM14 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM15 = 1; - CpuSysRegs.PCLKCR2.bit.EPWM16 = 1; - - CpuSysRegs.PCLKCR3.bit.ECAP1 = 1; - CpuSysRegs.PCLKCR3.bit.ECAP2 = 1; - CpuSysRegs.PCLKCR3.bit.ECAP3 = 1; - CpuSysRegs.PCLKCR3.bit.ECAP4 = 1; - CpuSysRegs.PCLKCR3.bit.ECAP5 = 1; - CpuSysRegs.PCLKCR3.bit.ECAP6 = 1; - CpuSysRegs.PCLKCR3.bit.ECAP7 = 1; - - CpuSysRegs.PCLKCR4.bit.EQEP1 = 1; - CpuSysRegs.PCLKCR4.bit.EQEP2 = 1; - CpuSysRegs.PCLKCR4.bit.EQEP3 = 1; - - CpuSysRegs.PCLKCR6.bit.SD1 = 1; - CpuSysRegs.PCLKCR6.bit.SD2 = 1; - - CpuSysRegs.PCLKCR7.bit.SCI_A = 1; - CpuSysRegs.PCLKCR7.bit.SCI_B = 1; - CpuSysRegs.PCLKCR7.bit.SCI_C = 1; - CpuSysRegs.PCLKCR7.bit.SCI_D = 1; - - CpuSysRegs.PCLKCR8.bit.SPI_A = 1; - CpuSysRegs.PCLKCR8.bit.SPI_B = 1; - CpuSysRegs.PCLKCR8.bit.SPI_C = 1; - CpuSysRegs.PCLKCR8.bit.SPI_D = 1; - - CpuSysRegs.PCLKCR9.bit.I2C_A = 1; - CpuSysRegs.PCLKCR9.bit.I2C_B = 1; - - CpuSysRegs.PCLKCR10.bit.CAN_A = 1; - CpuSysRegs.PCLKCR10.bit.CAN_B = 1; - - CpuSysRegs.PCLKCR11.bit.McBSP_A = 1; - CpuSysRegs.PCLKCR11.bit.McBSP_B = 1; - -#ifdef CPU1 - CpuSysRegs.PCLKCR11.bit.USB_A = 1; -#endif - - CpuSysRegs.PCLKCR13.bit.ADC_A = 1; - CpuSysRegs.PCLKCR13.bit.ADC_B = 1; - CpuSysRegs.PCLKCR13.bit.ADC_C = 1; - CpuSysRegs.PCLKCR13.bit.ADC_D = 1; - - CpuSysRegs.PCLKCR14.bit.CMPSS1 = 1; - CpuSysRegs.PCLKCR14.bit.CMPSS2 = 1; - CpuSysRegs.PCLKCR14.bit.CMPSS3 = 1; - CpuSysRegs.PCLKCR14.bit.CMPSS4 = 1; - CpuSysRegs.PCLKCR14.bit.CMPSS5 = 1; - CpuSysRegs.PCLKCR14.bit.CMPSS6 = 1; - CpuSysRegs.PCLKCR14.bit.CMPSS7 = 1; - CpuSysRegs.PCLKCR14.bit.CMPSS8 = 1; - - CpuSysRegs.PCLKCR16.bit.DAC_A = 1; - CpuSysRegs.PCLKCR16.bit.DAC_B = 1; - CpuSysRegs.PCLKCR16.bit.DAC_C = 1; - - CpuSysRegs.PCLKCR18.bit.FSITX_A = 1; - CpuSysRegs.PCLKCR18.bit.FSITX_B = 1; - CpuSysRegs.PCLKCR18.bit.FSIRX_A = 1; - CpuSysRegs.PCLKCR18.bit.FSIRX_B = 1; - CpuSysRegs.PCLKCR18.bit.FSIRX_C = 1; - CpuSysRegs.PCLKCR18.bit.FSIRX_D = 1; - CpuSysRegs.PCLKCR18.bit.FSIRX_E = 1; - CpuSysRegs.PCLKCR18.bit.FSIRX_F = 1; - CpuSysRegs.PCLKCR18.bit.FSIRX_G = 1; - CpuSysRegs.PCLKCR18.bit.FSIRX_H = 1; - - CpuSysRegs.PCLKCR20.bit.PMBUS_A = 1; - - CpuSysRegs.PCLKCR21.bit.DCC0 = 1; - CpuSysRegs.PCLKCR21.bit.DCC1 = 1; - CpuSysRegs.PCLKCR21.bit.DCC2 = 1; - - CpuSysRegs.PCLKCR23.bit.ETHERCAT = 1; - - EDIS; -} - -// -// DisablePeripheralClocks - Gates-off all peripheral clocks. -// -void DisablePeripheralClocks(void) -{ - EALLOW; - - CpuSysRegs.PCLKCR0.all = 0; - CpuSysRegs.PCLKCR1.all = 0; - CpuSysRegs.PCLKCR2.all = 0; - CpuSysRegs.PCLKCR3.all = 0; - CpuSysRegs.PCLKCR4.all = 0; - CpuSysRegs.PCLKCR6.all = 0; - CpuSysRegs.PCLKCR7.all = 0; - CpuSysRegs.PCLKCR8.all = 0; - CpuSysRegs.PCLKCR9.all = 0; - CpuSysRegs.PCLKCR10.all = 0; - CpuSysRegs.PCLKCR11.all = 0; - CpuSysRegs.PCLKCR13.all = 0; - CpuSysRegs.PCLKCR14.all = 0; - CpuSysRegs.PCLKCR16.all = 0; - CpuSysRegs.PCLKCR18.all = 0; - CpuSysRegs.PCLKCR20.all = 0; - CpuSysRegs.PCLKCR21.all = 0; - CpuSysRegs.PCLKCR22.all = 0; - CpuSysRegs.PCLKCR23.all = 0; - - EDIS; -} - -// -// InitFlash - This function initializes the Flash Control registers. -// -// *CAUTION* -// This function MUST be executed out of RAM. Executing it out of OTP/Flash -// will yield unpredictable results. -// -#ifdef __cplusplus -#pragma CODE_SECTION(".TI.ramfunc"); -#endif -void InitFlash(void) -{ - EALLOW; - - // - // At reset bank and pump are in sleep. A Flash access will power up the - // bank and pump automatically. - // - // Power up Flash bank and pump. This also sets the fall back mode of - // flash and pump as active. - // - Flash0CtrlRegs.FPAC1.bit.PMPPWR = 0x1; - Flash0CtrlRegs.FBFALLBACK.bit.BNKPWR0 = 0x3; - - // - // Disable Cache and prefetch mechanism before changing wait states - // - Flash0CtrlRegs.FRD_INTF_CTRL.bit.DATA_CACHE_EN = 0; - Flash0CtrlRegs.FRD_INTF_CTRL.bit.PREFETCH_EN = 0; - - // - // Set waitstates according to frequency - // - // *CAUTION* - // Minimum waitstates required for the flash operating at a given CPU rate - // must be characterized by TI. Refer to the datasheet for the latest - // information. - // - #if CPU_FRQ_200MHZ - Flash0CtrlRegs.FRDCNTL.bit.RWAIT = 0x3; - #endif - - #if CPU_FRQ_150MHZ - Flash0CtrlRegs.FRDCNTL.bit.RWAIT = 0x2; - #endif - - #if CPU_FRQ_120MHZ - Flash0CtrlRegs.FRDCNTL.bit.RWAIT = 0x2; - #endif - - // - // Enable Cache and prefetch mechanism to improve performance of code - // executed from Flash. - // - Flash0CtrlRegs.FRD_INTF_CTRL.bit.DATA_CACHE_EN = 1; - Flash0CtrlRegs.FRD_INTF_CTRL.bit.PREFETCH_EN = 1; - - // - // At reset, ECC is enabled. If it is disabled by application software and - // if application again wants to enable ECC. - // - Flash0EccRegs.ECC_ENABLE.bit.ENABLE = 0xA; - - EDIS; - - // - // Force a pipeline flush to ensure that the write to the last register - // configured occurs before returning. - // - __asm(" RPT #7 || NOP"); -} - -// -// FlashOff - This function powers down the flash -// -// *CAUTION* -// This function MUST be executed out of RAM. Executing it out of OTP/Flash -// will yield unpredictable results. Also you must seize the flash pump in -// order to power it down. -// -#ifdef __cplusplus -#pragma CODE_SECTION(".TI.ramfunc"); -#endif -void FlashOff(void) -{ - EALLOW; - - // - // Power down bank - // - Flash0CtrlRegs.FBFALLBACK.bit.BNKPWR0 = 0; - - // - // Power down pump - // - Flash0CtrlRegs.FPAC1.bit.PMPPWR = 0; - - EDIS; -} - - -// -// ServiceDog - This function resets the watchdog timer. -// -// Enable this function for using ServiceDog in the application. -// -void ServiceDog(void) -{ - EALLOW; - WdRegs.WDKEY.bit.WDKEY = 0x0055; - WdRegs.WDKEY.bit.WDKEY = 0x00AA; - EDIS; -} - -// -// DisableDog - This function disables the watchdog timer. -// -void DisableDog(void) -{ - volatile Uint16 temp; - - // - // Grab the clock config first so we don't clobber it - // - EALLOW; - temp = WdRegs.WDCR.all & 0x0007; - WdRegs.WDCR.all = 0x0068 | temp; - EDIS; -} - -#ifdef CPU1 -// -// InitPll - This function initializes the PLL registers. -// -// Note: This function uses the DCC to check that the PLLRAWCLK is running at -// the expected rate. The desirable DCC can be provided as a parameter. -// -void InitSysPll(Uint16 clock_source, Uint16 imult, Uint32 refdiv, Uint32 odiv, - Uint16 divsel, Uint32 dccbase) -{ - Uint32 timeout,temp_syspllmult, pllLockStatus; - bool status; - - if(((clock_source & 0x3) == ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL) && - (((clock_source & 0x4) >> 2) == ClkCfgRegs.XTALCR.bit.SE) && - (imult == ClkCfgRegs.SYSPLLMULT.bit.IMULT) && - (refdiv == ClkCfgRegs.SYSPLLMULT.bit.REFDIV) && - (odiv == ClkCfgRegs.SYSPLLMULT.bit.ODIV) && - (divsel == ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV)) - { - // - // Everything is set as required, so just return - // - return; - } - - EALLOW; - - // - // First modify the PLL multipliers if the multipliers need an update or PLL needs - // to be powered on / enabled - // - if((imult != ClkCfgRegs.SYSPLLMULT.bit.IMULT) || - (refdiv != ClkCfgRegs.SYSPLLMULT.bit.REFDIV)|| - (odiv != ClkCfgRegs.SYSPLLMULT.bit.ODIV) || - (1U != ClkCfgRegs.SYSPLLCTL1.bit.PLLEN)) - { - // - // Bypass PLL and set dividers to /1 - // - ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 0; - - // - // Delay of at least 120 OSCCLK cycles required post PLL bypass - // - asm(" RPT #120 || NOP"); - - // - // Evaluate PLL multipliers and dividers - // - temp_syspllmult = ((refdiv << 24U) | (odiv << 16U)| imult); - - // - // Turnoff the PLL - // - ClkCfgRegs.SYSPLLCTL1.bit.PLLEN = 0; - EDIS; - - // - // Delay of at least 66 OSCCLK cycles - // - asm(" RPT #66 || NOP"); - - if(((clock_source & 0x3) != ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL) || - (((clock_source & 0x4) >> 2) != ClkCfgRegs.XTALCR.bit.SE)) - { - switch (clock_source) - { - case INT_OSC1: - SysIntOsc1Sel(); - break; - - case INT_OSC2: - SysIntOsc2Sel(); - break; - - case XTAL_OSC: - SysXtalOscSel(); - break; - - case XTAL_OSC_SE: - SysXtalOscSESel(); - break; - } - } - - // - // Delay of at least 60 OSCCLK cycles - // - asm(" RPT #60 || NOP"); - - EALLOW; - - // - // Set dividers to /1 to ensure the fastest PLL configuration - // - ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = 0; - - // - // Program PLL multipliers - // - ClkCfgRegs.SYSPLLMULT.all = temp_syspllmult; - - // - // Enable SYSPLL - // - ClkCfgRegs.SYSPLLCTL1.bit.PLLEN = 1; - - // - // Lock time is 1024 OSCCLK * (REFDIV+1) - // - timeout = (1024U * (refdiv + 1U)); - pllLockStatus = ClkCfgRegs.SYSPLLSTS.bit.LOCKS; - - // - // Wait for the SYSPLL lock - // - while((pllLockStatus != 1) && (timeout != 0U)) - { - pllLockStatus = ClkCfgRegs.SYSPLLSTS.bit.LOCKS; - timeout--; - } - - EDIS; - - // - // Check PLL Frequency using DCC - // - status = IsPLLValid(dccbase, clock_source, INT_PLL_SYSPLL, - imult, odiv , refdiv); - - } - else - { - // - // Re-Lock of PLL not needed since the multipliers - // are not updated - // - status = true; - } - - if(status) - { - EALLOW; - // - // Set divider to produce slower output frequency to limit current increase - // - if(divsel != PLLCLK_BY_126) - { - ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = divsel + 1; - } - else - { - ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = divsel; - } - - // - // Enable PLLSYSCLK is fed from system PLL clock - // - ClkCfgRegs.SYSPLLCTL1.bit.PLLCLKEN = 1; - - // - // Small 100 cycle delay - // - asm(" RPT #100 || NOP"); - - // - // Set the divider to user value - // - ClkCfgRegs.SYSCLKDIVSEL.bit.PLLSYSCLKDIV = divsel; - EDIS; - } - else - ESTOP0; // If the frequency is out of range, stop here. - -} - -// -// InitAuxPll - This function initializes the AUXPLL registers. -// -// Note: This function uses the DCC to check that the AUXPLLRAWCLK is running at -// the expected rate. The desirable DCC can be provided as a parameter. -// -void InitAuxPll(Uint16 clock_source, Uint16 imult, Uint32 refdiv, Uint32 odiv, - Uint16 divsel, Uint32 dccbase) -{ - Uint16 started = 0 , status = 0; - - if((clock_source == ClkCfgRegs.CLKSRCCTL2.bit.AUXOSCCLKSRCSEL) && - (((clock_source & 0x4) >> 2) == ClkCfgRegs.XTALCR.bit.SE) && - (imult == ClkCfgRegs.AUXPLLMULT.bit.IMULT) && - (refdiv == ClkCfgRegs.SYSPLLMULT.bit.REFDIV) && - (odiv == ClkCfgRegs.SYSPLLMULT.bit.ODIV) && - (divsel == ClkCfgRegs.AUXCLKDIVSEL.bit.AUXPLLDIV)) - { - // - // Everything is set as required, so just return - // - return; - } - - // - // First modify the PLL multipliers - // - if((imult != ClkCfgRegs.AUXPLLMULT.bit.IMULT) || - (refdiv != ClkCfgRegs.AUXPLLMULT.bit.REFDIV)|| - (odiv != ClkCfgRegs.AUXPLLMULT.bit.ODIV) || - (1U != ClkCfgRegs.AUXPLLCTL1.bit.PLLEN)) - { - EALLOW; - - // - // Bypass PLL - // - ClkCfgRegs.AUXPLLCTL1.bit.PLLCLKEN = 0; - - // - // Delay of at least 120 OSCCLK cycles required post PLL bypass - // - asm(" RPT #120 || NOP"); - - ClkCfgRegs.AUXPLLCTL1.bit.PLLEN = 0; // Turn off AUXPLL - - // - // Delay of at least 66 OSCCLK cycles - // - asm(" RPT #66 || NOP"); - - // - // Configure oscillator source - // - switch (clock_source) - { - case INT_OSC2: - AuxIntOsc2Sel(); - break; - - case XTAL_OSC: - AuxXtalOscSel(); - break; - - case XTAL_OSC_SE: - AuxXtalOscSESel(); - break; - - case AUXCLKIN: - AuxAuxClkSel(); - break; - } - - // - // Delay of at least 60 OSCCLK cycles - // - asm(" RPT #60 || NOP"); - - EALLOW; - // - // Set integer multiplier and dividers, which automatically turns on - // the PLL - // - ClkCfgRegs.AUXPLLMULT.all = ((refdiv << 24U) | (odiv << 16U) | imult); - - // - // Enable AUXPLL - // - ClkCfgRegs.AUXPLLCTL1.bit.PLLEN = 1; - EDIS; - - // - // Wait for the AUXPLL lock counter - // - while(ClkCfgRegs.AUXPLLSTS.bit.LOCKS != 1) - { - // - // Uncomment to service the watchdog - // - // ServiceDog(); - } - - status = IsPLLValid(dccbase, clock_source, INT_PLL_AUXPLL, - imult, odiv , refdiv); - - // - // Check DCC Status - // - if(status) - { - started = 1; - } - - // - // Enable AUXPLLCLK to be fed from AUX PLL - // - EALLOW; - ClkCfgRegs.AUXPLLCTL1.bit.PLLCLKEN = 1; - asm(" RPT #20 || NOP"); - - EDIS; - - if(started == 0) - { - // - // AUX PLL may not have started. Reset multiplier to 0 (bypass PLL). - // - EALLOW; - ClkCfgRegs.AUXPLLMULT.all = 0; - EDIS; - - // - // The user should put some handler code here based on how this - // condition should be handled in their application. - // - asm(" ESTOP0"); - } - } - - // - // Set divider to desired value - // - EALLOW; - ClkCfgRegs.AUXCLKDIVSEL.bit.AUXPLLDIV = divsel; - - EDIS; -} -#endif - -// -// CsmUnlock - This function unlocks the CSM. User must replace the default -// value with the current password for the DSP. -// -Uint16 CsmUnlock(void) -{ - volatile Uint16 temp; - - // - // Load the key registers with the current password. These values are - // default passwords for the first ZSB. User should replace them with - // the correct password for the DSP. - // - EALLOW; - DcsmZ1Regs.Z1_CSMKEY0 = 0xFFFFFFFF; - DcsmZ1Regs.Z1_CSMKEY1 = 0x4D7FFFFF; - DcsmZ1Regs.Z1_CSMKEY2 = 0xFFFFFFFF; - DcsmZ1Regs.Z1_CSMKEY3 = 0xFFFFFFFF; - - DcsmZ2Regs.Z2_CSMKEY0 = 0xFFFFFFFF; - DcsmZ2Regs.Z2_CSMKEY1 = 0x3FFFFFFF; - DcsmZ2Regs.Z2_CSMKEY2 = 0xFFFFFFFF; - DcsmZ2Regs.Z2_CSMKEY3 = 0xFFFFFFFF; - EDIS; - - return(0); -} - -// -// SysIntOsc1Sel - This function switches to Internal Oscillator 1. -// -void SysIntOsc1Sel(void) -{ - EALLOW; - ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL = 2; // Clk Src = INTOSC1 - EDIS; -} - -// -// SysIntOsc2Sel - This function switches to Internal oscillator 2. -// -void SysIntOsc2Sel(void) -{ - EALLOW; - ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL = 0; // Clk Src = INTOSC2 - EDIS; -} - -// -// PollX1Counter - Clear the X1CNT counter and then wait for it to saturate -// four times. -// -static void -PollX1Counter(void) -{ - Uint16 loopCount = 0; - - // - // Delay for 1 ms while the XTAL powers up - // - // 2000 loops, 5 cycles per loop + 9 cycles overhead = 10009 cycles - // - F28x_usDelay(2000); - - // - // Clear and saturate X1CNT 4 times to guarantee operation - // - do - { - // - // Keep clearing the counter until it is no longer saturated - // - while(ClkCfgRegs.X1CNT.all > 0x1FF) - { - ClkCfgRegs.X1CNT.bit.CLR = 1; - ClkCfgRegs.X1CNT.bit.CLR = 0; - } - - // - // Wait for the X1 clock to saturate - // - while(ClkCfgRegs.X1CNT.all != 0x3FFU) - { - ; - } - - // - // Increment the counter - // - loopCount++; - }while(loopCount < 4); -} -// SysXtalOscSel - This function switches to External CRYSTAL oscillator. -// -void SysXtalOscSel(void) -{ - EALLOW; - ClkCfgRegs.XTALCR.bit.OSCOFF = 0; // Turn on XTALOSC - ClkCfgRegs.XTALCR.bit.SE = 0; // Select crystal mode - EDIS; - - // - // Wait for the X1 clock to saturate - // - PollX1Counter(); - - // - // Select XTAL as the oscillator source - // - EALLOW; - ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL = 1; - EDIS; - - // - // If a missing clock failure was detected, try waiting for the X1 counter - // to saturate again. Consider modifying this code to add a 10ms timeout. - // - while(ClkCfgRegs.MCDCR.bit.MCLKSTS != 0) - { - EALLOW; - ClkCfgRegs.MCDCR.bit.MCLKCLR = 1; - EDIS; - - // - // Wait for the X1 clock to saturate - // - PollX1Counter(); - - // - // Select XTAL as the oscillator source - // - EALLOW; - ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL = 1; - EDIS; - } -} -// -// SysXtalOscSESel - This function switches to external oscillator in -// single-ended mode and turns off all other clock sources to minimize power -// consumption. This option may not be available on all device packages -// -void -SysXtalOscSESel (void) -{ - EALLOW; - ClkCfgRegs.XTALCR.bit.OSCOFF = 0; // Turn on XTALOSC - ClkCfgRegs.XTALCR.bit.SE = 1; // Select single-ended mode - EDIS; - - // - // Wait for the X1 clock to saturate - // - PollX1Counter(); - - // - // Select XTALOSC as the oscillator source - // - EALLOW; - ClkCfgRegs.CLKSRCCTL1.bit.OSCCLKSRCSEL = 1; - EDIS; - - // - // If missing clock detected, there is something wrong with the oscillator - // module. - // - if(ClkCfgRegs.MCDCR.bit.MCLKSTS != 0) - { - ESTOP0; - } -} -// -// AuxIntOsc2Sel - This function switches to Internal oscillator 2. -// -void AuxIntOsc2Sel(void) -{ - EALLOW; - ClkCfgRegs.CLKSRCCTL2.bit.AUXOSCCLKSRCSEL = 0; // Clk Src = INTOSC2 - EDIS; -} - -// -// AuxXtalOscSel - This function switches to External CRYSTAL oscillator in -// crystal mode. -// -void AuxXtalOscSel(void) -{ - EALLOW; - ClkCfgRegs.CLKSRCCTL1.bit.XTALOFF=0; // Turn on XTALOSC - ClkCfgRegs.XTALCR.bit.SE = 0; // Select crystal mode - PollX1Counter(); // Wait for the X1 clock to saturate - ClkCfgRegs.CLKSRCCTL2.bit.AUXOSCCLKSRCSEL = 1; // Clk Src = XTAL - EDIS; -} - -// -// AuxXtalOscSESel - This function switches to External CRYSTAL oscillator in -// single-ended mode. -// -void AuxXtalOscSESel(void) -{ - EALLOW; - ClkCfgRegs.CLKSRCCTL1.bit.XTALOFF=0; // Turn on XTALOSC - ClkCfgRegs.XTALCR.bit.SE = 1; // Select single-ended mode - PollX1Counter(); // Wait for the X1 clock to saturate - ClkCfgRegs.CLKSRCCTL2.bit.AUXOSCCLKSRCSEL = 1; // Clk Src = XTAL - EDIS; -} -// -// AuxAuxClkSel - This function switches to AUXCLKIN (from a GPIO). -// -void AuxAuxClkSel(void) -{ - EALLOW; - ClkCfgRegs.CLKSRCCTL2.bit.AUXOSCCLKSRCSEL = 2; // Clk Src = XTAL - EDIS; -} - -// -// IDLE - Enter IDLE mode (single CPU). -// -void IDLE(void) -{ - EALLOW; - CpuSysRegs.LPMCR.bit.LPM = LPM_IDLE; - EDIS; - asm(" IDLE"); -} - -// -// STANDBY - Enter STANDBY mode (single CPU). -// -void STANDBY(void) -{ - EALLOW; - CpuSysRegs.LPMCR.bit.LPM = LPM_STANDBY; - EDIS; - asm(" IDLE"); -} - -#ifdef CPU1 -// -// IsPLLValid - This function validates PLL Raw Clock Frequency -// -bool -IsPLLValid(Uint32 base, Uint16 oscSource, Uint16 pllclk, Uint16 imult, - Uint16 odiv, Uint16 refdiv) -{ - float fclk1_0ratio; - volatile struct DCC_REGS *DccRegs; - - EALLOW; - - // - // Assigning DCC for PLL validation - // Enable Peripheral Clock Domain PCLKCR21 for DCC - // - if(base == SYSCTL_DCC_BASE0) - { - DccRegs = &Dcc0Regs; - CpuSysRegs.PCLKCR21.bit.DCC0 = 1; - } - else if(base == SYSCTL_DCC_BASE1) - { - DccRegs = &Dcc1Regs; - CpuSysRegs.PCLKCR21.bit.DCC1 = 1; - } - else if(base == SYSCTL_DCC_BASE2) - { - DccRegs = &Dcc2Regs; - CpuSysRegs.PCLKCR21.bit.DCC2 = 1; - } - else - ESTOP0; // Invalid DCC selected - - // - // Clear Error & Done Flag - // - DccRegs->DCCSTATUS.bit.ERR = 1; - DccRegs->DCCSTATUS.bit.DONE = 1; - - // - // Disable DCC - // - DccRegs->DCCGCTRL.bit.DCCENA = 0x5; - - // - // Disable Error Signal - // - DccRegs->DCCGCTRL.bit.ERRENA = 0x5; - - // - // Disable Done Signal - // - DccRegs->DCCGCTRL.bit.DONEENA = 0x5; - - // - // Configure Clock Source1 to PLL - // - // Clk Src1 Key 0xA to enable clock source selection - // - switch(pllclk) - { - case INT_PLL_SYSPLL: - DccRegs->DCCCLKSRC1.all = 0xA000; // Clk Src1 = SYSPLL - break; - - case INT_PLL_AUXPLL: - DccRegs->DCCCLKSRC1.all = 0xA001; // Clk Src1 = AUXPLL - break; - - default: - // - // Code shouldn't reach here - // - break; - } - - // - // Configure Clock Source0 to whatever is set as a reference - // clock source for PLL - // - // Clk Src0 Key 0xA to enable clock source selection - // - switch(oscSource) - { - case INT_OSC1: - DccRegs->DCCCLKSRC0.all = 0xA001; // Clk Src0 = INTOSC1 - break; - - case INT_OSC2: - DccRegs->DCCCLKSRC0.all = 0xA002; // Clk Src0 = INTOSC2 - break; - - case XTAL_OSC: - case XTAL_OSC_SE: - DccRegs->DCCCLKSRC0.all = 0xA000; // Clk Src0 = XTAL - break; - - default: - // - // Code shouldn't reach here - // - break; - } - - // - // Calculating frequency ratio of output clock(f1) vs reference clock(f0) - // - fclk1_0ratio = (float)imult / ((odiv + 1U) * (refdiv + 1)); - - // - // Computing and configuring Counter0 , Counter1 & Valid Seed Values - // with +/-1% tolerance for the desired DCC - // - ComputeCntrSeedValue(base, fclk1_0ratio, DCC_COUNTER0_TOLERANCE); - - // - // Enable Single Shot Mode - // - DccRegs->DCCGCTRL.bit.SINGLESHOT = 0xA; - - // - // Enable DCC to start counting - // - DccRegs->DCCGCTRL.bit.DCCENA = 0xA; - EDIS; - - // - // Wait until Error or Done Flag is generated - // - while((DccRegs->DCCSTATUS.all & 3) == 0) - { - } - - // - // Returns true if DCC completes without error - // - return((DccRegs->DCCSTATUS.all & 3) == 2); - -} - -//***************************************************************************** -// -// ComputeCntSeedValid - Compute Counter seed values based on the frequency ratio of output -// clock vs reference clock & tolerance expected for the desired DCC -// -//***************************************************************************** -void ComputeCntrSeedValue(Uint32 base, float fclk1_0ratio, Uint32 tolerance) -{ - Uint32 window, dccCounterSeed0, dccValidSeed0, dccCounterSeed1, total_error; - volatile struct DCC_REGS *DccRegs; - - if(fclk1_0ratio >= 1U) - { - // - // Setting Counter0 & Valid Seed Value with expected tolerance - // Total error is 12 - // - window = (12U * 100U) / tolerance; - dccCounterSeed0 = window - 12U; - dccValidSeed0 = 24U; - - } - else - { - total_error = (((Uint32)2U / fclk1_0ratio) + (Uint32)10U); - - window = ((total_error * 100U)/ tolerance); - - // - // Setting Counter0 & Valid Seed Value with expected tolerance - // - dccCounterSeed0 = window - total_error; - dccValidSeed0 = (Uint32)2U * total_error; - - } - - // - // Multiplying Counter-0 window with PLL Integer Multiplier - // - dccCounterSeed1 = window * fclk1_0ratio; - - // - // Assigning DCC for PLL validation - // - if(base == SYSCTL_DCC_BASE0) - DccRegs = &Dcc0Regs; - else if(base == SYSCTL_DCC_BASE1) - DccRegs = &Dcc1Regs; - else if(base == SYSCTL_DCC_BASE2) - DccRegs = &Dcc2Regs; - else - ESTOP0; // Invalid DCC selected - - // - // Configure COUNTER-0, COUNTER-1 & Valid Window - // - DccRegs->DCCCNTSEED0.bit.COUNTSEED0 = dccCounterSeed0; // Loaded Counter0 Value - DccRegs->DCCVALIDSEED0.bit.VALIDSEED = dccValidSeed0; // Loaded Valid Value - DccRegs->DCCCNTSEED1.bit.COUNTSEED1 = dccCounterSeed1; // Loaded Counter1 Value -} -#endif - -// -// End of File -// - diff --git a/Projects/epwm_test/lib/f2838x_usdelay.asm b/Projects/epwm_test/lib/f2838x_usdelay.asm deleted file mode 100644 index a29cb5c..0000000 --- a/Projects/epwm_test/lib/f2838x_usdelay.asm +++ /dev/null @@ -1,108 +0,0 @@ -;//########################################################################### -;// -;// FILE: f2838x_usdelay.asm -;// -;// TITLE: Simple delay function -;// -;// DESCRIPTION: -;// This is a simple delay function that can be used to insert a specified -;// delay into code. -;// This function is only accurate if executed from internal zero-waitstate -;// SARAM. If it is executed from waitstate memory then the delay will be -;// longer then specified. -;// To use this function: -;// 1 - update the CPU clock speed in the f2838x_examples.h -;// file. For example: -;// #define CPU_RATE 6.667L // for a 150MHz CPU clock speed -;// 2 - Call this function by using the DELAY_US(A) macro -;// that is defined in the f2838x_device.h file. This macro -;// will convert the number of microseconds specified -;// into a loop count for use with this function. -;// This count will be based on the CPU frequency you specify. -;// 3 - For the most accurate delay -;// - Execute this function in 0 waitstate RAM. -;// - Disable interrupts before calling the function -;// If you do not disable interrupts, then think of -;// this as an "at least" delay function as the actual -;// delay may be longer. -;// The C assembly call from the DELAY_US(time) macro will -;// look as follows: -;// extern void Delay(long LoopCount); -;// MOV AL,#LowLoopCount -;// MOV AH,#HighLoopCount -;// LCR _Delay -;// Or as follows (if count is less then 16-bits): -;// MOV ACC,#LoopCount -;// LCR _Delay -;// -;//########################################################################### -;// -;// -;// $Copyright: -;// Copyright (C) 2022 Texas Instruments Incorporated - http://www.ti.com -;// -;// Redistribution and use in source and binary forms, with or without -;// modification, are permitted provided that the following conditions -;// are met: -;// -;// Redistributions of source code must retain the above copyright -;// notice, this list of conditions and the following disclaimer. -;// -;// 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. -;// -;// Neither the name of Texas Instruments Incorporated nor the names of -;// its contributors may be used to endorse or promote products derived -;// from this software without specific prior written permission. -;// -;// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -;// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -;// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -;// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -;// OWNER OR CONTRIBUTORS 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. -;// $ -;//########################################################################### - - .if __TI_EABI__ - .asg F28x_usDelay, _F28x_usDelay - .endif - .def _F28x_usDelay - - .cdecls LIST ;;Used to populate __TI_COMPILER_VERSION__ macro - %{ - %} - - .if __TI_COMPILER_VERSION__ - .if __TI_COMPILER_VERSION__ >= 15009000 - .sect ".TI.ramfunc" ;;Used with compiler v15.9.0 and newer - .else - .sect "ramfuncs" ;;Used with compilers older than v15.9.0 - .endif - .endif - - .global __F28x_usDelay -_F28x_usDelay: - SUB ACC,#1 - BF _F28x_usDelay,GEQ ;; Loop if ACC >= 0 - LRETR - -;There is a 9/10 cycle overhead and each loop -;takes five cycles. The LoopCount is given by -;the following formula: -; DELAY_CPU_CYCLES = 9 + 5*LoopCount -; LoopCount = (DELAY_CPU_CYCLES - 9) / 5 -; The macro DELAY_US(A) performs this calculation for you -; -; - -;// -;// End of file -;// diff --git a/Projects/epwm_test/src/BL25CM1A.c b/Projects/epwm_test/src/BL25CM1A.c deleted file mode 100644 index c621be5..0000000 --- a/Projects/epwm_test/src/BL25CM1A.c +++ /dev/null @@ -1,61 +0,0 @@ -/* - * BL25CM1A.c - * - * Created on: 7 ñåíò. 2023 ã. - * Author: seklyuts - */ -#include "f28x_project.h" -#include "spi_init.h" - -#define WREN 0b00000110 //Enable Write Operations -#define WRDI 0b00000100 //Disable Write Operations -#define RDSR 0b00000101 //Read Status Register -#define WRSR 0b00000001 //Write Status Register -#define READ 0b00000011 //Read Data from Memory -#define WRITE 0b00000010 //Write Data to Memory -#define RDID 0b10000011 //Read identification page -#define WRID 0b10000010 //Write identification page -#define RDLS 0b10000011 //Reads the identification page lock status -#define LID 0b10000010 //Locks the identification page in read-only mode - - -uint16_t sdata2 = RDSR; // sent data -uint16_t rdata2 = 0; // received data -uint16_t error2 = 0; - -void Bl25cm1a_en(void) -{ - transmitBData(WREN); - while(SpibRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - - rdata2 = SpibRegs.SPIRXBUF; -} - - -void Bl25cm1a_write(void) -{ - transmitBData(sdata2); - - // - // Wait until data is received - // - while(SpibRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - - rdata2 = SpibRegs.SPIRXBUF; - - -} - -void Bl25cm1a_read(void) -{ - - - - -} diff --git a/Projects/epwm_test/src/BL25CM1A.h b/Projects/epwm_test/src/BL25CM1A.h deleted file mode 100644 index e42dc40..0000000 --- a/Projects/epwm_test/src/BL25CM1A.h +++ /dev/null @@ -1,15 +0,0 @@ -/* - * BL25CM1A.h - * - * Created on: 7 ñåíò. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_BL25CM1A_H_ -#define SRC_BL25CM1A_H_ - -void Bl25cm1a_en(void); -void Bl25cm1a_write(void); -void Bl25cm1a_read(void); - -#endif /* SRC_BL25CM1A_H_ */ diff --git a/Projects/epwm_test/src/GD25Q16ETIGR.c b/Projects/epwm_test/src/GD25Q16ETIGR.c deleted file mode 100644 index 14e2a50..0000000 --- a/Projects/epwm_test/src/GD25Q16ETIGR.c +++ /dev/null @@ -1,95 +0,0 @@ -/* - * GD25Q16ETIGR.c - * - * Created on: 7 ñåíò. 2023 ã. - * Author: seklyuts - */ -#include "f28x_project.h" -#include "spi_init.h" - - -uint16_t sdata1 = 0x6; // sent data -uint16_t rdata1[256]; // received data -uint16_t error1 = 0; - -void GD25Q16ETIGR_en(void) -{ - transmitBData(sdata1); - while(SpibRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - rdata1[0] = SpibRegs.SPIRXBUF; -} - - -void GD25Q16ETIGR_write(void) -{ - uint16_t i; - for(i = 0; i<=255; i++) - { - transmitBData(i); - - // - // Wait until data is received - // - while(SpibRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - rdata1[i] = SpibRegs.SPIRXBUF; - } -/* transmitData(0x90); - - // - // Wait until data is received - // - while(SpiaRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - rdata1 = SpiaRegs.SPIRXBUF; - - transmitData(0xFF); - - // - // Wait until data is received - // - while(SpiaRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - rdata1 = SpiaRegs.SPIRXBUF; - - transmitData(0xFF); - - // - // Wait until data is received - // - while(SpiaRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - rdata1 = SpiaRegs.SPIRXBUF; - transmitData(0xFF); - - // - // Wait until data is received - // - while(SpiaRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - rdata1 = SpiaRegs.SPIRXBUF; - transmitData(0xFF); - - // - // Wait until data is received - // - while(SpiaRegs.SPIFFRX.bit.RXFFST != 1) - { - - } - rdata1 = SpiaRegs.SPIRXBUF; - */ -} diff --git a/Projects/epwm_test/src/GD25Q16ETIGR.h b/Projects/epwm_test/src/GD25Q16ETIGR.h deleted file mode 100644 index 77bbfcb..0000000 --- a/Projects/epwm_test/src/GD25Q16ETIGR.h +++ /dev/null @@ -1,14 +0,0 @@ -/* - * GD25Q16ETIGR.h - * - * Created on: 7 ñåíò. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_GD25Q16ETIGR_H_ -#define SRC_GD25Q16ETIGR_H_ - -void GD25Q16ETIGR_en(void); -void GD25Q16ETIGR_write(void); - -#endif /* SRC_GD25Q16ETIGR_H_ */ diff --git a/Projects/epwm_test/src/ZD24C02A.c b/Projects/epwm_test/src/ZD24C02A.c deleted file mode 100644 index 8e54058..0000000 --- a/Projects/epwm_test/src/ZD24C02A.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * ZD24C02A.c - * - * Created on: 8 ñåíò. 2023 ã. - * Author: seklyuts - */ -#include "f28x_project.h" -#include "i2c_init.h" -#include "ZD24C02A.h" - -volatile uint16_t SlaveAdr = I2C_SLAVE_ADDRESS; - -void ZD24C02A_write(uint16_t byteCount, uint16_t * Array) -{ - I2CWrite(SlaveAdr, (byteCount + 1), true, Array); -} - -void ZD24C02A_read(uint16_t byteCount, uint16_t * Array) -{ - I2CWrite(SlaveAdr, 1, false, Array); - I2CRead(SlaveAdr, byteCount, true, Array); -// I2CWriteRead(I2C_SLAVE_ADDRESS, byteCount, true, Array); -// I2CWriteReadOnes(I2C_SLAVE_ADDRESS); -} - -void ZD24C02A_read_all(uint16_t byteCount, uint16_t * Array) -{ - I2CRead(SlaveAdr, byteCount, true, Array); -// I2CWriteRead(I2C_SLAVE_ADDRESS, byteCount, true, Array); -// I2CWriteReadOnes(I2C_SLAVE_ADDRESS); -} - - -void ZD24C02A_test(uint16_t * Array) -{ - uint16_t i=0; - for(i=0;i<=255;i+=15) - { - I2CWrite(SlaveAdr, 1, true, Array); - } -} diff --git a/Projects/epwm_test/src/ZD24C02A.h b/Projects/epwm_test/src/ZD24C02A.h deleted file mode 100644 index d9a36e4..0000000 --- a/Projects/epwm_test/src/ZD24C02A.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * ZD24C02A.h - * - * Created on: 8 ñåíò. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_ZD24C02A_H_ -#define SRC_ZD24C02A_H_ - -#define I2C_SLAVE_ADDRESS 0x51U -#define I2C_OWN_ADDRESS 0x30U - - -void ZD24C02A_write(uint16_t byteCount, uint16_t * Array); -void ZD24C02A_read(uint16_t byteCount, uint16_t * Array); -void ZD24C02A_test(uint16_t * Array); -void ZD24C02A_read_all(uint16_t byteCount, uint16_t * Array); - -#endif /* SRC_ZD24C02A_H_ */ diff --git a/Projects/epwm_test/src/frm_uart.c b/Projects/epwm_test/src/frm_uart.c deleted file mode 100644 index 516c658..0000000 --- a/Projects/epwm_test/src/frm_uart.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - * frm_uart.c - * - * Created on: 21 àâã. 2023 ã. - * Author: seklyuts - */ -#include "f28x_project.h" -//#include "f2838x_pinmux.h" -#include "frm_uart.h" - -uint16_t frmEn = 0; - - -uint16_t FMSTR_is_enable(void) -{ - return frmEn; -} - -void FMSTR_enable_clr(void) -{ - frmEn = 0; -} - -void FMSTR_enable_set(void) -{ - frmEn = 1; -} - -void FRMUartInit(void) -{ - FMSTR_Init(); - CpuSysRegs.PCLKCR7.bit.SCI_A = 1; - - // For this example, only init the pins for the SCI-A port. - // GPIO_SetupPinMux() - Sets the GPxMUX1/2 and GPyMUX1/2 register bits - // GPIO_SetupPinOptions() - Sets the direction and configuration of the GPIOS - // These functions are found in the f2838x_gpio.c file. - EALLOW; - GpioCtrlRegs.GPAPUD.bit.GPIO28 = 1; // Disable pull-up - GpioCtrlRegs.GPAPUD.bit.GPIO29 = 0; - - GpioCtrlRegs.GPAMUX2.bit.GPIO28 = 1; // - GpioCtrlRegs.GPAMUX2.bit.GPIO29 = 1; // - EDIS; - // GPIO_SetupPinMux(28, GPIO_MUX_CPU1, 1); - // GPIO_SetupPinOptions(28, GPIO_INPUT, GPIO_PUSHPULL); - // GPIO_SetupPinMux(29, GPIO_MUX_CPU1, 1); - GPIO_SetupPinOptions(29, GPIO_OUTPUT, GPIO_ASYNC); - // - // Note: Clocks were turned on to the SCIA peripheral - // in the InitSysCtrl() function - // - - SciaRegs.SCICCR.all = 0x0007; // 1 stop bit, No loopback - // No parity,8 char bits, - // async mode, idle-line protocol - SciaRegs.SCICTL1.all = 0x0003; // enable TX, RX, internal SCICLK, - // Disable RX ERR, SLEEP, TXWAKE - SciaRegs.SCICTL2.all = 0x0003; - SciaRegs.SCICTL2.bit.TXINTENA = 0; - SciaRegs.SCICTL2.bit.RXBKINTENA = 0; - - // - // SCIA at 9600 baud - // @LSPCLK = 50 MHz (200 MHz SYSCLK) HBAUD = 0x02 and LBAUD = 0x8B. - // @LSPCLK = 30 MHz (120 MHz SYSCLK) HBAUD = 0x01 and LBAUD = 0x86. - // - SciaRegs.SCIHBAUD.all = 0x0002; - SciaRegs.SCILBAUD.all = 0x008B; - - SciaRegs.SCICTL1.all = 0x0023; // Relinquish SCI from Reset -} - - - - -void FMSTR_SCI_PUTCHAR(char _data) -{ - SciaRegs.SCITXBUF.all = _data; -} - -char FMSTR_SCI_GETCHAR() -{ - return SciaRegs.SCIRXBUF.all; ; -} - -void FMSTR_SCI_RE(void) -{ - SciaRegs.SCICTL1.bit.RXENA = 1; -} - -void FMSTR_SCI_RD(void) -{ - SciaRegs.SCICTL1.bit.RXENA = 0; -} - -void FMSTR_SCI_TE(void) -{ - SciaRegs.SCICTL1.bit.TXENA = 1; -} - -void FMSTR_SCI_TD(void) -{ - SciaRegs.SCICTL1.bit.TXENA = 0; -} - - -FMSTR_SCISR FMSTR_SCI_RDCLRSR(void) -{ - FMSTR_SCISR SciSR = 0; - - if (SciaRegs.SCIRXST.bit.RXRDY) // UART receive buffer full - { - SciSR = FMSTR_SCISR_RDRF; - } - - if(SciaRegs.SCICTL2.bit.TXEMPTY) // UART is transmitting data or transmit register full (UART busy) - { - SciSR |= FMSTR_SCISR_TDRE; - } - - return SciSR; -} diff --git a/Projects/epwm_test/src/frm_uart.h b/Projects/epwm_test/src/frm_uart.h deleted file mode 100644 index 7ff51e8..0000000 --- a/Projects/epwm_test/src/frm_uart.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - * frm_uart.h - * - * Created on: 21 àâã. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_FRM_UART_H_ -#define SRC_FRM_UART_H_ - -#include "PE_freemaster_56F8xxx.h" - - -void uart_init_uart2(uint32_t Baudrate); -void uart_init_uart1(uint32_t Baudrate); - -void FMSTR_SCI_PUTCHAR(char _data); -char FMSTR_SCI_GETCHAR(void); -void FMSTR_SCI_RE(void); -void FMSTR_SCI_RD(void); -void FMSTR_SCI_TE(void); -void FMSTR_SCI_TD(void); -FMSTR_SCISR FMSTR_SCI_RDCLRSR(void); -//void FMSTR_InitSerial(void) ; -void FRMUartInit(void); - -uint16_t FMSTR_is_enable(void); -void FMSTR_enable_clr(void); -void FMSTR_enable_set(void); - -#endif /* SRC_FRM_UART_H_ */ diff --git a/Projects/epwm_test/src/gpio_init.c b/Projects/epwm_test/src/gpio_init.c deleted file mode 100644 index b0117c9..0000000 --- a/Projects/epwm_test/src/gpio_init.c +++ /dev/null @@ -1,41 +0,0 @@ -/* - * gpio_init.c - * - * Created on: 4 ñåíò. 2023 ã. - * Author: seklyuts - */ -#include "f28x_project.h" - -void GpioInit(void) -{ - EALLOW; - GpioCtrlRegs.GPAMUX2.bit.GPIO20 = 0; - GpioCtrlRegs.GPAMUX2.bit.GPIO21 = 0; - GpioCtrlRegs.GPAGMUX2.bit.GPIO20 = 0; - GpioCtrlRegs.GPAGMUX2.bit.GPIO21 = 0; - GpioCtrlRegs.GPADIR.bit.GPIO20 = 1; - GpioCtrlRegs.GPADIR.bit.GPIO21 = 1; - GpioDataRegs.GPADAT.bit.GPIO20 = 0; - GpioDataRegs.GPADAT.bit.GPIO21 = 0; - - GpioCtrlRegs.GPAGMUX2.bit.GPIO18 = 0; - GpioCtrlRegs.GPAGMUX2.bit.GPIO18 = 0; - GpioCtrlRegs.GPADIR.bit.GPIO18 = 0; - - GpioCtrlRegs.GPAGMUX2.bit.GPIO19 = 0; - GpioCtrlRegs.GPAGMUX2.bit.GPIO19 = 0; - GpioCtrlRegs.GPADIR.bit.GPIO19 = 0; - - EDIS; -} - -void Gpio20out(uint16_t out_bit) -{ - GpioDataRegs.GPADAT.bit.GPIO20 = out_bit; -} - - -void Gpio21out(uint16_t out_bit) -{ - GpioDataRegs.GPADAT.bit.GPIO21 = out_bit; -} diff --git a/Projects/epwm_test/src/gpio_init.h b/Projects/epwm_test/src/gpio_init.h deleted file mode 100644 index bc634b2..0000000 --- a/Projects/epwm_test/src/gpio_init.h +++ /dev/null @@ -1,16 +0,0 @@ -/* - * gpio_init.h - * - * Created on: 4 ñåíò. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_GPIO_INIT_H_ -#define SRC_GPIO_INIT_H_ - - -void GpioInit(void); -void Gpio20out(uint16_t out_bit); -void Gpio21out(uint16_t out_bit); - -#endif /* SRC_GPIO_INIT_H_ */ diff --git a/Projects/epwm_test/src/i2c_init.c b/Projects/epwm_test/src/i2c_init.c deleted file mode 100644 index c8fe191..0000000 --- a/Projects/epwm_test/src/i2c_init.c +++ /dev/null @@ -1,482 +0,0 @@ -/* - * i2c_init.c - * - * Created on: 5 ñåíò. 2023 ã. - * Author: seklyuts - */ -#include "f28x_project.h" -#include "i2c_init.h" -// -// Function to configure I2CA as Master Transmitter. -// - - - - - -// -// I2C GPIO pins -// -#define GPIO_PIN_SDAA 0U // GPIO number for I2C SDAA -#define GPIO_PIN_SCLA 1U // GPIO number for I2C SCLA - -#define TIME_OVER 1000 - -Uint16 TimerTimeouts = 0, ErrI2c = 0, ErrI2c1 = 0, ErrI2c2 = 0, ErrI2c3 = 0, Addr=0, Addr1[255]; -uint16_t RXdata, addrCount=0; - -void TimerBaseTimeoutInc(void) -{ - TimerTimeouts++; -} - - -void I2CMasterGpioInit(void) -{ - // - //Configure I2C pins - // - GPIO_SetupPinMux(GPIO_PIN_SDAA, GPIO_MUX_CPU1, 6); - GPIO_SetupPinOptions(GPIO_PIN_SDAA, GPIO_OUTPUT, GPIO_PULLUP); - GPIO_SetupPinMux(GPIO_PIN_SCLA, GPIO_MUX_CPU1, 6); - GPIO_SetupPinOptions(GPIO_PIN_SCLA, GPIO_OUTPUT, GPIO_PULLUP); -} - -void I2CMasterInit(uint16_t I2C_OwnAddress, uint16_t I2CSlave_Address) -{ - EALLOW; - // - // Must put I2C into reset before configuring it - // - I2caRegs.I2CMDR.all &= ~(0x20U); - - // - // I2C configuration. Use a 400kHz I2CCLK with a 50% duty cycle. - // - //I2C_initMaster(base, DEVICE_SYSCLK_FREQ, 400000, I2C_DUTYCYCLE_50); - I2caRegs.I2CPSC.all = 88; // Prescaler - need 7-12 Mhz on module clk - I2caRegs.I2CCLKL = 0x7; // NOTE: must be non zero - I2caRegs.I2CCLKH = 0x8; // NOTE: must be non zero - - - // - // Configure Master as a Transmitter - // - I2caRegs.I2CMDR.bit.MST = 0x1; - I2caRegs.I2CMDR.bit.TRX = 0x1; - - // - // Set data count - // -// I2caRegs.I2CCNT = I2C_NUMBYTES; - - // - // Set the bit count to 8 bits per data byte - // - I2caRegs.I2CMDR.bit.BC = 0x0U; - - // - // Configure slave and own address - // - I2caRegs.I2COAR.all = I2C_OwnAddress; // Own address - I2caRegs.I2CSAR.all = I2CSlave_Address; // Slave address - - // - // Set emulation mode to FREE - // - I2caRegs.I2CMDR.bit.FREE = 0x1; - - // - //Clear all status - // - I2caRegs.I2CSTR.all = 0xFFFF; - - // - // Enable I2C Interrupts- RRDY - // - I2caRegs.I2CIER.all = 0x08; - - // - // Take I2C out of reset - // - I2caRegs.I2CMDR.all |= 0x0020; - - -} - -uint16_t j = 0; -// -// Function to send data over I2C. -// -void I2CWrite(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_TXdata) -{ - - // - // Locals - // - uint16_t index = 0; - - // - // Configure slave address - // - I2caRegs.I2CSAR.all = slaveAddr; // Slave address - - // - // Configure I2C as Master Transmitter - // - I2caRegs.I2CMDR.bit.MST = 0x1; - I2caRegs.I2CMDR.bit.TRX = 0x1; - - // - //Set Data Count - // - I2caRegs.I2CCNT = byteCount; - - // - // send Start condition - // -// I2caRegs.I2CMDR.bit.STP = 0x1; - I2caRegs.I2CMDR.bit.STT = 0x1; - - // - //transmit the bytes - // - for(index=0; index < byteCount; index++) - { - I2caRegs.I2CDXR.all= I2C_TXdata[index]; - // - //wait till byte is sent - // - TimerTimeouts = 0; - while((I2caRegs.I2CSTR.bit.BYTESENT != 0x1)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c++; -// else {Addr1[addrCount] = slaveAddr; addrCount++; if(addrCount > 255) addrCount = 0;} - // - //clear the byte sent - // - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - } - - // - // Send STOP condition if specified - // - if(sendStopCondition) - { - I2caRegs.I2CMDR.bit.STP = 0x1; - TimerTimeouts = 0; - while((I2caRegs.I2CMDR.bit.STP != 0x0)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c1++; - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - } -} - -// -// Function to read data over I2C. Returns the number of bytes read -// -uint16_t ttest=0; -uint16_t I2CRead(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_RXdata) -{ - I2caRegs.I2CMDR.bit.NACKMOD = 0x0; - // - // Configure slave address - // - I2caRegs.I2CSAR.all = slaveAddr; - - // - // Configure I2C in Master Receiver mode - // - I2caRegs.I2CMDR.bit.MST = 0x1; - I2caRegs.I2CMDR.bit.TRX = 0x0; - - - uint16_t count = 0; - - I2caRegs.I2CCNT = byteCount; - I2caRegs.I2CMDR.bit.STT = 0x1; - - // - // Read the received data into RX buffer - // - TimerTimeouts = 0; - while((count < (byteCount))&&(TimerTimeouts < TIME_OVER)) - { - if(I2caRegs.I2CSTR.bit.RRDY ==0x1) - { - RXdata = I2C_RXdata[count+1] = I2caRegs.I2CDRR.all; - count++; - } - } - if(TimerTimeouts >= TIME_OVER) ErrI2c2 += (byteCount - count); - - // - // Send STOP condition - // - if(sendStopCondition) - { - I2caRegs.I2CMDR.bit.STP = 0x1; - TimerTimeouts = 0; - while((I2caRegs.I2CMDR.bit.STP != 0x0)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c3++; - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - } - return count; -} - - -uint16_t I2CWriteRead(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_RXdata) -{ - // - // Locals - // - - // - // Configure slave address - // - I2caRegs.I2CSAR.all = slaveAddr; // Slave address - - // - // Configure I2C as Master Transmitter - // - I2caRegs.I2CMDR.bit.MST = 0x1; - I2caRegs.I2CMDR.bit.TRX = 0x1; - - // - //Set Data Count - // - I2caRegs.I2CCNT = 1; - - // - // send Start condition - // - I2caRegs.I2CMDR.bit.STT = 0x1; - - // - //transmit the bytes - // - - I2caRegs.I2CDXR.all= I2C_RXdata[0]; - // - //wait till byte is sent - // - TimerTimeouts = 0; - while((I2caRegs.I2CSTR.bit.BYTESENT != 0x1)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c++; - else Addr = slaveAddr; - // - //clear the byte sent - // - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - - - // - // Configure slave address - // - I2caRegs.I2CSAR.all = slaveAddr; - - // - // Configure I2C in Master Receiver mode - // - I2caRegs.I2CMDR.bit.MST = 0x1; - I2caRegs.I2CMDR.bit.TRX = 0x0; - - // - //Set Data Count - // - I2caRegs.I2CCNT = byteCount; - - // - // send Start condition - // - I2caRegs.I2CMDR.bit.STT = 0x1; - - uint16_t count = 0; - - // - // Read the received data into RX buffer - // - TimerTimeouts = 0; - while((count < byteCount)&&(TimerTimeouts < TIME_OVER)) - { - if(count == (byteCount-1)) I2caRegs.I2CMDR.bit.NACKMOD = 0x1; - if(I2caRegs.I2CSTR.bit.RRDY ==0x1) - { - I2C_RXdata[count] = I2caRegs.I2CDRR.all; - count++; - } - } - if(TimerTimeouts >= TIME_OVER) ErrI2c2 += (byteCount - count); - I2caRegs.I2CMDR.bit.NACKMOD = 0x0; - - // - // Send STOP condition - // - if(sendStopCondition) - { - I2caRegs.I2CMDR.bit.STP = 0x1; - TimerTimeouts = 0; - while((I2caRegs.I2CMDR.bit.STP != 0x0)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c3++; - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - } - return count; -} - - -void I2CWriteReadOnes(uint16_t slaveAddr) -{ - // - // Locals - // - - // - // Configure slave address - // - I2caRegs.I2CSAR.all = slaveAddr; // Slave address - - // - // Configure I2C as Master Transmitter - // - I2caRegs.I2CMDR.bit.MST = 0x1; - I2caRegs.I2CMDR.bit.TRX = 0x1; - - // - //Set Data Count - // - I2caRegs.I2CCNT = 1; - - // - // send Start condition - // - I2caRegs.I2CMDR.bit.STT = 0x1; - - // - //transmit the bytes - // - - I2caRegs.I2CDXR.all= 0x80; - // - //wait till byte is sent - // - TimerTimeouts = 0; - while((I2caRegs.I2CSTR.bit.BYTESENT != 0x1)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c++; - else Addr = slaveAddr; - // - //clear the byte sent - // - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - - - // - // Configure slave address - // - I2caRegs.I2CSAR.all = slaveAddr; - - // - // Configure I2C in Master Receiver mode - // - I2caRegs.I2CMDR.bit.MST = 0x1; - I2caRegs.I2CMDR.bit.TRX = 0x0; - - // - //Set Data Count - // - I2caRegs.I2CCNT = 0; - - // - // send Start condition - // - I2caRegs.I2CMDR.bit.STT = 0x1; - - // - // Read the received data into RX buffer - // - TimerTimeouts = 0; - I2caRegs.I2CMDR.bit.NACKMOD = 0x1; - while((I2caRegs.I2CSTR.bit.RRDY != 0x1)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c2++; - else RXdata = I2caRegs.I2CDRR.all; - I2caRegs.I2CMDR.bit.NACKMOD = 0x0; - - // - // Send STOP condition - // - - I2caRegs.I2CMDR.bit.STP = 0x1; - TimerTimeouts = 0; - while((I2caRegs.I2CMDR.bit.STP != 0x0)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c3++; - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - - -} - -void I2CWriteOnse(uint16_t slaveAddr) -{ - - // - // Locals - // - //uint16_t index = 0; - - // - // Configure slave address - // - I2caRegs.I2CSAR.all = slaveAddr; // Slave address - - // - // Configure I2C as Master Transmitter - // - I2caRegs.I2CMDR.bit.MST = 0x1; - I2caRegs.I2CMDR.bit.TRX = 0x1; - - // - //Set Data Count - // - I2caRegs.I2CCNT = 2; - - // - // send Start condition - // - I2caRegs.I2CMDR.bit.STT = 0x1; - - // - //transmit the bytes - // - - I2caRegs.I2CDXR.all= 0x80; - // - //wait till byte is sent - // - TimerTimeouts = 0; - while((I2caRegs.I2CSTR.bit.BYTESENT != 0x1)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c++; - else Addr = slaveAddr; - // - //clear the byte sent - // - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - - I2caRegs.I2CDXR.all= RXdata; - // - //wait till byte is sent - // - TimerTimeouts = 0; - while((I2caRegs.I2CSTR.bit.BYTESENT != 0x1)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c++; - else Addr = slaveAddr; - // - //clear the byte sent - // - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - // - // Send STOP condition if specified - // - - I2caRegs.I2CMDR.bit.STP = 0x1; - TimerTimeouts = 0; - while((I2caRegs.I2CMDR.bit.STP != 0x0)&&(TimerTimeouts < TIME_OVER)); - if(TimerTimeouts >= TIME_OVER) ErrI2c1++; - I2caRegs.I2CSTR.bit.BYTESENT = 0x1; - -} diff --git a/Projects/epwm_test/src/i2c_init.h b/Projects/epwm_test/src/i2c_init.h deleted file mode 100644 index 57c82d0..0000000 --- a/Projects/epwm_test/src/i2c_init.h +++ /dev/null @@ -1,28 +0,0 @@ -/* - * i2c_init.h - * - * Created on: 5 ñåíò. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_I2C_INIT_H_ -#define SRC_I2C_INIT_H_ - - -#define MAX_BUFFER_SIZE 0x10 -// -// Function Prototypes -// - - - -void I2CMasterInit(uint16_t I2CSlave_OwnAddress, uint16_t I2CSlave_Address); -void I2CWrite(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_TXdata); -uint16_t I2CRead(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_RXdata); -uint16_t I2CWriteRead(uint16_t slaveAddr, uint16_t byteCount, bool sendStopCondition, uint16_t * I2C_RXdata); -void I2CMasterGpioInit(void); -void TimerBaseTimeoutInc(void); -void I2CWriteReadOnes(uint16_t slaveAddr); -void I2CWriteOnse(uint16_t slaveAddr); - -#endif /* SRC_I2C_INIT_H_ */ diff --git a/Projects/epwm_test/src/init_perif.c b/Projects/epwm_test/src/init_perif.c deleted file mode 100644 index 08a82d9..0000000 --- a/Projects/epwm_test/src/init_perif.c +++ /dev/null @@ -1,77 +0,0 @@ -/* - * init_perif.c - * - * Created on: 21 àâã. 2023 ã. - * Author: seklyuts - */ - -#include "f28x_project.h" -#include "pwm_interrupts.h" -#include "pwm_init.h" -#include "sdfm.h" -#include "f2838x_sdfm_drivers.h" -#include "gpio_init.h" -#include "spi_init.h" -#include "i2c_init.h" -#include "BL25CM1A.h" -#include "GD25Q16ETIGR.h" -#include "ZD24C02A.h" - -void InitPerif(void) -{ - InitSysCtrl(); - - PWMGpioInit(); - PWMInitEnable(); - - SdfmGpioInit(); - SdfmInitEnable(); - - SpiaBGpioInit(); - I2CMasterGpioInit(); - - -// Clear all interrupts and initialize PIE vector table: -// Disable CPU interrupts - - DINT; - -// -// Initialize the PIE control registers to their default state. -// The default state is all PIE interrupts disabled and flags -// are cleared. -// This function is found in the f2838x_piectrl.c file. -// - InitPieCtrl(); - -// -// Disable CPU interrupts and clear all CPU interrupt flags: -// - IER = 0x0000; - IFR = 0x0000; - -// -// Initialize the PIE vector table with pointers to the shell Interrupt -// Service Routines (ISR). -// This will populate the entire table, even if the interrupt -// is not used in this example. This is useful for debug purposes. -// The shell ISR routines are found in f2838x_defaultisr.c. -// This function is found in f2838x_pievect.c. -// - InitPieVectTable(); - -// - GpioInit(); - PWMInitInterruptEn(); - PWMAllInit(); - SdfmInitInterruptEn(); - SdfmInit(SDFM1); - SpiBInit(); - I2CMasterInit(I2C_OWN_ADDRESS,I2C_SLAVE_ADDRESS); -// -// Enable global Interrupts and higher priority real-time debug events: -// - EINT; // Enable Global interrupt INTM - ERTM; // Enable Global realtime interrupt DBGM - -} diff --git a/Projects/epwm_test/src/init_perif.h b/Projects/epwm_test/src/init_perif.h deleted file mode 100644 index b863057..0000000 --- a/Projects/epwm_test/src/init_perif.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * init_perif.h - * - * Created on: 21 àâã. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_INIT_PERIF_H_ -#define SRC_INIT_PERIF_H_ - - - - -void InitPerif(void); - - - -#endif /* SRC_INIT_PERIF_H_ */ diff --git a/Projects/epwm_test/src/pwm_init.c b/Projects/epwm_test/src/pwm_init.c deleted file mode 100644 index c64ac13..0000000 --- a/Projects/epwm_test/src/pwm_init.c +++ /dev/null @@ -1,196 +0,0 @@ -/* - * init.c - * - * Created on: 21 àâã. 2023 ã. - * Author: seklyuts - */ - -#include "f28x_project.h" -#include "pwm_init.h" -#include "pwm_interrupts.h" -#include "gpio_init.h" - -#define COUNT_UP 1 -#define COUNT_DOWN 0 - -volatile struct EPWM_REGS * EPwmRegs[17] = {NULL, &EPwm1Regs, &EPwm2Regs, &EPwm3Regs, &EPwm4Regs, &EPwm5Regs, &EPwm6Regs, &EPwm7Regs, &EPwm8Regs, &EPwm9Regs, &EPwm10Regs, &EPwm11Regs, &EPwm12Regs, &EPwm13Regs, &EPwm14Regs, &EPwm15Regs, &EPwm16Regs}; -Uint32 EPwmTimerIntCount[17]; -Uint16 EPwm_DB_Direction[17]; -volatile Uint16 PwmBrake100 = PERIOD_BRAKE; -volatile Uint16 PwmMotor100 = PERIOD_MOTOR; - - -void pwm_AutoChange(uint16_t Num) -{ - if(EPwm_DB_Direction[Num] == COUNT_UP) - { - if(EPwmRegs[Num]->CMPA.bit.CMPA < PWM_MAX) - { - EPwmRegs[Num]->CMPA.bit.CMPA++; - } - else - { - EPwm_DB_Direction[Num] = COUNT_DOWN; - EPwmRegs[Num]->CMPA.bit.CMPA--; - } - } - else - { - if(EPwmRegs[Num]->CMPA.bit.CMPA <= PWM_MIN) - { - EPwm_DB_Direction[Num] = COUNT_UP; - EPwmRegs[Num]->CMPA.bit.CMPA++; - } - else - { - EPwmRegs[Num]->CMPA.bit.CMPA--; - } - } - - EPwmTimerIntCount[Num]++; -} - - -void PWMAllInit(void) -{ -// -// Initialize the Device Peripherals: -// - EALLOW; - CpuSysRegs.PCLKCR0.bit.TBCLKSYNC =0; - EDIS; - - - PwmBrake100 = PERIOD_BRAKE; - PwmMotor100 = PERIOD_MOTOR; - - PWMInit(1, PwmMotor100, INDEPENDED); - PWMInit(2, PwmMotor100, COMPLIMENTARY); - PWMInit(3, PwmMotor100, COMPLIMENTARY); - PWMInit(4, PwmMotor100, COMPLIMENTARY); - PWMInit(5, PwmBrake100, INDEPENDED); - PWMInit(6, PwmBrake100, INDEPENDED); -// PWMInit(11, PERIOD, INDEPENDED); - - EALLOW; - CpuSysRegs.PCLKCR0.bit.TBCLKSYNC =1; - EDIS; -} - - -void PWMGpioInit(void) -{ - InitEPwm2Gpio(); - InitEPwm3Gpio(); - InitEPwm4Gpio(); - InitEPwm5Gpio(); - InitEPwm6Gpio(); -} - -void PWMInitEnable(void) -{ - CpuSysRegs.PCLKCR2.bit.EPWM1=1; - CpuSysRegs.PCLKCR2.bit.EPWM2=1; - CpuSysRegs.PCLKCR2.bit.EPWM3=1; - CpuSysRegs.PCLKCR2.bit.EPWM4=1; - CpuSysRegs.PCLKCR2.bit.EPWM5=1; - CpuSysRegs.PCLKCR2.bit.EPWM6=1; -} - -void PWMInitInterruptEn(void) -{ - // Interrupts that are used in this example are re-mapped to - // ISR functions found within this file. - // - EALLOW; // This is needed to write to EALLOW protected registers - PieVectTable.EPWM1_INT = &epwm1_isr; - PieVectTable.EPWM2_INT = &epwm2_isr; - PieVectTable.EPWM3_INT = &epwm3_isr; - PieVectTable.EPWM4_INT = &epwm4_isr; - PieVectTable.EPWM5_INT = &epwm5_isr; - PieVectTable.EPWM6_INT = &epwm6_isr; - EDIS; // This is needed to disable write to EALLOW protected registers - - - // Enable CPU INT3 which is connected to EPWM1-3 INT: - // - IER |= M_INT3; - - // - // Enable EPWM INTn in the PIE: Group 3 interrupt 1-3 - // - PieCtrlRegs.PIEIER3.bit.INTx1 = 1; - PieCtrlRegs.PIEIER3.bit.INTx2 = 1; - PieCtrlRegs.PIEIER3.bit.INTx3 = 1; - PieCtrlRegs.PIEIER3.bit.INTx4 = 1; - PieCtrlRegs.PIEIER3.bit.INTx5 = 1; - PieCtrlRegs.PIEIER3.bit.INTx6 = 1; - -} - -void PWMInit(uint16_t Num, uint16_t Period, uint16_t Independed) -{ - - EPwmRegs[Num]->TBPRD = Period; // Set timer period - EPwmRegs[Num]->TBPHS.bit.TBPHS = 0x0000; // Phase is 0 - EPwmRegs[Num]->TBCTR = 0x0000; // Clear counter - - // - // Setup TBCLK - // - EPwmRegs[Num]->TBCTL.bit.CTRMODE = TB_COUNT_UPDOWN; - EPwmRegs[Num]->TBCTL.bit.PHSEN = TB_DISABLE; // Disable phase loading - EPwmRegs[Num]->TBCTL.bit.HSPCLKDIV = TB_DIV1; // Clock ratio to SYSCLKOUT - EPwmRegs[Num]->TBCTL.bit.CLKDIV = TB_DIV1; - - EPwmRegs[Num]->CMPCTL.bit.SHDWAMODE = CC_SHADOW; // Load registers every ZERO - EPwmRegs[Num]->CMPCTL.bit.SHDWBMODE = CC_SHADOW; - EPwmRegs[Num]->CMPCTL.bit.LOADAMODE = CC_CTR_ZERO; - EPwmRegs[Num]->CMPCTL.bit.LOADBMODE = CC_CTR_ZERO; - - // - // Setup compare - // - - - // - // Set actions - // - EPwmRegs[Num]->AQCTLA.bit.CAU = AQ_SET; // Set PWM1A on Zero - EPwmRegs[Num]->AQCTLA.bit.CAD = AQ_CLEAR; - - EPwmRegs[Num]->AQCTLB.bit.CAU = AQ_CLEAR; // Set PWM1A on Zero - EPwmRegs[Num]->AQCTLB.bit.CAD = AQ_SET; - - // - // Active Low PWMs - Setup Deadband - // - EPwmRegs[Num]->DBCTL.bit.OUT_MODE = DB_FULL_ENABLE; - if(Independed) - { - EPwmRegs[Num]->CMPA.bit.CMPA = Period; - EPwmRegs[Num]->DBCTL.bit.POLSEL = DB_ACTV_HI; //DB_ACTV_HI - independ - EPwmRegs[Num]->DBRED.bit.DBRED = 0; - EPwmRegs[Num]->DBFED.bit.DBFED = 0; - } - else - { - EPwmRegs[Num]->CMPA.bit.CMPA = Period/2; - EPwmRegs[Num]->DBCTL.bit.POLSEL = DB_ACTV_HIC; - EPwmRegs[Num]->DBRED.bit.DBRED = EPWM_DB; - EPwmRegs[Num]->DBFED.bit.DBFED = EPWM_DB; - } - EPwmRegs[Num]->DBCTL.bit.IN_MODE = DBA_ALL; - -// EPwm1_DB_Direction = COUNT_UP; - - // - // - EPwmRegs[Num]->ETSEL.bit.INTSEL = ET_CTR_ZERO; // Select INT on Zero event - EPwmRegs[Num]->ETSEL.bit.INTEN = 1; // Enable INT - EPwmRegs[Num]->ETPS.bit.INTPRD = ET_1ST; // Generate INT on 1 event -} - - - - diff --git a/Projects/epwm_test/src/pwm_init.h b/Projects/epwm_test/src/pwm_init.h deleted file mode 100644 index a25805a..0000000 --- a/Projects/epwm_test/src/pwm_init.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - * init.h - * - * Created on: 21 àâã. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_PWM_INIT_H_ -#define SRC_PWM_INIT_H_ - -#define SYS_PWM_FREQUENCY 100000000.0 //Hz - - -#define FREQUENCY_BRAKE 20000.0 //Hz -#define FREQUENCY_MOTOR 10000.0 //Hz -#define EPWM_DB_mkS 3.0 //mkS - -#define PERIOD_BRAKE (SYS_PWM_FREQUENCY/2/FREQUENCY_BRAKE) //Tic -#define PERIOD_MOTOR (SYS_PWM_FREQUENCY/2/FREQUENCY_MOTOR) //Tic - -#define EPWM_DB (EPWM_DB_mkS*SYS_PWM_FREQUENCY/2/1000000) - -#define PERIOD_2 (PERIOD_MOTOR/2) -#define PWM_MAX (PERIOD_MOTOR - EPWM_DB) -#define PWM_MIN EPWM_DB -#define INDEPENDED 1 -#define COMPLIMENTARY 0 - - -void PWMInit(uint16_t Num, uint16_t Period, uint16_t Independed); -void PWMGpioInit(void); -void PWMInitEnable(void); -void PWMInitInterruptEn(void); -void PWMAllInit(void); - -void InitEPwm1Example(void); -void InitEPwm2Example(void); -void InitEPwm3Example(void); -void InitEPwm4Example(void); -void InitEPwm5Example(void); -void InitEPwm6Example(void); - -void pwm_AutoChange(uint16_t Num); - - -#endif /* SRC_PWM_INIT_H_ */ diff --git a/Projects/epwm_test/src/pwm_interrupts.c b/Projects/epwm_test/src/pwm_interrupts.c deleted file mode 100644 index c4b90ab..0000000 --- a/Projects/epwm_test/src/pwm_interrupts.c +++ /dev/null @@ -1,152 +0,0 @@ -/* - * interrupts.c - * - * Created on: 21 àâã. 2023 ã. - * Author: seklyuts - */ - -#include "f28x_project.h" -#include "pwm_init.h" -#include"frm_uart.h" -#include "gpio_init.h" -#include "i2c_init.h" -#include "timer_base.h" - -volatile Uint16 AutoChange = 0; -volatile Uint16 PWM_out = 0; -volatile Uint16 PWM_motor = PERIOD_2; -Uint16 Fault = 0, Fault_fix = 0, Ready = 0; -// -// epwm1_isr - EPWM1 ISR -// -__interrupt void epwm1_isr(void) -{ -// if(AutoChange) pwm_AutoChange(1); -// else - EPwm1Regs.CMPA.bit.CMPA = PWM_out; - - // - // Clear INT flag for this timer - // - EPwm1Regs.ETCLR.bit.INT = 1; - TimerBaseTimeoutInc(); - MainTimerBaseTimeoutInc(); - - // - // Acknowledge this interrupt to receive more interrupts from group 3 - // - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -// -// epwm2_isr - EPWM2 ISR -// -__interrupt void epwm2_isr(void) -{ - Gpio20out(1); -// if(AutoChange) pwm_AutoChange(2); -// else - EPwm2Regs.CMPA.bit.CMPA = PERIOD_MOTOR - PWM_motor; -// GpioDataRegs.GPADAT.bit.GPIO0 = 1; - FMSTR_enable_set(); - // - // Clear INT flag for this timer - // - EPwm2Regs.ETCLR.bit.INT = 1; - Gpio20out(0); - // - // Acknowledge this interrupt to receive more interrupts from group 3 - // - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -// GpioDataRegs.GPADAT.bit.GPIO0 = 0; - -} - -// -// epwm3_isr - EPWM3 ISR -// -__interrupt void epwm3_isr(void) -{ -// if(AutoChange) pwm_AutoChange(3); -// else - EPwm3Regs.CMPA.bit.CMPA = PERIOD_MOTOR - PWM_motor; - - // - // Clear INT flag for this timer - // - EPwm3Regs.ETCLR.bit.INT = 1; - - // - // Acknowledge this interrupt to receive more interrupts from group 3 - // - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; - -} - -__interrupt void epwm4_isr(void) -{ -// if(AutoChange) pwm_AutoChange(4); -// else - EPwm4Regs.CMPA.bit.CMPA = PERIOD_MOTOR - PWM_motor; - // - // Clear INT flag for this timer - // - EPwm4Regs.ETCLR.bit.INT = 1; - - // - // Acknowledge this interrupt to receive more interrupts from group 3 - // - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -__interrupt void epwm5_isr(void) -{ - Ready = GpioDataRegs.GPADAT.bit.GPIO19; - Fault = !GpioDataRegs.GPADAT.bit.GPIO18; - if(Fault || Fault_fix) - { - EPwm5Regs.CMPA.bit.CMPA = PERIOD_BRAKE; - PWM_out = 0; - if(Fault)Fault_fix = 1; - } - else - { -// if(AutoChange) pwm_AutoChange(5); -// else - EPwm5Regs.CMPA.bit.CMPA = PERIOD_BRAKE - PWM_out; - } - - // - // Clear INT flag for this timer - // - EPwm5Regs.ETCLR.bit.INT = 1; - - // - // Acknowledge this interrupt to receive more interrupts from group 3 - // - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - -__interrupt void epwm6_isr(void) -{ - -// if(AutoChange) pwm_AutoChange(6); -// else - EPwm6Regs.CMPA.bit.CMPA = PERIOD_BRAKE - PWM_out; - // - // Clear INT flag for this timer - // - EPwm6Regs.ETCLR.bit.INT = 1; - - // - // Acknowledge this interrupt to receive more interrupts from group 3 - // - PieCtrlRegs.PIEACK.all = PIEACK_GROUP3; -} - - - - -// -// InitEPwm1Example - Initialize EPWM1 configuration -// diff --git a/Projects/epwm_test/src/pwm_interrupts.h b/Projects/epwm_test/src/pwm_interrupts.h deleted file mode 100644 index fee4a18..0000000 --- a/Projects/epwm_test/src/pwm_interrupts.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - * pwm_interrupts.h - * - * Created on: 21 àâã. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_PWM_INTERRUPTS_H_ -#define SRC_PWM_INTERRUPTS_H_ - - -__interrupt void epwm1_isr(void); -__interrupt void epwm2_isr(void); -__interrupt void epwm3_isr(void); -__interrupt void epwm4_isr(void); -__interrupt void epwm5_isr(void); -__interrupt void epwm6_isr(void); - - -#endif /* SRC_PWM_INTERRUPTS_H_ */ diff --git a/Projects/epwm_test/src/sdfm.c b/Projects/epwm_test/src/sdfm.c deleted file mode 100644 index aafc89f..0000000 --- a/Projects/epwm_test/src/sdfm.c +++ /dev/null @@ -1,215 +0,0 @@ -/* - * sdfm.c - * - * Created on: 25 àâã. 2023 ã. - * Author: seklyuts - */ - -#include "f28x_project.h" -#include "f2838x_sdfm_drivers.h" -#include "gpio_init.h" -// -// Defines -// -#define FILTER_BIT 10 -#define SKIP_FIRST 100 -#define MAX_SAMPLES (1<= (MAX_SAMPLES-1)) - { - loopCounter1 = 0; - if(startInitCurrent < SKIP_FIRST) startInitCurrent++; - else if(!initDone) - { - for(i = 0; i <= (MAX_SAMPLES-1); i++) - { - OffsetCount += Filter1_Result[i]; - } - sdfmOffset = OffsetCount>>FILTER_BIT; - initDone = 1; - } - } - Filter1_Result[loopCounter1++] = SDFM1_READ_FILTER1_DATA_16BIT; - ADC_ampere = Filter1_Result[loopCounter1-1] - sdfmOffset; - } - - if(IntFlags & 0x100) - { - ADC_ampere = 0; - EALLOW; - Sdfm1Regs.SDCPARM1.bit.MFIE = 0; - EDIS; - } - else - { - EALLOW; - Sdfm1Regs.SDCPARM1.bit.MFIE = 1; - EDIS; - } - - // - // Clear SDFM flag register - // - Sdfm_clearFlagRegister(gPeripheralNumber,IntFlags); - - // - // Acknowledge this __interrupt to receive more __interrupts from group 5 - // - PieCtrlRegs.PIEACK.all = PIEACK_GROUP5; - Gpio21out(0); -} - -//Sdfm_clearFlagRegister - -//Sdfm_readFlagRegister - diff --git a/Projects/epwm_test/src/sdfm.h b/Projects/epwm_test/src/sdfm.h deleted file mode 100644 index 375dee1..0000000 --- a/Projects/epwm_test/src/sdfm.h +++ /dev/null @@ -1,19 +0,0 @@ -/* - * sdfm.h - * - * Created on: 25 àâã. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_SDFM_H_ -#define SRC_SDFM_H_ - -void SdfmGpioInit(void); -void SdfmInitEnable(void); -void SdfmInitInterruptEn(void); -void SdfmInit(uint16_t Num); - - - - -#endif /* SRC_SDFM_H_ */ diff --git a/Projects/epwm_test/src/spi_init.c b/Projects/epwm_test/src/spi_init.c deleted file mode 100644 index 849b31a..0000000 --- a/Projects/epwm_test/src/spi_init.c +++ /dev/null @@ -1,261 +0,0 @@ -/* - * spi_init.c - * - * Created on: 5 ñåíò. 2023 ã. - * Author: seklyuts - */ - -#include "f28x_project.h" - -__interrupt void spia_rx_isr(void); -__interrupt void spia_tx_isr(void); - -__interrupt void spib_rx_isr(void); -__interrupt void spib_tx_isr(void); - - - -void SpiAInit(void) -{ - // - // Initialize SPI-A - // - // - // Initialize SPI FIFO registers - // - CpuSysRegs.PCLKCR8.bit.SPI_A = 1; - - SpiaRegs.SPIFFTX.all = 0xE040; - SpiaRegs.SPIFFRX.all = 0x2044; - SpiaRegs.SPIFFCT.all = 0x0; - - // - // Initialize core SPI registers - // - // - // Set reset low before configuration changes - // Clock polarity (0 == rising, 1 == falling) - // 16-bit character - // Enable loop-back - // - SpiaRegs.SPICCR.bit.SPISWRESET = 0; - SpiaRegs.SPICCR.bit.CLKPOLARITY = 0; - SpiaRegs.SPICCR.bit.SPICHAR = (8 - 1); - SpiaRegs.SPICCR.bit.SPILBK = 0; - - // - // Enable master (0 == slave, 1 == master) - // Enable transmission (Talk) - // Clock phase (0 == normal, 1 == delayed) - // SPI interrupts are disabled - // - SpiaRegs.SPICTL.bit.MASTER_SLAVE = 1; - SpiaRegs.SPICTL.bit.TALK = 1; - SpiaRegs.SPICTL.bit.CLK_PHASE = 0; - SpiaRegs.SPICTL.bit.SPIINTENA = 0; - - PieCtrlRegs.PIEIER6.bit.INTx1 = 0; - PieCtrlRegs.PIEIER6.bit.INTx2 = 0; - - PieVectTable.SPIA_RX_INT = &spia_rx_isr; - PieVectTable.SPIA_TX_INT = &spia_tx_isr; - // - // Set the baud rate using a 1 MHz SPICLK - // BRR = (LSPCLK / SPICLK) - 1 - // - SpiaRegs.SPIBRR.bit.SPI_BIT_RATE = ((50000000 / 1000000) - 1); - - // Set FREE bit - // Halting on a breakpoint will not halt the SPI - // - SpiaRegs.SPIPRI.bit.FREE = 1; - - // - // Release the SPI from reset - // - SpiaRegs.SPICCR.bit.SPISWRESET = 1; -} - -void SpiaAGpioInit(void) -{ - EALLOW; - - // - // Enable internal pull-up for the selected pins - // - // Pull-ups can be enabled or disabled by the user. - // This will enable the pullups for the specified pins. - // - GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; // Enable pull-up on GPIO16 (SPISIMOA) - GpioCtrlRegs.GPBPUD.bit.GPIO33 = 0; // Enable pull-up on GPIO17 (SPISOMIA) - GpioCtrlRegs.GPBPUD.bit.GPIO34 = 0; // Enable pull-up on GPIO18 (SPICLKA) - GpioCtrlRegs.GPBPUD.bit.GPIO35 = 0; // Enable pull-up on GPIO19 (SPISTEA) - - // - // Set qualification for selected pins to asynch only - // - // This will select asynch (no qualification) for the selected pins. - // - GpioCtrlRegs.GPBQSEL1.bit.GPIO32 = 3; // Asynch input GPIO16 (SPISIMOA) - GpioCtrlRegs.GPBQSEL1.bit.GPIO33 = 3; // Asynch input GPIO17 (SPISOMIA) - GpioCtrlRegs.GPBQSEL1.bit.GPIO34 = 3; // Asynch input GPIO18 (SPICLKA) - GpioCtrlRegs.GPBQSEL1.bit.GPIO35 = 3; // Asynch input GPIO19 (SPISTEA) - - // - // Configure SPI-A pins - // - // This specifies which of the possible GPIO pins will be SPI functional - // pins. - // - GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 3; // Configure GPIO16 as SPISIMOA - GpioCtrlRegs.GPBMUX1.bit.GPIO33 = 3; // Configure GPIO17 as SPISOMIA - GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 3; // Configure GPIO18 as SPICLKA - GpioCtrlRegs.GPBMUX1.bit.GPIO35 = 3; // Configure GPIO19 as SPISTEA - - EDIS; -} - -void transmitAData(uint16_t a) -{ - SpiaRegs.SPITXBUF = a<<8; -} - - -__interrupt void spia_rx_isr(void) -{ - uint16_t temp = SpiaRegs.SPISTS.all; - PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; -} - - -__interrupt void spia_tx_isr(void) -{ - uint16_t temp = SpiaRegs.SPISTS.all; - PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; -} - - - - - -void SpiBInit(void) -{ - - CpuSysRegs.PCLKCR8.bit.SPI_B = 1; - - SpibRegs.SPIFFTX.all = 0xE040; - SpibRegs.SPIFFRX.all = 0x2044; - SpibRegs.SPIFFCT.all = 0x0; - - // - // Initialize core SPI registers - // - // - // Set reset low before configuration changes - // Clock polarity (0 == rising, 1 == falling) - // 16-bit character - // Enable loop-back - // - SpibRegs.SPICCR.bit.SPISWRESET = 0; - SpibRegs.SPICCR.bit.CLKPOLARITY = 0; - SpibRegs.SPICCR.bit.SPICHAR = (8 - 1); - SpibRegs.SPICCR.bit.SPILBK = 0; - - // - // Enable master (0 == slave, 1 == master) - // Enable transmission (Talk) - // Clock phase (0 == normal, 1 == delayed) - // SPI interrupts are disabled - // - SpibRegs.SPICTL.bit.MASTER_SLAVE = 1; - SpibRegs.SPICTL.bit.TALK = 1; - SpibRegs.SPICTL.bit.CLK_PHASE = 1; - SpibRegs.SPICTL.bit.SPIINTENA = 0; - - PieCtrlRegs.PIEIER6.bit.INTx3 = 0; //3.4.5 PIE Channel Mapping str 150 of trm - PieCtrlRegs.PIEIER6.bit.INTx4 = 0; - - PieVectTable.SPIB_RX_INT = &spib_rx_isr; - PieVectTable.SPIB_TX_INT = &spib_tx_isr; - // - // Set the baud rate using a 1 MHz SPICLK - // BRR = (LSPCLK / SPICLK) - 1 - // - SpibRegs.SPIBRR.bit.SPI_BIT_RATE = 99; - - // Set FREE bit - // Halting on a breakpoint will not halt the SPI - // - SpibRegs.SPIPRI.bit.FREE = 1; - - // - // Release the SPI from reset - // - SpibRegs.SPICCR.bit.SPISWRESET = 1; -} - -void SpiaBGpioInit(void) -{ - EALLOW; - - // - // Enable internal pull-up for the selected pins - // - // Pull-ups can be enabled or disabled by the user. - // This will enable the pullups for the specified pins. - // - GpioCtrlRegs.GPAPUD.bit.GPIO24 = 0; // Enable pull-up on GPIO16 (SPISIMOA) - GpioCtrlRegs.GPAPUD.bit.GPIO25 = 0; // Enable pull-up on GPIO17 (SPISOMIA) - GpioCtrlRegs.GPAPUD.bit.GPIO26 = 0; // Enable pull-up on GPIO18 (SPICLKA) - GpioCtrlRegs.GPAPUD.bit.GPIO27 = 0; // Enable pull-up on GPIO19 (SPISTEA) - - // - // Set qualification for selected pins to asynch only - // - // This will select asynch (no qualification) for the selected pins. - // - GpioCtrlRegs.GPAQSEL2.bit.GPIO24 = 3; // Asynch input GPIO16 (SPISIMOA) - GpioCtrlRegs.GPAQSEL2.bit.GPIO25 = 3; // Asynch input GPIO17 (SPISOMIA) - GpioCtrlRegs.GPAQSEL2.bit.GPIO26 = 3; // Asynch input GPIO18 (SPICLKA) - GpioCtrlRegs.GPAQSEL2.bit.GPIO27 = 3; // Asynch input GPIO19 (SPISTEA) - - // - // Configure SPI-A pins - // - // This specifies which of the possible GPIO pins will be SPI functional - // pins. - // - GPIO_SetupPinMux(24, 0, 6); - GPIO_SetupPinMux(25, 0, 6); - GPIO_SetupPinMux(26, 0, 6); - GPIO_SetupPinMux(27, 0, 6); - -// GpioCtrlRegs.GPAMUX1.bit.GPIO24 = 2; // Configure GPIO16 as SPISIMOA -// GpioCtrlRegs.GPAMUX1.bit.GPIO25 = 2; // Configure GPIO17 as SPISOMIA -// GpioCtrlRegs.GPAMUX1.bit.GPIO26 = 2; // Configure GPIO18 as SPICLKA -// GpioCtrlRegs.GPAMUX1.bit.GPIO27 = 2; // Configure GPIO19 as SPISTEA -// GpioCtrlRegs.GPAMUX2.bit.GPIO24 = 1; // Configure GPIO16 as SPISIMOA -// GpioCtrlRegs.GPAMUX2.bit.GPIO25 = 1; // Configure GPIO17 as SPISOMIA -// GpioCtrlRegs.GPAMUX2.bit.GPIO26 = 1; // Configure GPIO18 as SPICLKA -// GpioCtrlRegs.GPAMUX2.bit.GPIO27 = 1; // Configure GPIO19 as SPISTEA - EDIS; -} - -void transmitBData(uint16_t a) -{ - SpibRegs.SPITXBUF = a<<8; -} - - -__interrupt void spib_rx_isr(void) -{ - uint16_t temp = SpibRegs.SPISTS.all; - PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; -} - - -__interrupt void spib_tx_isr(void) -{ - uint16_t temp = SpibRegs.SPISTS.all; - PieCtrlRegs.PIEACK.all = PIEACK_GROUP6; -} diff --git a/Projects/epwm_test/src/spi_init.h b/Projects/epwm_test/src/spi_init.h deleted file mode 100644 index 062ce7b..0000000 --- a/Projects/epwm_test/src/spi_init.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - * spi_init.h - * - * Created on: 5 ñåíò. 2023 ã. - * Author: seklyuts - */ - -#ifndef SRC_SPI_INIT_H_ -#define SRC_SPI_INIT_H_ - -void SpiaAGpioInit(void); -void SpiAInit(void); -void transmitAData(uint16_t a); - -void SpiaBGpioInit(void); -void SpiBInit(void); -void transmitBData(uint16_t a); -#endif /* SRC_SPI_INIT_H_ */ diff --git a/Projects/epwm_test/targetConfigs/TMS320F28388D.ccxml b/Projects/epwm_test/targetConfigs/TMS320F28388D.ccxml deleted file mode 100644 index 550c3db..0000000 --- a/Projects/epwm_test/targetConfigs/TMS320F28388D.ccxml +++ /dev/null @@ -1,240 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -