Skip to content
Snippets Groups Projects
Commit 1387abaa authored by Loes's avatar Loes
Browse files

update 10

parent 64b9ea15
No related branches found
No related tags found
No related merge requests found
......@@ -186,6 +186,11 @@ After all this lenghty setup setup setup up, I could see the simulation of the t
*Simulation of the toolpaths the milling machine would run for me, Loes Bogers, 2019*
I fastened the foam using double sided tape, and by screwing some wood strips to the sides. Let's start.
![](../images/wk09_fastening0.jpg)*Fastening the material, shot by Bea Sandini, 2019*
**Issues and solutions**
During the last run of the roughing toolpath, the nut of the machine touched the surface of the foam on the edges, the tool depth was not enough to prevent this. Even though we thought we measured and calculated everything. The cavity ended up being too deep for the milling bit. Ouch! I paused the machine of course but there wasn't much I could do in the middle of a job. So Maud – who was interning at the lab – switched off the machine to prevent burning. We discussed if I could salvage the design, and because it was only doing the very last path, it was worth trying to do the finishing toolpath anyway, even though it hadn't totally finished the roughing. The soft foam would probably be cut away just fine. And it did! I had to export the finishing toolpath separately again, double checked the zeroes of the machine and ran the finishing path.
......@@ -283,6 +288,7 @@ M3,254.689957,48.270596,-6.000000
```
And here's the shopbot [file](../files/wk09_combinedtoolpath.sbp).
#Lay-up
......@@ -312,6 +318,7 @@ Vacuum bag: a vacuum bag to store clothing items in
![](../images/wk09_layers_EDIT.jpg)*The different layers, Loes Bogers, 2019*
**Cooking up a bio-resin**
Bea and I shared a batch of Bio-resin. The recipe we used was enough for both our single layer composite tests:
* 48 g of gelatine
......@@ -348,12 +355,17 @@ I studied some samples at the lab and talked to Cecilia about the leather moldin
**Massaging the leather**
I spent about an hour massaging the leather with hot water, to form a little bit into the shape, before I put it in a vacuum bag, it helped a lot to cover all the deeper cavities a bit better. Before I was just getting creases and it was hard to control the vacuum. When it was a bit manually preformed this was easier. Can't wait to take it out!
I spent about an hour massaging the leather with hot water, to form a little bit into the shape, before I put it in a vacuum bag, it helped a lot to cover all the deeper cavities a bit better. Before I was just getting creases and it was hard to control the vacuum. When it was a bit manually preformed this was easier.
![](../images/wk09_leathermanual.jpg)*Manually massaging and forming the wet warm leather onto the mold, Loes Bogers, 2019*
![](../images/wk09_leathervacuum.jpg)*The mold in a vacuum bag, using a cotton canvas as a bleeder, and a ball of yarn as a breather (worked reallly well! Loes Bogers, 2019*
**Faulty vacuum bags?**
I tried two different vacuum bags and vacuumed them about 20 times but they kept releasing their vacuum. Very sad. During the global review I saw someones leather molding process and Anastasia mentioned a frame might help her press the material down around the shape. I thought hey that could help me! I don't have the (machine) time to make the negative half of the mold but cutting the outline of the blobs out of a wooden rectangle is done in a giffy. I baked the Grasshopper shapes again and baked them, then in Rhino I performed the [Meshoutline] command to make an outline of the balls for the negative mold (the ones that have a slight offset). *Clamp clamp clamp clamp.... Boom!* At least the outline will have proper definition now.
![](../images/wk09_woodmold.jpg)*My improvised mold-addons, Loes Bogers, 2019*
**Glossary**
......
# 10. E-Textiles and Wearables II
This week I worked on defining my final project idea and started to getting used to the documentation process.
## Assignment
## Research
* Make a swatch with an input and output controlled with an Attiny
* Make two swatches with actuators, controlled with either Arduino or Attiny
* Figure out the Soft Serial communication to read an anolog sensor with an FTDI cable.
"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
> "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
##Soft Speakers
## Useful links
**Variables**
- [Jekyll](http://jekyll.org)
- [Google](http://google.com)
- [Markdown](https://en.wikipedia.org/wiki/Markdown)
* **Coil tightness:**
The tighter the coil, the louder. (It will be since it will have a stronger magnetic field.)
* **Material:** You can hear noise because the sound waves vibrate off the material. How stiff or thick the material is effects the loudness.
* **Magnet size**
The larger the magnet, the louder the volume. You can combine many small magnets or just get a big one BUT be careful - neodymium magnets are very strong.
* **Magnet placement**
The volume will be louder the closer the magnet is to the center of the coil.
**Making a jack connector and soldering the amp board**
## Code Example
See tutorial Liza mentioned. Added some shrink tube. I soldered the amp board together and turned the volume knob on the board up to max with a tiny screwdriver.
Use the three backticks to separate code.
**Designing & Fabricating coils**
```
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin LED_BUILTIN as an output.
pinMode(LED_BUILTIN, OUTPUT);
}
Draw a coil on your fabric or paper. It can be any shape you like. Thread your needle with one strand of conductive thread. You can run wax over the end to get it through the hole. Tie a knot 5-6 inches from the end. Come up through the center of the piece of fabric. Stitch around the coil, making sure the conductive thread lines do not touch each other. Make sure the extra 5-6 inches of thread does not get sewn into the coil! We need to keep them separate.
// the loop function runs over and over again forever
void loop() {
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
```
* Rhino: Spiral
* Illustrator: offset, add extra lines.
I designed lines of the spiral to be 3mm thick so I could still handle them. Too thin would be crazy. Cut off a few windings because I couldn't get them on neatly. So it's a relatively small and weak coil. But it works! You have to get close but you can clearly hear the music with a stack of 5-10 batteries.
## Gallery
<iframe width="560" height="315" src="https://www.youtube.com/embed/D469eZatY8Y?controls=0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
![](../images/sample-photo.jpg)
I cut the same spiral shape but without the offset. Instead I just cut the line with a dotted pattern that I can follow with a conductive thread. This coil has a lot more windings so I'm pretty hopeful about these.
## Video
**Fabricating coils**
### From Vimeo
Iron heat 'n bond to the conductive fabric before laser cutting (I put a little piece of cotton canvas over it to prevent the plastic melting to the iron. I kept the backing paper during the lasercutting. Cut with laser cutter at Speed 100/Power 20. I had to tape it down a few times to keep it from burning. Carefully ironed the coil to the textile, added a soldering braid from the back by making a little cut in the center so I could connect to both sides.
<iframe src="https://player.vimeo.com/video/10048961" width="640" height="480" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<p><a href="https://vimeo.com/10048961">Sound Waves</a> from <a href="https://vimeo.com/radarboy">George Gally (Radarboy)</a> on <a href="https://vimeo.com">Vimeo</a>.</p>
**Controlling a soft speaker with a DFPlayer Mini**
### From Youtube
This board with a mini SD card holder that can work standalone or with an Arduino (not with the ATtiny though). You could make a full soft MP3 player with this chip! This is the [DFplayer Wiki](https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299) and here's [Liza's code](https://github.com/lizastark/Projects/tree/master/Sonic_Quilt/dfMini_tutorial) to start with.
## Thermochromic inks
**Making a transistor circuit**
We have a box of transistors here but I found out it's a mix of Voltage Regulators and Mosfets, they don't exactly do the same thing so I had to look at a lot of tiny numbers to find an N-channel MOSFET. I have a IRF530 here, that can control 100V-14A and the pinouts are the same as the example. Gate, Drain, Source from left to right when viewing it from the top.
I added a 1N4007 diode (1000V-1A) for safety in case I want to use it with motors etc at a later stage. Never hurts to protect a circuit. I used this one because it's what I had in my box of stuff, but didn't have the 1N4001 (50V - 1A) Liza suggested.
##Emma's tutorial on motion & sound actuators
Both motion and sound are based on the physics principles of electromagnetism. Both motors and speakers work with coils and magnets. Electricity and magnetism are good friends. If you have electricity you always also have a magnetic field. With a coil you can concentrate this magnetic field's force to a limited space, you amplify it. If you run voltage across a coil, it *becomes a magnet*, so you can move stuff around. This is the basic movement used to make a speaker work, and to make a motor turn. They also have coils.
**Lab power supply**
Your second best friend! You can define Voltage and a Current limitation for safety reasons. You can also see how much current your power is drawing, therefor it can help you calculate the best power source required for your project.
**Working with motion and heat**
Working with flipdots etc, you are managing a lot of current, and therefor a lot of heat. It's easy to burn stuff, so you need to know what you're doing. Running 1A current on something for a second is ok, but it gets so hot. You don't want to have it on your skin definitely, it can burn an alligator clip, it will burn you.
**Flip dots**
Invert the orientation of the magnetic field. You do this by inverting the orientation of the leads (changing VCC and GND).
**Speaker**
When we hear sound, the air is moving, the hairs in our ear moves, which we perceive as sound. A speaker just moves the air at the right frequency. You need a conductive coil and a magnet that is connected to a membrane (like a cone).
**How much current can an Arduino supply?**
Arduino can give 5V, but Arduino input/output pins can only sink 20mA per IO pin. An Arduino powered via USB port (the 5V line on the arduino can only give 500mA.
**Coil design**
Some are spirals, but also the knit speakers by Kobakant works. Why? You just need a lot of loops or circles. They don't necessarily need to be nested, like a spiral is. They can also be next to each other like a crocheted textile. What is imporant is that it is made from one continuous piece of conductive material, that is not touching/connecting in between, and that you can access both ends.
**DFPlayer Mini**
It's amazing! A board with a mini SD card holder that can work standalone or with an Arduino (not with the ATtiny though). You could make a full soft MP3 player with this chip! Read the [AD KEY MODE](https://wiki.dfrobot.com/DFPlayer_Mini_SKU_DFR0299) chapter on their wiki. Apparently all it needs is more resistors and switches. Cooool.
**Generating heat**
Make a heating element! You need a lot of current going through a conductive material that can take the heat :) What is important is to know how much resistance the pattern and the materials have. If the resistance is high the current is lower and it might not heat up well. See Liza's slide for material options and tips for use:
* Stainless steel conductive thread
* Karl Grimm conductive thread
* Conductive fabrics
* Nichrome wire or flexinol
**High power LED**
3V, 220mA. You need to dissipate the heat, that's why it's often soldered onto a little board, it's made of metal and works like a heatsink.
**Vibration motors**
Operates on 3V, around 75mA. But can also run between 2-5V with different current.
1.5-3V at 70mA with the device we buy at [Radio Rotor](http://www.rotor.eu/indexprog.php?page=groep.php%3Fgroep%3D600%26pagina%3D1).
With this Liza used a bipolar NPN Transistor: a 2N2222 transistor and a 0.1mF capacitor and the 1N4001 diode to protect Arduino from voltage spikes, and a 1K resistor.
**Shape memory allows (SMAs)**
Metal that can return to a preset "trained" shape, when it's heated to a certain temperature. It comes trained and untrained.
We have a smartwires.eu spool of flexinol that changes state at 9V, 150mA without getting hot. Of course with a power supply you can limit the current, so you need to find the sweet spot where it stays below the current limitation "naturally". We tested at 6V it stays under 150mA. If you wanted to power it on 5V and make it move you could do that by using a shorter wire :D
When you want to do this with longer wires you need more voltage because you have more resistance on a longer strand. The basics, Ohm's law, radida.
How to train an SMA? Something like [this.](https://www.instructables.com/id/How-to-Form-Memory-Wire-Nitinol/)
The challenge with all these things if thinking up an application and managing to control the circuit in that context.
### Transistors: controlling high-power devices
We want to control a device with an IC, and we also want to power the device. But for a high-power device you don't want to power the device with the control circuit. You need to separate them, because e.g. an IO pin can only give 20mA where you might need 200mA-1A to power your coil, motor, or other. The transistor acts as a gate to a second higher power source that can be opened and closed by an IC pin.
We use a transistor to control the device. There are lots of different ones, but we use the N-Channel MOSFET this week (there's also a P-channel MOSFET). Particularly the IRFZ44N in general, but always check, the pinouts might vary! You need to know which leg is the **Gate, Source** and **Drain**
* Source goes to GND of the circuit (also GND of IC)
* Drain goes to VCC of the external power supply (battery)
* Gate goes to an IO pin that can turn it high/low (5V/0V)
The drain, in a way acts as the GND line for the heavy load component. The Arduino GND and the GND line of the device are not connected on the same line!
**Additions to the transistor circuit**
100kOhm reistor between Source and Drain shown in Liza's examples is to smooth the on/off signal coming from the pin. For simple applications this is not necessary.
You can add a diode between the GND and a motor for safety, so the electricity can only flow in one direction.
**Documenting swatches with actuators**
Specify the Voltage supply: is it 9V, 12V, 5V? And also specify the resistance of the materials and substrate (e.g. 12.7 Ohms, 2.6 Ohms, other?). It give you an idea of the operational mode of each element. And then depending on what you use you either make sure there is less or more resistance, give bigger power supply, etcetera. It gives you a good starting point to work from.
## Lecture by Liza Stark
Whe we wear things:
* express - e.g. crying dress by kobakant
* communicate
* protect - e.g. climate dress Diffus Design
Second skins, and ways to collect data about our bodies and interactions with the environment. E.g. Embodisuit by Rachel Freire.
**Considerations for wearable projects**
1. Application: proof of concept or runway or everyday product?
1. Durability: does it need to be worn daily or for a single event? Demo or shown on a mannequin?
1. Wearability: how should it feel? What types of textile are appropriate for the garment? Do you need a base layer to accomodate electric needs?
1. Washability: does it need to be washable, does the board need to be removable?
1. Power: how long does it need to be powered for? Does the power source need to be reachable?
1. Circuit layout: where will you place the IC, the power source? Should the components be visible or invisible?
All these things need to be in conversation with one another.
###Actuators
Component of a circuit that moves or controls another part based on input. E.g. LEDs, motors, speakers and much more. They can create visual, sonic or motion state changes.
Visual approaches are LEDs, Neopixels, fibreoptics and thermochromic ink.
*LEDs*
Light emitting diode. Consider the viewing angle, it can be wide or narrow, leading to less or more diffuse lights. Throughole or SD. Try to get diffused LEDs. For RGB LEDs, check whether it's a common anode or a common cathode.
Making LEDs sewable, like the Lilypad LEDs that already have a current limiting resistor on it. It can really reduce the brightness of the LEDs. DIY it to control it more.
Projects:
* Climate Dress by Diffus Design
* Hussein Chalayan in collaboration with Swarovski (and the Katy Perry dress after)
* Currente Calamo by subTela
If you connect LEDs to Arduino, you need a 220 ohm resistor for each one, because otherwise it burns at the 5V. Connect no more than 3 LEDs in parallel to an Arduino pin.
*Neopixels*
Adafruits programmable LED. They are RGB LEDs with a driver chip embedded, which makes them addressable so can each be controlled differently with only VCC, GND and a signal pin. They don't light up without a microcontroller programmed to light them up. You can cut them to the desired length. Handyyyyy. You probably want to attach some kind of breakout to connect it.
Flora is a nice board to use neopixels with because it has a lot of GND pins and big sewing holes.
Power them with 5V, lower will result in dimmer lights. Amperage at 60mA per neopixel at full brightness. 40mA also works.
(# of neopixels x 40mA) divided by 1000 is min amount of Amps needed. You can use a power bank or something. Add an 470 ohm reistor between the VCC and the signal pin on Arduino. Also add a 1000uF capacitor across the VCC and GND lines to protect the neopixels from power surges.
E.g. Machine Sewn Neopixel Strips by Kobakant.
*Fibre Optics*
Light goes in on one end, down the other. Consists of *core* and *cladding* which together determine if you can see it visibly from the sides.
Consider LED intensity and the type of fibre. High watt Leds and LEDs with narrow viewing angle work well because they produce a concentrated light source. Neopixels work too.
End emitting fibres, like the lamps, or side emitting fibres, such as EL wire.
How to connect the fibre to the LED with very close contact. Drill hole + heat shrink by Forest Mimms III. Tubing and glue by Maurin Donneaud, or 3D printed enclosures + Glue by Elaine St. Blaine. Try to get the fibre as close as possible to the LED and prevent the light from escaping outside the fibre optics.
Note: Heat can melt the fibres! Hot glue and crazy glue are not great. E6000 glue is a good adhesive.
* Fiber optic dress by Zac posen
* The Burning Bolero by Kobakant
But all too often you either see the woman or the dress, but not both.
**Thermochromic ink**
Thermochromic inks or pigments change state in the presence of heat. Once they reach a temperature, some inks become colorless. Pigments can be mixed with different substrates like paint, glue, polymorph etc. etc.
Sparkfun Thermochromic pigment turns clear at 33 degrees celcius. Can also get them from SFCX in Europe! This one turns clear at 27 degrees celcius. These guys also have pigments and screen printing inks for textiles and paper.
You can also use the eat of your body or a hair dryer to effect this state change. Or with an Arduino by amping up the current so it starts to generate heat.
We bought a bag of this green pigment at the only shop we could find locally that could deliver in a few days: https://www.hackerstore.nl/Artikel/1003
*Pigment variables*
* Pigment: takes more time/energy for it to change state
* Base: what will you mix it with? Will affect transformation time. Screen print base takes longer than white acrylic. White acrylic and blue pigment is the most immediate. You can also combine colors. E.g. red thermochromic pigment with yellow paint = orange.
* Substrate: the material you apply it to. E.g. tracing paper reacts more quickly than canvas.
* Application: how you apply it: paint brush, silk screen? The latter will be more even.
* Ambient temperature: if you show a project in the hot sun, you might have a hard time making state changes.
* Conductive materials: what is their resistance? IF it's too high you won't get a state change, if it's too low you create shorts. E.g. copper tape has no resistance so won't genereate heat. Stainless steel works well, conductive yarns work well. Do not use conductive paints.
*Circuitry for heating element*
We need a lot of energy! So we need a high-load power circuit, which we create with an N-channel MOSFET transistor, that we can use the generate the 500ma to 1A we need to create the transformation. An arduino pin can never supply that kind of current. You use the arduino to control a gate to an external power source.
* Check out Moving Target by Maggie Orth. Animated textiles!
* Wifi Tapestry by Richard Vijgen
* Chromosonic by EJTech
* Codachromics by Lyndsay Caulder
Time is a very important factor here, these transformations are not immediate.
###Sounds
**Fabric speakers!**
* Substrate
* Magnet
* Amp
* Sewn coil
What is sound? Vibrating air particles. It causes the hair in your ears to vibrate which the hair reads as sound.
What is a speaker?
A coil that creates electrical signals, wrapped around a coil. A cone that vibrates a membrane and makes sound. The coil makes the magnet vibrate. Speakers use electromagnetism to work. When you run current through a wire it generates a small magnetic field. You can amplify that field by coiling the wire, so you get a stronger field.
So you create a temporary electromagnet by applying current, and it's paired with a static magnet. So you can vary.
*Variables*
* Coil tightness: tigher is louder
* Material: sound waves need to vibrate off the material. Stiffness and thickness affect loudness.
* Magnet size: larger magnet, louder volume. You can combine magnets, but be careful: **neodymium magnets are very strong.**
* Magnet placements: closer to coil = louder
*Making a speaker*
Create a spiral-shaped coil. You need to have access to one end of the coil. Create length by spiraling outward. Keep threads separate though!
*Circuit:*
Use an ATtiny with Tone() or AnalogWrite().
*Amp:*
Create an amp from an audio jack. Greaaaat. I just followed the [tutorial](http://thesoftcircuiteer.net/custom-mono-amp-for-textile-speakers/) provided by Liza Stark.
*DFPlayer Mini:*
Plays audio files from an SD card. OMG YES!
Example:
Sound Embroidery by Claire Williams
###Motion
**Shape memory alloys (SMAs)**
Metals tha tchange shape when they are heated to a certain temperature. The behave like regular metals when cool and return to preset shape when heated.
*Trained*
Has been trained into a shape through a heating process. When heated it goes into the trained shape.
*Untrained*
Contracts 10% of its length when heat is applied. Is straight.
* Material Substrates: lighter weight paper or fabric is best, no jerky movement like the servos etc, but no torque. Paper, cotton silk are great, not polyester because it can get burned.
* Diameter size: the wider diameter 0.008 inch diameter is pretty good, it's pretty strong but doesn't need too much power.
* Length: resistance increases with length.
Examples: GK? Kobakant examples with paper folding, curling and smocking.
*Connections*
You cannot solder directly onto the flexinol because of the oxidation. Use a crip bead, pass wire through crimp bead, and press it with pliers, and then solder the crimp bead.
*Power circuit*
Use the same circuit for heat that we used for thermochromic ink. Use the analogWrite (pin, value 0-255) function. Start with a low duty cycle of 75 and work your way up. More power makes the movement faster, not more dramatic. If you give the material time to breathe and relax, the next reaction will be more dramatic :)
*Datasheet*
Look at the datasheet, assuming a 9V battery. To know resistance and amps etc.
* Luttergill, Kinetic Skorpion Dress by XS labs
* Input Output paper by Jie Qi
* The Culture series by Afroditi Psarra and Dafni Papadopoulou
**Flip dots**
**Vibration motors**
<iframe width="560" height="315" src="https://www.youtube.com/embed/jjNgJFemlC4" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
## 3D Models
<div class="sketchfab-embed-wrapper"><iframe width="640" height="480" src="https://sketchfab.com/models/658c8f8a2f3042c3ad7bdedd83f1c915/embed" frameborder="0" allow="autoplay; fullscreen; vr" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe>
<p style="font-size: 13px; font-weight: normal; margin: 5px; color: #4A4A4A;">
<a href="https://sketchfab.com/models/658c8f8a2f3042c3ad7bdedd83f1c915?utm_medium=embed&utm_source=website&utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Dita&#39;s Gown</a>
by <a href="https://sketchfab.com/francisbitontistudio?utm_medium=embed&utm_source=website&utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Francis Bitonti Studio</a>
on <a href="https://sketchfab.com?utm_medium=embed&utm_source=website&utm_campaign=share-popup" target="_blank" style="font-weight: bold; color: #1CAAD9;">Sketchfab</a>
</p>
</div>
\ No newline at end of file
source diff could not be displayed: it is too large. Options to address this: view the blob.
Last Not Complete Stopped@Line 26524 |Cut Mode| Elapsed: 00:39:55 Reps: 1 ConsoleMvSpeed 120.00 FileEndSpeed 119.5 15:15:43 11-21-2019
File Completed:No Ln:26524 Max: 255.02, 255.02, 2.00 Min: 0.00, 0.00,- 42.00 Offset:no Brks=3 TBCs: 172.837, 139.533, -1446.046 Props: 1.000, 1.000, 1.000
docs/images/wk09_fastening0.jpg

193 KiB

docs/images/wk09_fastening1.jpg

275 KiB

docs/images/wk09_shopbotboss.jpg

212 KiB

docs/images/wk09_woodmold.jpg

135 KiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment