FreeCalypso > hg > ueda-linux
comparison pads2gpcb/decals.c @ 44:bf1be6c97c28
pads2gpcb: fixed conversion of elongated pads
| author | Mychaela Falconia <falcon@ivan.Harhan.ORG> |
|---|---|
| date | Sat, 30 Jan 2016 05:48:04 +0000 |
| parents | 4a50888d09ce |
| children | c977d637f038 |
comparison
equal
deleted
inserted
replaced
| 43:4a50888d09ce | 44:bf1be6c97c28 |
|---|---|
| 224 | 224 |
| 225 static | 225 static |
| 226 convert_pad_to_gpcb(pinidx) | 226 convert_pad_to_gpcb(pinidx) |
| 227 { | 227 { |
| 228 struct footprint_pad *pin = pins_array + pinidx; | 228 struct footprint_pad *pin = pins_array + pinidx; |
| 229 long long_minus_short; | 229 long long_minus_short, delta; |
| 230 | 230 |
| 231 if (!pin->shape.valid) { | 231 if (!pin->shape.valid) { |
| 232 printf("error: no pad shape for pin #%d\n", pinidx + 1); | 232 printf("error: no pad shape for pin #%d\n", pinidx + 1); |
| 233 return(-1); | 233 return(-1); |
| 234 } | 234 } |
| 235 pin->thickness = pin->shape.short_dim; | 235 pin->thickness = pin->shape.short_dim; |
| 236 pin->clearance = CLEARANCE_SETTING; | 236 pin->clearance = CLEARANCE_SETTING; |
| 237 pin->mask = pin->thickness + SOLDERMASK_DELTA; | 237 pin->mask = pin->thickness + SOLDERMASK_DELTA; |
| 238 if (!pin->shape.elongated) { | 238 pin->x2 = pin->x1; |
| 239 pin->x2 = pin->x1; | 239 pin->y2 = pin->y1; |
| 240 pin->y2 = pin->y1; | 240 if (!pin->shape.elongated) |
| 241 return(0); | 241 return(0); |
| 242 } | |
| 243 long_minus_short = pin->shape.long_dim - pin->shape.short_dim; | 242 long_minus_short = pin->shape.long_dim - pin->shape.short_dim; |
| 243 delta = long_minus_short / 2; | |
| 244 switch (pin->shape.angle) { | 244 switch (pin->shape.angle) { |
| 245 case 0: | 245 case 0: |
| 246 pin->x2 = pin->x1 + long_minus_short; | 246 pin->x1 -= delta; |
| 247 pin->y2 = pin->y1; | 247 pin->x2 += delta; |
| 248 return(0); | 248 return(0); |
| 249 case 90: | 249 case 90: |
| 250 pin->x2 = pin->x1; | 250 pin->y1 -= delta; |
| 251 pin->y2 = pin->y1 - long_minus_short; | 251 pin->y2 += delta; |
| 252 return(0); | 252 return(0); |
| 253 } | 253 } |
| 254 return(-1); | 254 return(-1); |
| 255 } | 255 } |
| 256 | 256 |
