Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add PMS150G page #50

Open
wants to merge 5 commits into
base: production
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This site uses [Jekyll](https://jekyllrb.com/).
Jekyll is a static site generator that takes markdown files and transforms them to HTML.

To run Jekyll locally, install `ruby` `>=2.5.0` and the `bundler` gem (`gem install bundler`).
Then install dependencies by running `bundle install` and build the site by calling `bundle exec jekyll serve --livereload`. (You may have to use `bundle exec jekyll serve --livereload --no-watch` if you are running WSL.)
Then install dependencies by running `bundle install` and build the site by calling `bundle exec jekyll serve --livereload`. (You may have to use `bundle exec jekyll serve --livereload --no-watch` if you are using WSL).

We use the GitHub API to fetch a list of projects using Padauk µCs and the latest activity in the `free-pdk` organization.
The API has a rate limit of 60 requests per hour for unauthenticated requests, which may not be sufficient for the amount of API requests we make when building the website.
Expand Down
15 changes: 14 additions & 1 deletion _includes/device-table.html
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,13 @@
| where_exp:"page","page.layout == 'chip' and page.programming == include.memorytype"
| group_by_exp:"chip","chip.related_to | default: chip.title" %}
{% for group in groups %}
{% assign lastGroup = groups[forloop.index - 1] %}
{% if lastGroup.size < 2 %}
<tr>
<td colspan="12">
</td>
</tr>
{% endif %}
{% for page in group.items -%}
<tr>
<td markdown="span">**[{{ page.title }}]({{ page.url }})**</td>
Expand All @@ -34,7 +41,7 @@
<td>{{ page.maxio}}</td>
<td>{{ page.rom_size | replace: " ", "&nbsp;" | replace: ",", "<br>" | replace: "-", "&#8209;" | markdownify }}</td>
<td>{{ page.ram_size }}</td>
<td>{{ page.timers | replace: " ", "&nbsp;" | replace: ",", "<br>" | replace: "-", "&#8209;" }}</td>
<td>{{ page.timers | replace: " ", "&nbsp;" | replace: ",", "<br>" | replace: "-", "&#8209;" }}</td>
<td>{{ page.PWM | replace: " ", "&nbsp;" | replace: ",", "<br>" | replace: "-", "&#8209;" }}</td>
<td>{{ page.Comp}}</td>
<td>{{ page.ADC | replace: " ", "&nbsp;" | replace: ",", "<br>" | replace: "-", "&#8209;" }}</td>
Expand All @@ -48,6 +55,12 @@
</td>
</tr>
{%- endfor %}
{% unless forloop.last or group.items.size < 2 %}
<tr>
<td colspan="12">
</td>
</tr>
{% endunless %}
{% endfor %}
</tbody>
</table>
Expand Down
9 changes: 7 additions & 2 deletions _includes/device_code_options.html
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<thead>
<tr>
<th colspan="1" rowspan="3">µC</th>
<th colspan="4" rowspan="2">Fuse</th>
<th colspan="5" rowspan="2">Fuse</th>
<th colspan="12">Undocumented Register</th>
</tr>
<tr>
Expand All @@ -14,6 +14,7 @@
<tr class="smaller">
<th>Security</th>
<th>Pin Drive</th>
<th>Open Drain Control</th>
<th>Startup Speed</th>
<th>3-bit LVR</th>

Expand All @@ -35,6 +36,7 @@
<tbody>
{% assign groups = site.pages
| where_exp:"page","page.layout == 'chip'"
| sort: "title"
| group_by_exp:"chip","chip.related_to | default: chip.title" %}
{% for group in groups %}
{%- if include.chip -%}
Expand All @@ -60,10 +62,13 @@
<td data-type="fuse" title="{{ o.fuse.pin_drive | join:', ' }}">
{% if o.fuse contains 'pin_drive' %}x{% endif %}
</td>
<td data-type="fuse" title="{{ o.open_drain | join:', ' | default: 'FUSE_PA5OD_DISABLE FUSE_PA5OD_ENABLE' }}">
{% if o.fuse contains 'open_drain' %}x{% endif %}
</td>
<td data-type="fuse" title="{{ o.fuse.bootup | join:', ' | default: 'FUSE_BOOTUP_SLOW, FUSE_BOOTUP_FAST' }}">
{% if o.fuse contains 'bootup' %}x{% endif %}
</td>
<td data-type="fuse" title="{{ o.fuse.lvr | join:', ' | default: 'FUSE_LVR_4V, FUSE_LVR_3V5, FUSE_LVR_3V, FUSE_LVR_2V75, FUSE_LVR_2V5, FUSE_LVR_1V8, FUSE_LVR_2V2, FUSE_LVR_2V' }}">
<td data-type="fuse" title="{{ o.fuse.lvr | join:', ' | default: 'FUSE_LVR_4V, FUSE_LVR_3V5, FUSE_LVR_3V, FUSE_LVR_2V75, FUSE_LVR_2V5, FUSE_LVR_2V2, FUSE_LVR_2V, FUSE_LVR_1V8' }}">
{% if o.fuse contains 'lvr' %}x{% endif %}
</td>

Expand Down
4 changes: 4 additions & 0 deletions assets/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -238,6 +238,10 @@ td.callout {
background-color: $grey-color-light;
cursor: pointer;
}

th {
padding: 10px 5px;
}
}

.toc {
Expand Down
26 changes: 26 additions & 0 deletions chips/PMS150G.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
layout: chip
instruction_set: 13
rom_size: 1 KW
ram_size: 64
product_page: http://www.padauk.com.tw/en/product/show.aspx?num=123
easypdk_supported: true
has_pinout_diagram: true
programming: otp
maxio: 6
timers: T16,T2
PWM: 1x 8-Bit
Comp: 1
ADC: "-"
Special: "-"
oss_status: "Supported"
code_options:
fuse:
security:
pin_drive: [FUSE_IO_DRV_STRONG, FUSE_IO_DRV_NORMAL]
bootup:
lvr:
open_drain:
---

# PMS150G
3 changes: 2 additions & 1 deletion chips/PMS15A.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,6 @@ The ROM size restriction is only enforced when using the official IDE.
**Of course we can't guarantee that Padauk doesn't change this in the future.**
--
*[Source 1](https://github.com/free-pdk/free-pdk.github.io/issues/21)*,
*[Source 2](https://www.eevblog.com/forum/blog/eevblog-1144-padauk-programmer-reverse-engineering/msg2703550/?topicseen#msg2703550)*
*[Source 2](https://www.eevblog.com/forum/blog/eevblog-1144-padauk-programmer-reverse-engineering/msg2703550/?topicseen#msg2703550)*,
*see also [PMS15B](/chips/PMS15B)*
</div>
38 changes: 38 additions & 0 deletions chips/PMS15B.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
layout: chip
instruction_set: 13
rom_size: 0.5 KW, [(1 KW *)](/chips/PMS15B)
ram_size: 64
product_page: http://www.padauk.com.tw/en/product/show.aspx?num=123
easypdk_supported: true
has_pinout_diagram: true
programming: otp
maxio: 6
timers: T16,T2
PWM: 1x 8-Bit
Comp: 1
ADC: "-"
Special: "-"
oss_status: "Supported"
related_to: PMS150G
code_options:
fuse:
security:
pin_drive: [FUSE_IO_DRV_STRONG, FUSE_IO_DRV_NORMAL]
bootup:
lvr:
open_drain:
---

# PMS15B

<div class="callout" markdown="1">
The PMS15B may just be a marketing name for the [PMS150G](/chips/PMS150G).
So far, all PMS15B tested appear to be identical to the PMS150G and have the same ROM size.
The ROM size restriction is only enforced when using the official IDE.
**Of course we can't guarantee that Padauk doesn't change this in the future.**
--
*[Source](https://github.com/free-pdk/free-pdk.github.io/commit/4d62e76350d7078276c6ec059e1382e06a159a94#commitcomment-50046062)*,
*see also [PMS15A](/chips/PMS15A)*

</div>