diff options
Diffstat (limited to 'src/devices/mem24')
76 files changed, 2625 insertions, 0 deletions
diff --git a/src/devices/mem24/Makefile.am b/src/devices/mem24/Makefile.am new file mode 100644 index 0000000..7c80d86 --- /dev/null +++ b/src/devices/mem24/Makefile.am @@ -0,0 +1,3 @@ +INCLUDES = -I$(top_srcdir)/src $(all_includes) +METASOURCES = AUTO +SUBDIRS = base xml xml_data mem24 prog gui diff --git a/src/devices/mem24/base/Makefile.am b/src/devices/mem24/base/Makefile.am new file mode 100644 index 0000000..336afca --- /dev/null +++ b/src/devices/mem24/base/Makefile.am @@ -0,0 +1,6 @@ +INCLUDES = -I$(top_srcdir)/src $(all_includes) +METASOURCES = AUTO + +noinst_LTLIBRARIES = libmem24base.la +libmem24base_la_LDFLAGS = $(all_libraries) +libmem24base_la_SOURCES = mem24.cpp diff --git a/src/devices/mem24/base/base.pro b/src/devices/mem24/base/base.pro new file mode 100644 index 0000000..a42b768 --- /dev/null +++ b/src/devices/mem24/base/base.pro @@ -0,0 +1,6 @@ +STOPDIR = ../../../.. +include($${STOPDIR}/lib.pro) + +TARGET = mem24base +HEADERS += mem24.h +SOURCES += mem24.cpp diff --git a/src/devices/mem24/base/mem24.cpp b/src/devices/mem24/base/mem24.cpp new file mode 100644 index 0000000..03bffe3 --- /dev/null +++ b/src/devices/mem24/base/mem24.cpp @@ -0,0 +1,22 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include "mem24.h" + +QDataStream &Mem24::operator <<(QDataStream &s, const Data &data) +{ + s << static_cast<const Device::Data &>(data); + s << data._nbBytes << data._nbBlocks << data._nbBytesPage; + return s; +} +QDataStream &Mem24::operator >>(QDataStream &s, Data &data) +{ + s >> static_cast<Device::Data &>(data); + s >> data._nbBytes >> data._nbBlocks >> data._nbBytesPage; + return s; +} diff --git a/src/devices/mem24/base/mem24.h b/src/devices/mem24/base/mem24.h new file mode 100644 index 0000000..d66ff47 --- /dev/null +++ b/src/devices/mem24/base/mem24.h @@ -0,0 +1,47 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef MEM24_H +#define MEM24_H + +#include "common/common/misc.h" +#include "devices/base/generic_device.h" + +namespace Mem24 +{ +class XmlToData; +class Group; + +//----------------------------------------------------------------------------- +class Data : public Device::Data +{ +public: + Data() : Device::Data(0) {} + virtual QString listViewGroup() const { return i18n("24 EEPROM"); } + uint nbBytes() const { return _nbBytes; } + virtual bool matchId(BitValue, Device::IdData &) const { return false; } + virtual uint nbBitsAddress() const { return nbBits(_nbBytes-1); } + virtual bool canWriteCalibration() const { return false; } + uint nbBlocks() const { return _nbBlocks; } + uint nbBytesPage() const { return _nbBytesPage; } + +private: + uint _nbBytes, _nbBlocks, _nbBytesPage; + + friend class XmlToData; + friend class Group; + friend QDataStream &operator <<(QDataStream &s, const Data &data); + friend QDataStream &operator >>(QDataStream &s, Data &data); +}; + +QDataStream &operator <<(QDataStream &s, const Data &data); +QDataStream &operator >>(QDataStream &s, Data &data); + +} // namespace + +#endif diff --git a/src/devices/mem24/gui/Makefile.am b/src/devices/mem24/gui/Makefile.am new file mode 100644 index 0000000..6838d57 --- /dev/null +++ b/src/devices/mem24/gui/Makefile.am @@ -0,0 +1,7 @@ +INCLUDES = -I$(top_srcdir)/src $(all_includes) +METASOURCES = AUTO + +noinst_LTLIBRARIES = libmem24ui.la +libmem24ui_la_SOURCES = mem24_hex_view.cpp mem24_memory_editor.cpp \ + mem24_group_ui.cpp +libmem24ui_la_LDFLAGS = $(all_libraries) diff --git a/src/devices/mem24/gui/mem24_group_ui.cpp b/src/devices/mem24/gui/mem24_group_ui.cpp new file mode 100644 index 0000000..751e5a7 --- /dev/null +++ b/src/devices/mem24/gui/mem24_group_ui.cpp @@ -0,0 +1,16 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include "mem24_group_ui.h" + +#include "mem24_hex_view.h" + +Device::HexView *Mem24::GroupUI::createHexView(const HexEditor &editor, QWidget *parent) const +{ + return new HexView(editor, parent); +} diff --git a/src/devices/mem24/gui/mem24_group_ui.h b/src/devices/mem24/gui/mem24_group_ui.h new file mode 100644 index 0000000..37766b5 --- /dev/null +++ b/src/devices/mem24/gui/mem24_group_ui.h @@ -0,0 +1,28 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef MEM24_GROUP_UI_H +#define MEM24_GROUP_UI_H + +#include "devices/gui/device_group_ui.h" + +namespace Mem24 +{ +class GroupUI : public Device::GroupUI +{ +public: + virtual Device::HexView *createHexView(const HexEditor &editor, QWidget *parent) const; + virtual Register::View *createRegisterView(QWidget *) const { return 0; } + virtual Device::MemoryEditor *createConfigEditor(Device::Memory &, QWidget *) const { return 0; } + virtual void fillWatchListContainer(ListContainer *, QValueVector<Register::TypeData> &) const {} + virtual Register::ListViewItem *createWatchItem(const Register::TypeData &, KListViewItem *) const { return 0; } +}; + +} // namespace + +#endif diff --git a/src/devices/mem24/gui/mem24_hex_view.cpp b/src/devices/mem24/gui/mem24_hex_view.cpp new file mode 100644 index 0000000..0ada8d0 --- /dev/null +++ b/src/devices/mem24/gui/mem24_hex_view.cpp @@ -0,0 +1,38 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include "mem24_hex_view.h" + +#include <qlayout.h> +#include <qlabel.h> +#include <klocale.h> + +#include "mem24_memory_editor.h" + +Mem24::HexView::HexView(const HexEditor &editor, QWidget *parent) + : Device::HexView(editor, parent, "mem24_hex_view") +{} + +void Mem24::HexView::display() +{ + Memory *pmemory = static_cast<Memory *>(_memory); + MemoryTypeEditor *e = new MemoryTypeEditor(this, *pmemory, this); + e->init(true); + e->show(); + _top->addWidget(e); + addEditor(e); +} + +BitValue Mem24::HexView::checksum() const +{ + if ( _memory==0 ) return 0x0000; + BitValue cs = 0x0000; + for (uint i=0; i<static_cast<const Data &>(_memory->device()).nbBytes(); i++) + cs += static_cast<const Memory *>(_memory)->byte(i); + return cs.maskWith(0xFFFF); +} diff --git a/src/devices/mem24/gui/mem24_hex_view.h b/src/devices/mem24/gui/mem24_hex_view.h new file mode 100644 index 0000000..378a25e --- /dev/null +++ b/src/devices/mem24/gui/mem24_hex_view.h @@ -0,0 +1,33 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef MEM24_HEX_VIEW_H +#define MEM24_HEX_VIEW_H + +class QVBoxLayout; + +#include "devices/gui/hex_view.h" + +namespace Mem24 +{ + +class HexView : public Device::HexView +{ +Q_OBJECT +public: + HexView(const HexEditor &editor, QWidget *parent); + virtual uint nbChecksumChars() const { return 4; } + virtual BitValue checksum() const; + +private: + virtual void display(); +}; + +} // namespace + +#endif diff --git a/src/devices/mem24/gui/mem24_memory_editor.cpp b/src/devices/mem24/gui/mem24_memory_editor.cpp new file mode 100644 index 0000000..61f98fe --- /dev/null +++ b/src/devices/mem24/gui/mem24_memory_editor.cpp @@ -0,0 +1,80 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include "mem24_memory_editor.h" + +#include <qlayout.h> +#include <klocale.h> +#include <kpushbutton.h> + +#include "common/gui/misc_gui.h" +#include "mem24_hex_view.h" +#include "progs/base/generic_prog.h" +#include "libgui/main_global.h" +#include "devices/base/device_group.h" + +//----------------------------------------------------------------------------- +Mem24::MemoryRangeEditor::MemoryRangeEditor(Memory &memory, QWidget *parent) + : Device::MemoryRangeEditor(memory, 16, 16, 0, -1, parent, "mem24_memory_range_editor"), + MemoryCaster(memory) +{} + +Device::HexWordEditor *Mem24::MemoryRangeEditor::createHexWordEditor(QWidget *parent) +{ + return new HexWordEditor(memory(), parent); +} + +//----------------------------------------------------------------------------- +Mem24::MemoryTypeEditor::MemoryTypeEditor(const HexView *hexview, Memory &memory, QWidget *parent) + : Device::MemoryTypeEditor(hexview, memory, parent, "mem24_memory_type_editor"), + MemoryCaster(memory) +{} + +void Mem24::MemoryTypeEditor::init(bool first) +{ + Device::MemoryTypeEditor::init(first); + _title->setText(i18n("EEPROM Memory")); + MemoryRangeEditor *mre = new MemoryRangeEditor(memory(), this); + mre->init(); + addEditor(mre); + _top->addWidget(mre); +} + +bool Mem24::MemoryTypeEditor::internalDoAction(Device::Action action) +{ + switch (action) { + case Device::Clear: + case Device::ChecksumCheck: + memory().clear(); return true; + case Device::Zero: memory().fill(0); return true; + case Device::Reload: + Q_ASSERT(originalMemory()); + memory().copyFrom(*originalMemory()); return true; + case Device::Program: + Main::programmer()->program(memory(), Device::MemoryRange()); + return false; + case Device::Verify: + Main::programmer()->verify(memory(), Device::MemoryRange()); + return false; + case Device::Read: { + Memory mem(device()); + if ( !Main::programmer()->read(mem, Device::MemoryRange()) ) return false; + memory().copyFrom(mem); + return true; + } + case Device::Erase: + Main::programmer()->erase(Device::MemoryRange()); + return false; + case Device::BlankCheck: + Main::programmer()->blankCheck(Device::MemoryRange()); + return false; + case Device::Nb_Actions: break; + } + Q_ASSERT(false); + return false; +} diff --git a/src/devices/mem24/gui/mem24_memory_editor.h b/src/devices/mem24/gui/mem24_memory_editor.h new file mode 100644 index 0000000..eb99e97 --- /dev/null +++ b/src/devices/mem24/gui/mem24_memory_editor.h @@ -0,0 +1,77 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef MEM24_MEMORY_EDITOR_H +#define MEM24_MEMORY_EDITOR_H + +#include "devices/gui/memory_editor.h" +#include "devices/gui/hex_word_editor.h" +#include "devices/mem24/mem24/mem24_memory.h" + +namespace Mem24 +{ +class HexView; + +//----------------------------------------------------------------------------- +class MemoryCaster +{ +public: + MemoryCaster(Memory &memory) : _memory(memory) {} + const Data &device() const { return static_cast<const Data &>(_memory.device()); } + const Memory &memory() const { return static_cast<Memory &>(_memory); } + Memory &memory() { return static_cast<Memory &>(_memory); } + +private: + Memory &_memory; +}; + +//----------------------------------------------------------------------------- +class HexWordEditor : public Device::HexWordEditor, public MemoryCaster +{ +Q_OBJECT +public: + HexWordEditor(Memory &memory, QWidget *parent) + : Device::HexWordEditor(memory, 2, parent), MemoryCaster(memory) {} + +private: + virtual BitValue mask() const { return 0xFF; } + virtual BitValue normalizeWord(BitValue value) const { return value; } + virtual BitValue word() const { return memory().byte(_offset); } + virtual void setWord(BitValue value) { memory().setByte(_offset, value); } +}; + +//----------------------------------------------------------------------------- +class MemoryRangeEditor : public Device::MemoryRangeEditor, public MemoryCaster +{ +Q_OBJECT +public: + MemoryRangeEditor(Memory &memory, QWidget *parent); + +private: + virtual uint nbWords() const { return device().nbBytes(); } + virtual uint addressIncrement() const { return 1; } + virtual Address startAddress() const { return 0x0; } + virtual Device::HexWordEditor *createHexWordEditor(QWidget *parent); + virtual bool isRangeReadOnly() const { return false; } +}; + +//----------------------------------------------------------------------------- +class MemoryTypeEditor : public Device::MemoryTypeEditor, public MemoryCaster +{ +Q_OBJECT +public: + MemoryTypeEditor(const HexView *hexview, Memory &memory, QWidget *parent); + virtual void init(bool first); + +private: + virtual bool internalDoAction(Device::Action action); +}; + +} // namespace + +#endif diff --git a/src/devices/mem24/mem24.pro b/src/devices/mem24/mem24.pro new file mode 100644 index 0000000..0602143 --- /dev/null +++ b/src/devices/mem24/mem24.pro @@ -0,0 +1,2 @@ +TEMPLATE = subdirs +SUBDIRS = base xml mem24 xml_data prog diff --git a/src/devices/mem24/mem24/Makefile.am b/src/devices/mem24/mem24/Makefile.am new file mode 100644 index 0000000..3c7e9a8 --- /dev/null +++ b/src/devices/mem24/mem24/Makefile.am @@ -0,0 +1,6 @@ +INCLUDES = -I$(top_srcdir)/src $(all_includes) +METASOURCES = AUTO + +noinst_LTLIBRARIES = libmem24.la +libmem24_la_LDFLAGS = $(all_libraries) +libmem24_la_SOURCES = mem24_memory.cpp mem24_group.cpp diff --git a/src/devices/mem24/mem24/mem24.pro b/src/devices/mem24/mem24/mem24.pro new file mode 100644 index 0000000..4bdbea4 --- /dev/null +++ b/src/devices/mem24/mem24/mem24.pro @@ -0,0 +1,6 @@ +STOPDIR = ../../../.. +include($${STOPDIR}/lib.pro) + +TARGET = mem24 +HEADERS += mem24_memory.h mem24_group.h +SOURCES += mem24_memory.cpp mem24_group.cpp diff --git a/src/devices/mem24/mem24/mem24_group.cpp b/src/devices/mem24/mem24/mem24_group.cpp new file mode 100644 index 0000000..53cad5b --- /dev/null +++ b/src/devices/mem24/mem24/mem24_group.cpp @@ -0,0 +1,43 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include "mem24_group.h" + +#include "mem24_memory.h" + +Device::Memory *Mem24::Group::createMemory(const Device::Data &data) const +{ + return new Memory(static_cast<const Mem24::Data &>(data)); +} + +QString Mem24::Group::informationHtml(const Device::Data &data) const +{ + const Mem24::Data &mdata = static_cast<const Mem24::Data &>(data); + QString tmp = i18n("%1 bytes").arg(formatNumber(mdata.nbBytes())); + return htmlTableRow(i18n("Memory Size"), tmp); +} + +#if !defined(NO_KDE) +QPixmap Mem24::Group::memoryGraph(const Device::Data &data) const +{ + const Mem24::Data &mdata = static_cast<const Mem24::Data &>(data); + uint offset = 0x0; + QValueList<Device::MemoryGraphData> ranges; + for (uint i=0; i<mdata.nbBlocks(); i++) { + Device::MemoryGraphData data; + data.startAddress = offset; + offset += mdata.nbBytes() / mdata.nbBlocks(); + data.endAddress = offset - 1; + data.start = toHexLabel(data.startAddress, mdata.nbCharsAddress()); + data.end = toHexLabel(data.endAddress, mdata.nbCharsAddress()); + data.label = i18n("Block #%1").arg(i+1); + ranges.append(data); + } + return Device::memoryGraph(ranges); +} +#endif diff --git a/src/devices/mem24/mem24/mem24_group.h b/src/devices/mem24/mem24/mem24_group.h new file mode 100644 index 0000000..46a1234 --- /dev/null +++ b/src/devices/mem24/mem24/mem24_group.h @@ -0,0 +1,39 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef MEM24_GROUP_H +#define MEM24_GROUP_H + +#include "common/global/global.h" +#include "devices/base/device_group.h" +#include "devices/mem24/base/mem24.h" + +namespace Mem24 +{ +extern const uint DATA_SIZE; +extern const char *DATA_STREAM; + +class Group : public Device::Group<Data> +{ +public: + virtual QString name() const { return "mem24"; } + virtual QString label() const { return i18n("Serial Memory 24"); } + virtual Device::Memory *createMemory(const Device::Data &data) const; + virtual QString informationHtml(const Device::Data &data) const; +#if !defined(NO_KDE) + virtual QPixmap memoryGraph(const Device::Data &data) const; +#endif + +private: + virtual uint dataSize() const { return DATA_SIZE; } + virtual const char *dataStream() const { return DATA_STREAM; } +}; + +} // namespace + +#endif diff --git a/src/devices/mem24/mem24/mem24_memory.cpp b/src/devices/mem24/mem24/mem24_memory.cpp new file mode 100644 index 0000000..a4296ea --- /dev/null +++ b/src/devices/mem24/mem24/mem24_memory.cpp @@ -0,0 +1,92 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include "mem24_memory.h" + +#include <qfile.h> + +#include "common/global/global.h" +#include "common/common/misc.h" + +Mem24::Memory::Memory(const Data &data) + : Device::Memory(data) +{ + fill(BitValue()); +} + +void Mem24::Memory::fill(BitValue value) +{ + _data = Device::Array(device().nbBytes()); + for (uint i=0; i<_data.count(); i++) _data[i] = value; +} + +void Mem24::Memory::copyFrom(const Device::Memory &memory) +{ + Q_ASSERT( device().name()==memory.device().name() ); + _data = static_cast<const Memory &>(memory)._data; +} + +Device::Array Mem24::Memory::arrayForWriting() const +{ + Device::Array data(_data.count()); + for (uint i=0; i<data.count(); i++) data[i] = _data[i].maskWith(0xFF); + return data; +} + +BitValue Mem24::Memory::byte(uint offset) const +{ + Q_ASSERT( _data.size()>offset ); + return _data[offset]; +} + +void Mem24::Memory::setByte(uint offset, BitValue value) +{ + Q_ASSERT( _data.size()>offset ); + Q_ASSERT( value<=0xFF ); + _data[offset] = value; +} + +BitValue Mem24::Memory::checksum() const +{ + BitValue cs = 0x0000; + for (uint i=0; i<_data.count(); i++) cs += _data[i]; + return cs.maskWith(0xFFFF); +} + +//----------------------------------------------------------------------------- +void Mem24::Memory::savePartial(QTextStream &stream, HexBuffer::Format format) const +{ + HexBuffer hb = toHexBuffer(); + hb.savePartial(stream, format); +} + +//----------------------------------------------------------------------------- +HexBuffer Mem24::Memory::toHexBuffer() const +{ + HexBuffer hb; + for (uint k=0; k<device().nbBytes(); k++) hb.insert(k, _data[k]); + return hb; +} + +void Mem24::Memory::fromHexBuffer(const HexBuffer &hb, WarningTypes &result, + QStringList &warnings, QMap<uint, bool> &inRange) +{ + BitValue mask = 0xFF; + for (uint k=0; k<device().nbBytes(); k++) { + _data[k] = hb[k]; + if ( _data[k].isInitialized() ) { + inRange[k] = true; + if ( !(result & ValueTooLarge) && !_data[k].isInside(mask) ) { + result |= ValueTooLarge; + warnings += i18n("At least one word (at offset %1) is larger (%2) than the corresponding mask (%3).") + .arg(toHexLabel(k, 8)).arg(toHexLabel(_data[k], 8)).arg(toHexLabel(mask, 8)); + } + _data[k] = _data[k].maskWith(mask); + } + } +} diff --git a/src/devices/mem24/mem24/mem24_memory.h b/src/devices/mem24/mem24/mem24_memory.h new file mode 100644 index 0000000..fbd6c64 --- /dev/null +++ b/src/devices/mem24/mem24/mem24_memory.h @@ -0,0 +1,45 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef MEM24_MEMORY_H +#define MEM24_MEMORY_H + +#include "common/global/global.h" +#include "devices/base/generic_memory.h" +#include "devices/base/hex_buffer.h" +#include "devices/mem24/base/mem24.h" + +namespace Mem24 +{ + +class Memory : public Device::Memory +{ +public: + Memory(const Data &data); + const Data &device() const { return static_cast<const Data &>(_device); } + virtual void fill(BitValue value); + virtual void checksumCheckFill() { clear(); } + Device::Array arrayForWriting() const; + BitValue byte(uint offset) const; + void setByte(uint offset, BitValue value); + virtual BitValue checksum() const; + + virtual HexBuffer toHexBuffer() const; + virtual void copyFrom(const Device::Memory &memory); + +private: + Device::Array _data; + + virtual void savePartial(QTextStream &stream, HexBuffer::Format format) const; + virtual void fromHexBuffer(const HexBuffer &hb, WarningTypes &warningTypes, + QStringList &warnings, QMap<uint, bool> &inRange); +}; + +} // namespace + +#endif diff --git a/src/devices/mem24/prog/Makefile.am b/src/devices/mem24/prog/Makefile.am new file mode 100644 index 0000000..1c1a55e --- /dev/null +++ b/src/devices/mem24/prog/Makefile.am @@ -0,0 +1,5 @@ +INCLUDES = -I$(top_srcdir)/src $(all_includes) +METASOURCES = AUTO + +noinst_LTLIBRARIES = libmem24prog.la +libmem24prog_la_SOURCES = mem24_prog.cpp diff --git a/src/devices/mem24/prog/mem24_prog.cpp b/src/devices/mem24/prog/mem24_prog.cpp new file mode 100644 index 0000000..4c4b201 --- /dev/null +++ b/src/devices/mem24/prog/mem24_prog.cpp @@ -0,0 +1,88 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include "mem24_prog.h" + +#include "common/global/global.h" +#include "devices/list/device_list.h" +#include "progs/base/prog_config.h" + +//----------------------------------------------------------------------------- +bool Programmer::Mem24DeviceSpecific::read(Device::Array &data, const VerifyData *vdata) +{ + setPowerOn(); + doRead(data, vdata); + setPowerOff(); + return !hasError(); +} + +bool Programmer::Mem24DeviceSpecific::write(const Device::Array &data) +{ + setPowerOn(); + doWrite(data); + setPowerOff(); + return !hasError(); +} + +bool Programmer::Mem24DeviceSpecific::verifyByte(uint index, BitValue d, const VerifyData &vdata) +{ + BitValue v = static_cast<const Mem24::Memory &>(vdata.memory).byte(index); + v = v.maskWith(0xFF); + d = d.maskWith(0xFF); + if ( v==d ) return true; + Address address = index; + if ( vdata.actions & BlankCheckVerify ) + log(Log::LineType::Error, i18n("Device memory is not blank (at address %1: reading %2 and expecting %3).") + .arg(toHexLabel(address, device().nbCharsAddress())).arg(toHexLabel(d, 2)).arg(toHexLabel(v, 2))); + else log(Log::LineType::Error, i18n("Device memory doesn't match hex file (at address %1: reading %2 and expecting %3).") + .arg(toHexLabel(address, device().nbCharsAddress())).arg(toHexLabel(d, 2)).arg(toHexLabel(v, 2))); + return false; +} + +//---------------------------------------------------------------------------- +uint Programmer::Mem24Base::nbSteps(Task task, const Device::MemoryRange *) const +{ + uint nb = device()->nbBytes(); + if ( task==Task::Write && readConfigEntry(Config::VerifyAfterProgram).toBool() ) nb += device()->nbBytes(); + return nb; +} + +bool Programmer::Mem24Base::internalErase(const Device::MemoryRange &) +{ + initProgramming(); + Mem24::Memory memory(*device()); + return specific()->write(memory.arrayForWriting()); +} + +bool Programmer::Mem24Base::internalRead(Device::Memory *memory, const Device::MemoryRange &, const VerifyData *vdata) +{ + initProgramming(); + Device::Array data; + if ( !specific()->read(data, vdata) ) return false; + if (memory) for (uint i=0; i<data.count(); i++) static_cast<Mem24::Memory *>(memory)->setByte(i, data[i]); + return true; +} + +bool Programmer::Mem24Base::internalProgram(const Device::Memory &memory, const Device::MemoryRange &) +{ + initProgramming(); + const Mem24::Memory &pmemory = static_cast<const Mem24::Memory &>(memory); + const Device::Array &data = pmemory.arrayForWriting(); + if ( !specific()->write(data) ) return false; + if ( !readConfigEntry(Config::VerifyAfterProgram).toBool() ) return true; + VerifyActions actions = IgnoreProtectedVerify; + if ( readConfigEntry(Config::OnlyVerifyProgrammed).toBool() ) actions |= OnlyProgrammedVerify; + VerifyData vdata(actions, pmemory); + Device::Array adata; + return specific()->read(adata, &vdata); +} + +bool Programmer::Mem24Base::verifyDeviceId() +{ + return specific()->verifyPresence(); +} diff --git a/src/devices/mem24/prog/mem24_prog.h b/src/devices/mem24/prog/mem24_prog.h new file mode 100644 index 0000000..86948c2 --- /dev/null +++ b/src/devices/mem24/prog/mem24_prog.h @@ -0,0 +1,63 @@ +/*************************************************************************** + * Copyright (C) 2006 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#ifndef MEM24_PROG_H +#define MEM24_PROG_H + +#include "progs/base/generic_prog.h" +#include "devices/mem24/mem24/mem24_memory.h" + +namespace Programmer +{ +//----------------------------------------------------------------------------- +class Mem24DeviceSpecific : public DeviceSpecific +{ +public: + Mem24DeviceSpecific(::Programmer::Base &base) : DeviceSpecific(base) {} + const Mem24::Data &device() const { return static_cast<const Mem24::Data &>(*_base.device()); } + bool read(Device::Array &data, const VerifyData *vdata); + bool write(const Device::Array &data); + bool verifyByte(uint index, BitValue d, const VerifyData &vdata); + virtual bool verifyPresence() = 0; + +protected: + virtual bool doRead(Device::Array &data, const VerifyData *vdata) = 0; + virtual bool doWrite(const Device::Array &data) = 0; +}; + +//----------------------------------------------------------------------------- +class Mem24Hardware : public Hardware +{ +public: + Mem24Hardware(::Programmer::Base &base, Port::Base *port, const QString &name) : Hardware(base, port, name) {} + const Mem24::Data &device() const { return static_cast<const Mem24::Data &>(*_base.device()); } +}; + +//----------------------------------------------------------------------------- +class Mem24Base : public Base +{ +public: + Mem24Base(const Group &group, const Mem24::Data *data, const char *name) : Base(group, data, name) {} + const Mem24::Data *device() const { return static_cast<const Mem24::Data *>(_device); } + +protected: + Mem24DeviceSpecific *specific() const { return static_cast<Mem24DeviceSpecific *>(_specific); } + virtual bool verifyDeviceId(); + virtual uint nbSteps(Task task, const Device::MemoryRange *range) const; + virtual bool initProgramming() { return true; } + virtual bool checkErase() { return true; } + virtual bool internalErase(const Device::MemoryRange &range); + virtual bool checkRead() { return true; } + virtual bool internalRead(Device::Memory *memory, const Device::MemoryRange &range, const VerifyData *vdata); + virtual bool checkProgram(const Device::Memory &) { return true; } + virtual bool internalProgram(const Device::Memory &memory, const Device::MemoryRange &range); +}; + +} // namespace + +#endif diff --git a/src/devices/mem24/prog/prog.pro b/src/devices/mem24/prog/prog.pro new file mode 100644 index 0000000..2acd347 --- /dev/null +++ b/src/devices/mem24/prog/prog.pro @@ -0,0 +1,6 @@ +STOPDIR = ../../../.. +include($${STOPDIR}/lib.pro) + +TARGET = mem24prog +HEADERS += mem24_prog.h +SOURCES += mem24_prog.cpp diff --git a/src/devices/mem24/xml/Makefile.am b/src/devices/mem24/xml/Makefile.am new file mode 100644 index 0000000..88a4305 --- /dev/null +++ b/src/devices/mem24/xml/Makefile.am @@ -0,0 +1,12 @@ +INCLUDES = -I$(top_srcdir)/src $(all_includes) +METASOURCES = AUTO + +noinst_PROGRAMS = mem24_xml_to_data + +mem24_xml_to_data_SOURCES = mem24_xml_to_data.cpp +mem24_xml_to_data_DEPENDENCIES = $(top_builddir)/src/devices/mem24/base/libmem24base.la \ + $(top_builddir)/src/xml_to_data/libxmltodata.la $(top_builddir)/src/devices/base/libdevicebase.la \ + $(top_builddir)/src/common/common/libcommon.la +mem24_xml_to_data_LDADD = $(top_builddir)/src/devices/mem24/base/libmem24base.la \ + $(top_builddir)/src/xml_to_data/libxmltodata.la $(top_builddir)/src/devices/base/libdevicebase.la \ + $(top_builddir)/src/common/common/libcommon.la $(LIB_KDECORE) diff --git a/src/devices/mem24/xml/mem24_xml_to_data.cpp b/src/devices/mem24/xml/mem24_xml_to_data.cpp new file mode 100644 index 0000000..734ebca --- /dev/null +++ b/src/devices/mem24/xml/mem24_xml_to_data.cpp @@ -0,0 +1,60 @@ +/*************************************************************************** + * Copyright (C) 2006-2007 Nicolas Hadacek <hadacek@kde.org> * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + ***************************************************************************/ +#include <qfile.h> +#include <qtextstream.h> + +#include "xml_to_data/device_xml_to_data.h" +#include "common/common/misc.h" +#include "devices/mem24/base/mem24.h" + +namespace Mem24 +{ + +class XmlToData : public Device::XmlToData<Data> +{ +private: + virtual uint nbOutputFiles(uint) const { return 1; } + virtual bool isIncluded(uint, uint) const { return true; } + virtual QString namespaceName() const { return "Mem24"; } + +virtual void processDevice(QDomElement device) +{ + Device::XmlToDataBase::processDevice(device); + + QDomElement e = findUniqueElement(device, "memory", "name", QString::null); + bool ok; + data()->_nbBytes = fromHexLabel(e.attribute("size"), &ok); + if ( !ok ) qFatal("Missing or invalid size"); + data()->_nbBlocks = e.attribute("nb_blocks").toUInt(&ok); + if ( !ok || data()->_nbBlocks==0 ) qFatal("Missing, zero, or invalid nb_blocks"); + if ( (data()->_nbBytes % data()->_nbBlocks)!=0 ) qFatal("nb_blocks should divide size"); + if ( data()->_nbBlocks>8 ) qFatal("nb_blocks is too large (>8)"); + data()->_nbBytesPage = e.attribute("page_size").toUInt(&ok); + if ( !ok || data()->_nbBytesPage==0 ) qFatal("Missing, zero, or invalid page_size"); + if ( ((data()->_nbBytes/data()->_nbBlocks) % data()->_nbBytesPage)!=0 ) qFatal("page_size should divide size/nb_blocks"); + QStringList names; + names.append(QString::null); + checkTagNames(device, "memory", names); +} + +virtual void checkPins(const QMap<QString, uint> &pinLabels) const +{ + if ( !pinLabels.contains("VCC") ) qFatal("No VDD pin specified"); + if ( !pinLabels.contains("VSS") ) qFatal("No VSS pin specified"); + QMap<QString, uint>::const_iterator it; + for (it=pinLabels.begin(); it!=pinLabels.end(); ++it) + if ( it.data()!=1 ) qFatal(QString("Duplicated pin %1").arg(it.key())); +} + +}; // class + +} // namespace + +//----------------------------------------------------------------------------- +XML_MAIN(Mem24::XmlToData) diff --git a/src/devices/mem24/xml/xml.pro b/src/devices/mem24/xml/xml.pro new file mode 100644 index 0000000..9730b29 --- /dev/null +++ b/src/devices/mem24/xml/xml.pro @@ -0,0 +1,13 @@ +STOPDIR = ../../../.. +include($${STOPDIR}/app.pro) + +TARGET = mem24_xml_to_data +SOURCES += mem24_xml_to_data.cpp +LIBS += ../../../devices/mem24/base/libmem24base.a ../../../xml_to_data/libxmltodata.a \ + ../../../devices/base/libdevicebase.a ../../../common/global/libglobal.a \ + ../../../common/nokde/libnokde.a ../../../common/common/libcommon.a + +unix:QMAKE_POST_LINK = cd ../xml_data && ../xml/mem24_xml_to_data +unix:QMAKE_CLEAN += ../xml_data/mem24_data.cpp +win32:QMAKE_POST_LINK = cd ..\xml_data && ..\xml\mem24_xml_to_data.exe +win32:QMAKE_CLEAN += ..\xml_data\mem24_data.cpp diff --git a/src/devices/mem24/xml_data/24AA00.xml b/src/devices/mem24/xml_data/24AA00.xml new file mode 100644 index 0000000..6b9e114 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA00.xml @@ -0,0 +1,41 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA00" document="010770" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10" nb_blocks="1" page_size="1" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="N/C" /> + <pin index="5" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA01.xml b/src/devices/mem24/xml_data/24AA01.xml new file mode 100644 index 0000000..f3aa59d --- /dev/null +++ b/src/devices/mem24/xml_data/24AA01.xml @@ -0,0 +1,41 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA01" document="010771" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x80" nb_blocks="1" page_size="8" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA014.xml b/src/devices/mem24/xml_data/24AA014.xml new file mode 100644 index 0000000..91b93ca --- /dev/null +++ b/src/devices/mem24/xml_data/24AA014.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA014" document="010772" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x80" nb_blocks="1" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA02.xml b/src/devices/mem24/xml_data/24AA02.xml new file mode 100644 index 0000000..a4c3174 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA02.xml @@ -0,0 +1,41 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA02" document="010774" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x100" nb_blocks="1" page_size="8" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA024.xml b/src/devices/mem24/xml_data/24AA024.xml new file mode 100644 index 0000000..7d2bfe5 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA024.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA024" document="010775" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x100" nb_blocks="1" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA025.xml b/src/devices/mem24/xml_data/24AA025.xml new file mode 100644 index 0000000..174c163 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA025.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA025" document="020310" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x100" nb_blocks="1" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA04.xml b/src/devices/mem24/xml_data/24AA04.xml new file mode 100644 index 0000000..18ca2ac --- /dev/null +++ b/src/devices/mem24/xml_data/24AA04.xml @@ -0,0 +1,41 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA04" document="010777" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x200" nb_blocks="2" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA08.xml b/src/devices/mem24/xml_data/24AA08.xml new file mode 100644 index 0000000..84852f2 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA08.xml @@ -0,0 +1,41 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA08" document="010779" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x400" nb_blocks="4" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA1025.xml b/src/devices/mem24/xml_data/24AA1025.xml new file mode 100644 index 0000000..54940f3 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA1025.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA1025" document="024638" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x20000" nb_blocks="2" page_size="128" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA128.xml b/src/devices/mem24/xml_data/24AA128.xml new file mode 100644 index 0000000..bf113e8 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA128.xml @@ -0,0 +1,44 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA128" document="010781" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x4000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="msop" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA16.xml b/src/devices/mem24/xml_data/24AA16.xml new file mode 100644 index 0000000..fb471b5 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA16.xml @@ -0,0 +1,41 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA16" document="010783" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x800" nb_blocks="8" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA164.xml b/src/devices/mem24/xml_data/24AA164.xml new file mode 100644 index 0000000..76ac031 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA164.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA164" document="010349" status="EOL" alternatives="24AA16" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="commercial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="6" /> + <frequency start="0.1" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x800" nb_blocks="8" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA256.xml b/src/devices/mem24/xml_data/24AA256.xml new file mode 100644 index 0000000..899389d --- /dev/null +++ b/src/devices/mem24/xml_data/24AA256.xml @@ -0,0 +1,44 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA256" document="010785" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x8000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="msop" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA32A.xml b/src/devices/mem24/xml_data/24AA32A.xml new file mode 100644 index 0000000..bc8d0f4 --- /dev/null +++ b/src/devices/mem24/xml_data/24AA32A.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA32A" document="010787" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x1000" nb_blocks="1" page_size="32" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA512.xml b/src/devices/mem24/xml_data/24AA512.xml new file mode 100644 index 0000000..baa575e --- /dev/null +++ b/src/devices/mem24/xml_data/24AA512.xml @@ -0,0 +1,50 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA512" document="010789" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10000" nb_blocks="1" page_size="128" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="tssop" nb_pins="14" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="N/C" /> + <pin index="4" name="N/C" /> + <pin index="5" name="N/C" /> + <pin index="6" name="A2" /> + <pin index="7" name="VSS" /> + <pin index="8" name="SDA" /> + <pin index="9" name="SCL" /> + <pin index="10" name="N/C" /> + <pin index="11" name="N/C" /> + <pin index="12" name="N/C" /> + <pin index="13" name="WP" /> + <pin index="14" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA515.xml b/src/devices/mem24/xml_data/24AA515.xml new file mode 100644 index 0000000..b80a53a --- /dev/null +++ b/src/devices/mem24/xml_data/24AA515.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA515" document="010791" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA64.xml b/src/devices/mem24/xml_data/24AA64.xml new file mode 100644 index 0000000..0d52b6b --- /dev/null +++ b/src/devices/mem24/xml_data/24AA64.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA64" document="010793" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x2000" nb_blocks="1" page_size="32" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24AA65.xml b/src/devices/mem24/xml_data/24AA65.xml new file mode 100644 index 0000000..b35b50b --- /dev/null +++ b/src/devices/mem24/xml_data/24AA65.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24AA65" document="010795" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="commercial" > + <frequency start="0" end="0.1" vdd_min="1.8" vdd_max="6" /> + <frequency start="0.1" end="0.4" vdd_min="4.5" vdd_max="6" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x2000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24C00.xml b/src/devices/mem24/xml_data/24C00.xml new file mode 100644 index 0000000..13bc0f7 --- /dev/null +++ b/src/devices/mem24/xml_data/24C00.xml @@ -0,0 +1,43 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24C00" document="010796" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + <frequency_range name="extended" > + <frequency start="0" end="0.1" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10" nb_blocks="1" page_size="1" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="N/C" /> + <pin index="5" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24C01C.xml b/src/devices/mem24/xml_data/24C01C.xml new file mode 100644 index 0000000..3526522 --- /dev/null +++ b/src/devices/mem24/xml_data/24C01C.xml @@ -0,0 +1,35 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24C01C" document="010797" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + <frequency_range name="extended" > + <frequency start="0" end="0.1" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x80" nb_blocks="1" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="TEST" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24C02C.xml b/src/devices/mem24/xml_data/24C02C.xml new file mode 100644 index 0000000..f4ce091 --- /dev/null +++ b/src/devices/mem24/xml_data/24C02C.xml @@ -0,0 +1,35 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24C02C" document="010798" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + <frequency_range name="extended" > + <frequency start="0" end="0.1" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x100" nb_blocks="1" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24C65.xml b/src/devices/mem24/xml_data/24C65.xml new file mode 100644 index 0000000..6f9be98 --- /dev/null +++ b/src/devices/mem24/xml_data/24C65.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24C65" document="010799" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="4.5" vdd_max="6" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x2000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24FC1025.xml b/src/devices/mem24/xml_data/24FC1025.xml new file mode 100644 index 0000000..c783952 --- /dev/null +++ b/src/devices/mem24/xml_data/24FC1025.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24FC1025" document="024639" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="1" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x20000" nb_blocks="2" page_size="128" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24FC128.xml b/src/devices/mem24/xml_data/24FC128.xml new file mode 100644 index 0000000..88b0c8e --- /dev/null +++ b/src/devices/mem24/xml_data/24FC128.xml @@ -0,0 +1,44 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24FC128" document="010800" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.4" end="1" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x4000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="msop" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24FC256.xml b/src/devices/mem24/xml_data/24FC256.xml new file mode 100644 index 0000000..08595ed --- /dev/null +++ b/src/devices/mem24/xml_data/24FC256.xml @@ -0,0 +1,44 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24FC256" document="010801" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="1.8" vdd_max="5.5" /> + <frequency start="0.4" end="1" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x8000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="msop" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24FC512.xml b/src/devices/mem24/xml_data/24FC512.xml new file mode 100644 index 0000000..0811a8d --- /dev/null +++ b/src/devices/mem24/xml_data/24FC512.xml @@ -0,0 +1,49 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24FC512" document="010802" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="1" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10000" nb_blocks="1" page_size="128" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="tssop" nb_pins="14" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="N/C" /> + <pin index="4" name="N/C" /> + <pin index="5" name="N/C" /> + <pin index="6" name="A2" /> + <pin index="7" name="VSS" /> + <pin index="8" name="SDA" /> + <pin index="9" name="SCL" /> + <pin index="10" name="N/C" /> + <pin index="11" name="N/C" /> + <pin index="12" name="N/C" /> + <pin index="13" name="WP" /> + <pin index="14" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24FC515.xml b/src/devices/mem24/xml_data/24FC515.xml new file mode 100644 index 0000000..9469c8c --- /dev/null +++ b/src/devices/mem24/xml_data/24FC515.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24FC515" document="010803" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="1" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC00.xml b/src/devices/mem24/xml_data/24LC00.xml new file mode 100644 index 0000000..b6b588e --- /dev/null +++ b/src/devices/mem24/xml_data/24LC00.xml @@ -0,0 +1,41 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC00" document="010804" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="2.5" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10" nb_blocks="1" page_size="1" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="N/C" /> + <pin index="5" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC014.xml b/src/devices/mem24/xml_data/24LC014.xml new file mode 100644 index 0000000..f3dd3e7 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC014.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC014" document="010805" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x80" nb_blocks="1" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC01B.xml b/src/devices/mem24/xml_data/24LC01B.xml new file mode 100644 index 0000000..f96bc6d --- /dev/null +++ b/src/devices/mem24/xml_data/24LC01B.xml @@ -0,0 +1,40 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC01B" document="010806" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x80" nb_blocks="1" page_size="8" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC024.xml b/src/devices/mem24/xml_data/24LC024.xml new file mode 100644 index 0000000..7fa84bf --- /dev/null +++ b/src/devices/mem24/xml_data/24LC024.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC024" document="010808" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x100" nb_blocks="1" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC025.xml b/src/devices/mem24/xml_data/24LC025.xml new file mode 100644 index 0000000..8f5df38 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC025.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC025" document="010809" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x100" nb_blocks="1" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC02B.xml b/src/devices/mem24/xml_data/24LC02B.xml new file mode 100644 index 0000000..3e34cde --- /dev/null +++ b/src/devices/mem24/xml_data/24LC02B.xml @@ -0,0 +1,40 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC02B" document="010810" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x100" nb_blocks="1" page_size="8" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC04B.xml b/src/devices/mem24/xml_data/24LC04B.xml new file mode 100644 index 0000000..0f83be9 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC04B.xml @@ -0,0 +1,40 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC04B" document="010812" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x200" nb_blocks="2" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC08B.xml b/src/devices/mem24/xml_data/24LC08B.xml new file mode 100644 index 0000000..a617e0c --- /dev/null +++ b/src/devices/mem24/xml_data/24LC08B.xml @@ -0,0 +1,40 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC08B" document="010814" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x400" nb_blocks="4" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC1025.xml b/src/devices/mem24/xml_data/24LC1025.xml new file mode 100644 index 0000000..79ba144 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC1025.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC1025" document="024636" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x20000" nb_blocks="2" page_size="128" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC128.xml b/src/devices/mem24/xml_data/24LC128.xml new file mode 100644 index 0000000..b850eac --- /dev/null +++ b/src/devices/mem24/xml_data/24LC128.xml @@ -0,0 +1,43 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC128" document="010817" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x4000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="msop" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC16B.xml b/src/devices/mem24/xml_data/24LC16B.xml new file mode 100644 index 0000000..f07bd5e --- /dev/null +++ b/src/devices/mem24/xml_data/24LC16B.xml @@ -0,0 +1,40 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC16B" document="010819" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x800" nb_blocks="8" page_size="16" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="sot23" nb_pins="5" > + <pin index="1" name="SCL" /> + <pin index="2" name="VSS" /> + <pin index="3" name="SDA" /> + <pin index="4" name="VCC" /> + <pin index="5" name="WP" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC21A.xml b/src/devices/mem24/xml_data/24LC21A.xml new file mode 100644 index 0000000..010b3a2 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC21A.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC21A" document="010821" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="2.5" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x80" nb_blocks="1" page_size="8" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="VCLK" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC22A.xml b/src/devices/mem24/xml_data/24LC22A.xml new file mode 100644 index 0000000..237b47e --- /dev/null +++ b/src/devices/mem24/xml_data/24LC22A.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC22A" document="010822" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="2.5" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x100" nb_blocks="1" page_size="8" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="N/C" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="VCLK" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC256.xml b/src/devices/mem24/xml_data/24LC256.xml new file mode 100644 index 0000000..5a49ee9 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC256.xml @@ -0,0 +1,43 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC256" document="010823" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x8000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="msop" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC32A.xml b/src/devices/mem24/xml_data/24LC32A.xml new file mode 100644 index 0000000..abd17f2 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC32A.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC32A" document="010825" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x1000" nb_blocks="1" page_size="32" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC512.xml b/src/devices/mem24/xml_data/24LC512.xml new file mode 100644 index 0000000..f643c99 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC512.xml @@ -0,0 +1,49 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC512" document="010828" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10000" nb_blocks="1" page_size="128" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + + <package types="tssop" nb_pins="14" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="N/C" /> + <pin index="4" name="N/C" /> + <pin index="5" name="N/C" /> + <pin index="6" name="A2" /> + <pin index="7" name="VSS" /> + <pin index="8" name="SDA" /> + <pin index="9" name="SCL" /> + <pin index="10" name="N/C" /> + <pin index="11" name="N/C" /> + <pin index="12" name="N/C" /> + <pin index="13" name="WP" /> + <pin index="14" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC515.xml b/src/devices/mem24/xml_data/24LC515.xml new file mode 100644 index 0000000..55482b3 --- /dev/null +++ b/src/devices/mem24/xml_data/24LC515.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC515" document="010830" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x10000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC64.xml b/src/devices/mem24/xml_data/24LC64.xml new file mode 100644 index 0000000..d35cf1a --- /dev/null +++ b/src/devices/mem24/xml_data/24LC64.xml @@ -0,0 +1,32 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC64" document="010831" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="extended" > + <frequency start="0" end="0.4" vdd_min="2.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x2000" nb_blocks="1" page_size="32" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic tssop msop dfns" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="WP" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LC65.xml b/src/devices/mem24/xml_data/24LC65.xml new file mode 100644 index 0000000..3fb3fbb --- /dev/null +++ b/src/devices/mem24/xml_data/24LC65.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LC65" document="010833" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="2.5" vdd_max="6" /> + <frequency start="0.1" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x2000" nb_blocks="1" page_size="64" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="A0" /> + <pin index="2" name="A1" /> + <pin index="3" name="A2" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="N/C" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/24LCS21A.xml b/src/devices/mem24/xml_data/24LCS21A.xml new file mode 100644 index 0000000..0cb4846 --- /dev/null +++ b/src/devices/mem24/xml_data/24LCS21A.xml @@ -0,0 +1,33 @@ +<!DOCTYPE piklab_device> +<!--************************************************************************--> +<!--* Copyright (C) 2005-2007 Nicolas Hadacek <hadacek@kde.org> *--> +<!--* *--> +<!--* This program is free software; you can redistribute it and/or modify *--> +<!--* it under the terms of the GNU General Public License as published by *--> +<!--* the Free Software Foundation; either version 2 of the License, or *--> +<!--* (at your option) any later version. *--> +<!--************************************************************************--> +<device name="24LCS21A" document="010834" status="IP" memory_technology="FLASH" > + +<!--* Operating characteristics ********************************************--> + <frequency_range name="industrial" > + <frequency start="0" end="0.1" vdd_min="2.5" vdd_max="5.5" /> + <frequency start="0.1" end="0.4" vdd_min="4.5" vdd_max="5.5" /> + </frequency_range> + +<!--* Memory ***************************************************************--> + <memory size="0x80" nb_blocks="1" page_size="8" /> + +<!--* Packages *************************************************************--> + <package types="pdip soic" nb_pins="8" > + <pin index="1" name="N/C" /> + <pin index="2" name="N/C" /> + <pin index="3" name="WP" /> + <pin index="4" name="VSS" /> + <pin index="5" name="SDA" /> + <pin index="6" name="SCL" /> + <pin index="7" name="VCLK" /> + <pin index="8" name="VCC" /> + </package> + +</device> diff --git a/src/devices/mem24/xml_data/Makefile.am b/src/devices/mem24/xml_data/Makefile.am new file mode 100644 index 0000000..42cacaa --- /dev/null +++ b/src/devices/mem24/xml_data/Makefile.am @@ -0,0 +1,12 @@ +INCLUDES = -I$(top_srcdir)/src $(all_includes) +METASOURCES = AUTO + +noinst_LTLIBRARIES = libmem24xml.la +libmem24xml_la_LDFLAGS = $(all_libraries) +libmem24xml_la_SOURCES = mem24_data.cpp +libmem24xml_la_DEPENDENCIES = mem24_data.cpp + +include deps.mak +mem24_data.cpp: ../xml/mem24_xml_to_data $(noinst_DATA) + ../xml/mem24_xml_to_data +CLEANFILES = mem24_data.cpp diff --git a/src/devices/mem24/xml_data/deps.mak b/src/devices/mem24/xml_data/deps.mak new file mode 100644 index 0000000..5c1f243 --- /dev/null +++ b/src/devices/mem24/xml_data/deps.mak @@ -0,0 +1,6 @@ +noinst_DATA = \ + 24AA00.xml 24AA01.xml 24AA014.xml 24AA02.xml 24AA024.xml 24AA025.xml 24AA04.xml 24AA08.xml 24AA1025.xml 24AA128.xml\ + 24AA16.xml 24AA164.xml 24AA256.xml 24AA32A.xml 24AA512.xml 24AA515.xml 24AA64.xml 24AA65.xml 24C00.xml 24C01C.xml\ + 24C02C.xml 24C65.xml 24FC1025.xml 24FC128.xml 24FC256.xml 24FC512.xml 24FC515.xml 24LC00.xml 24LC014.xml 24LC01B.xml\ + 24LC024.xml 24LC025.xml 24LC02B.xml 24LC04B.xml 24LC08B.xml 24LC1025.xml 24LC128.xml 24LC16B.xml 24LC21A.xml 24LC22A.xml\ + 24LC256.xml 24LC32A.xml 24LC512.xml 24LC515.xml 24LC64.xml 24LC65.xml 24LCS21A.xml diff --git a/src/devices/mem24/xml_data/xml_data.pro b/src/devices/mem24/xml_data/xml_data.pro new file mode 100644 index 0000000..4842ae2 --- /dev/null +++ b/src/devices/mem24/xml_data/xml_data.pro @@ -0,0 +1,5 @@ +STOPDIR = ../../../.. +include($${STOPDIR}/lib.pro) + +TARGET = mem24xml +SOURCES += mem24_data.cpp |